{"version":3,"sources":["components/Common/Header/header.module.css","components/Login/logincomponent.module.css","components/FingerScan/fingerprint.module.css","components/FactoryModule/TransferIn/transfercomponent.module.css","components/StoreModule/TransferIn/transferincomponent.module.css","images/Common/Logo.png","components/LKWallet/EmployeeCredit/lkemployeecredit.module.css","components/StoreModule/Dashboard/chartscomponent.module.css","components/Common/Button/button.js","shared/configuration.js","shared/endpointentity.js","services/auth-header.js","shared/API.js","shared/language.js","services/common.js","services/authservice.js","services/pickupservice.js","routes.js","components/Master/User/CreateUser/usercontact.component.js","components/Login/login.component.js","screens/Login/login.screen.js","screens/Dashboard/dashboard.screen.js","screens/BlankPage/blank.screen.js","shared/userrightsconfiguration.js","components/Common/Sidebar/sidebar.js","services/headerservice.js","components/Common/TableActions/tableactions.js","services/storepreqcresponselistservice.js","components/Common/Header/header.js","components/Common/WithHeaderSidebar/WithHeaderSidebar.js","components/Common/Box/box.js","components/Common/Filters/filters.js","services/userservice.js","shared/validator.js","components/Master/User/CreateUser/generalform.component.js","services/factoryservice.js","components/Master/User/CreateUser/userassignment.component.js","components/Master/User/CreateUser/kycform.component.js","components/Master/Store/CreateStore/storecontact.component.js","components/Master/User/CreateUser/userkyc.component.js","components/Master/User/CreateUser/roleassignment.component.js","components/Master/User/CreateUser/userrole.component.js","screens/Master/User/createuser.screen.js","screens/Master/User/userlist.screen.js","services/cityservice.js","components/Master/City/citymaster.component.js","screens/Master/City/citymaster.screen.js","services/stateservice.js","components/Master/State/statemaster.component.js","screens/Master/State/statemaster.screen.js","services/designationservice.js","components/Master/Designation/designationmaster.component.js","screens/Master/Designation/designationmaster.screen.js","services/brandservice.js","components/Master/Brand/brandmaster.component.js","screens/Master/Brand/brandmaster.screen.js","services/sizeservice.js","components/Master/Size/sizemaster.component.js","screens/Master/Size/sizemaster.screen.js","services/kycdoctypeservice.js","components/Master/KYCDocType/kycdoctypemaster.component.js","screens/Master/KYCDocType/kycdoctypemaster.screen.js","services/serviceservice.js","components/Master/Service/servicemaster.component.js","screens/Master/Service/servicemaster.screen.js","services/garmentservice.js","components/Master/Garment/garmentmaster.component.js","screens/Master/Garment/garmentmaster.screen.js","services/garmentcolorservice.js","components/Master/GarmentColor/garmentcolormaster.component.js","screens/Master/GarmentColor/garmentcolormaster.screen.js","services/rewashreasonservice.js","components/Master/RewashReason/rewashreasonmaster.component.js","screens/Master/RewashReason/rewashreasonmaster.screen.js","services/operationinstructionservice.js","components/Master/OperationInstruction/operationinstructmaster.component.js","screens/Master/OperationInstruction/operationinstructmaster.screen.js","services/deliverychargeservice.js","components/Master/DeliveryCharges/deliverychargemaster.component.js","screens/Master/DeliveryCharges/deliverychargemaster.screen.js","services/rewardsservice.js","components/Master/Rewards/rewards.components.js","screens/Master/Rewards/rewards.screen.js","services/packagingchargeservice.js","components/Master/PackagingCharges/packagechargemaster.component.js","screens/Master/PackagingCharges/packagechargemaster.screen.js","services/expensetypeservice.js","components/Master/ExpenseType/expensetypemaster.component.js","screens/Master/ExpenseType/expensetypemaster.screen.js","components/Master/Factory/factorymaster.component.js","screens/Master/Factory/factorymaster.screen.js","components/Master/Factory/AddFactory/general.addfactory.js","components/Master/Factory/AddFactory/contact.addfactory.js","components/Master/Factory/AddFactory/addfactory.component.js","services/customerservice.js","components/Master/Customer/customermaster.component.js","screens/Master/Customer/customermaster.screen.js","components/Master/Customer/AddCustomer/general.addcustomer.js","components/Master/Customer/AddCustomer/addresses.addcustomer.js","components/Master/Customer/AddCustomer/verification.addcustomer.js","services/invoiceservice.js","components/Master/Customer/AddCustomer/addcustomer.component.js","services/storeservice.js","components/Master/Store/CreateStore/generalform.component.js","components/Master/Store/CreateStore/slotform.component.js","components/Master/Store/CreateStore/slotmapping.component.js","components/Master/Store/CreateStore/factorymappingform.component.js","components/Master/Store/CreateStore/factorymapping.component.js","screens/Master/Store/createstore.screen.js","screens/Master/Store/storelist.screen.js","services/roleservice.js","test.js","services/ratecardservice.js","components/RateCard/CreateRateCard/ratecardmaster.component.js","components/RateCard/CreateRateCard/ratecarddetail.component.js","components/RateCard/CreateRateCard/storeassignment.component.js","components/RateCard/CreateRateCard/corporateassignment.component.js","screens/RateCard/createratecard.screen.js","screens/RateCard/ratecardlist.screen.js","services/timecardservice.js","components/TimeCard/CreateTimeCard/timecardmaster.component.js","components/TimeCard/CreateTimeCard/timecarddetail.component.js","components/TimeCard/CreateTimeCard/storeassignment.component.js","components/TimeCard/CreateTimeCard/corporateassignment.component.js","screens/TimeCard/createtimecard.screen.js","screens/TimeCard/timecardlist.screen.js","components/Role/RoleScreenMapping/rolescreenmapping.component.js","screens/Role/RoleScreenMapping/rolescreenmapping.screen.js","services/rolemasterservice.js","components/Role/RoleMaster/rolemaster.component.js","screens/Role/RoleMaster/rolemaster.screen.js","services/corporateservice.js","components/Master/Corporate/corporatemaster.component.js","screens/Master/Corporate/corporatemaster.screen.js","components/Master/Corporate/AddCorporate/general.addcorporate.js","components/Master/Corporate/AddCorporate/contact.addcorporate.js","components/Master/Corporate/AddCorporate/addcorporate.component.js","services/storeinventoryservice.js","components/StoreModule/Inventory/inventory.store.component.js","screens/StoreModule/Inventory/inventory.store.screen.js","services/storeexpenseentryservice.js","components/StoreModule/ExpenseEntry/expenseentry.store.component.js","screens/StoreModule/ExpenseEntry/expenseentry.store.screen.js","services/storegatepasslistservice.js","services/storetransferoutservice.js","components/StoreModule/GatePassList/gatepasslist.store.component.js","screens/StoreModule/GatePassList/gatepasslist.store.screen.js","components/StoreModule/PreQCResponseList/preqcresponselist.store.component.js","screens/StoreModule/PreQCResponseList/preqcresponselist.store.screen.js","components/StoreModule/PreQCResponseList/EditPreQCStore/garment.editpreqcstore.js","components/StoreModule/PreQCResponseList/EditPreQCStore/editpreqcstore.component.js","services/storereadyfordeliverysplitorderservice.js","components/StoreModule/ReadyForDeliveryOrders/readyfordeliverysplitorders.store.component.js","screens/StoreModule/ReadyForDeliveryOrders/readyfordeliverysplitorders.store.screen.js","components/StoreModule/TransferOut/transferout.store.component.js","screens/StoreModule/TransferOut/transferout.store.screen.js","services/storetransferinservice.js","components/StoreModule/TransferIn/transferin.store.component.js","screens/StoreModule/TransferIn/transferin.store.screen.js","services/storedashboardservice.js","components/StoreModule/Dashboard/stats.component.js","components/StoreModule/Dashboard/charts.component.js","components/StoreModule/PreQCResponseList/preqclistfordashboard.js","services/noticeboardservice.js","components/StoreModule/Dashboard/noticeboard.component.js","screens/StoreModule/Dashboard/dashboard.screen.js","services/factorytransferoutservice.js","services/factorygatepasslistservice.js","components/FactoryModule/GatePassList/factoryGatepassList.factory.component.js","screens/FactoryModule/FactoryGatepassList/factorygatepasslist.factory.screen.js","services/factorytransferinservice.js","components/Common/ColorPicker/colorpicker.js","components/FactoryModule/TransferIn/transferin.factory.component.js","screens/FactoryModule/TransferIn/transferin.factory.screen.js","components/FactoryModule/TransferOut/transferout.factory.component.js","screens/FactoryModule/TransferOut/transferout.factory.screen.js","services/factoryinventoryservice.js","components/FactoryModule/Inventory/inventory.factory.component.js","screens/FactoryModule/Inventory/inventory.factory.screen.js","services/factorypre-qc.js","components/FactoryModule/PreQC/preqc.factory.component.js","screens/FactoryModule/PreQC/preqc.factory.screen.js","components/FactoryModule/PreQC/AddPreQCFactory/garment.addpreqcfactory.js","components/FactoryModule/PreQC/AddPreQCFactory/addpreqcfactory.component.js","services/factorypost-qcservice.js","components/FactoryModule/PostQC/postqclist.factory.component.js","screens/FactoryModule/PostQC/postqc.factory.screen.js","components/FactoryModule/PostQC/AddPostQC/garment.addpostqc.factory.component.js","components/FactoryModule/PostQC/AddPostQC/addpostqcfactory.component.js","services/factorydashboardservice.js","components/FactoryModule/Dashboard/stats.component.js","components/FactoryModule/Dashboard/charts.component.js","screens/FactoryModule/Dashboard/dashboard.screen.js","services/discountmasterservice.js","components/DiscountMaster/discountmaster.component.js","screens/DiscountMaster/discountmaster.screen.js","components/DiscountMaster/AddDiscountMaster/discountmaster.component.js","components/DiscountMaster/AddDiscountMaster/discountcode.component.js","components/DiscountMaster/AddDiscountMaster/adddiscountmaster.component.js","services/termsandconditionsservice.js","components/TermsAndConditions/termsAndConditions.component.js","screens/TermsAndConditions/termsAndConditions.screen.js","services/lkpackageconfigurationservice.js","components/LKWallet/PackageConfiguration/packageconfiguration.component.js","screens/LKWallet/PackageConfiguration/packageconfiguration.screen.js","services/lkrefferalbonusconfigurationservice.js","components/LKWallet/RefferalBonusConfiguration/refferalbonusconfiguration.component.js","screens/LKWallet/RefferalBonusConfiguration/refferalbonusconfiguration.screen.js","services/lkcompensationservice.js","components/LKWallet/Compensation/lkcompensation.component.js","screens/LKWallet/Compensation/compensation.screen.js","services/lkemployeecreditservice.js","components/LKWallet/EmployeeCredit/lkemployeecredit.component.js","screens/LKWallet/EmployeeCredit/employeecredit.screen.js","services/lkcustomerbulkdebitservice.js","components/LKWallet/CustomerBulkDebit/customerbulkdebit.component.js","screens/LKWallet/CustomerBulkDebit/customerbulkdebit.screen.js","services/lkcustomerbulkcreditservice.js","components/LKWallet/CustomerBulkCredit/customerbulkcredit.component.js","screens/LKWallet/CustomerBulkCredit/customerbulkcredit.screen.js","services/lkrefundservice.js","components/LKWallet/Refund/lkrefund.component.js","screens/LKWallet/Refund/refund.screen.js","services/lkadvancepaymentservice.js","services/PaytmTransService.js","components/LKWallet/AdvancePayment/lkadvancepayment.component.js","screens/LKWallet/AdvancePayment/advancepayment.screen.js","services/faqservice.js","components/Faq/faq.component.js","screens/Faq/faq.screen.js","services/cashcouponmasterservice.js","components/Master/CashCoupon/cashcouponmaster.component.js","screens/Master/CashCoupon/cashcouponmaster.screen.js","components/Master/CashCoupon/AddCashcouponMaster/cashcouponmaster.component.js","components/Master/CashCoupon/AddCashcouponMaster/cashcouponcode.component.js","components/Master/CashCoupon/AddCashcouponMaster/addcashcouponmaster.component.js","components/StoreModule/Order/CreateOrder/addcustomer.component.js","services/createorderservice.js","components/StoreModule/Order/CreateOrder/customerselection.component.js","components/StoreModule/Order/CreateOrder/garmentblock.component.js","components/StoreModule/Order/CreateOrder/garmentselection.component.js","components/StoreModule/Order/CreateOrder/ordersummary.component.js","components/StoreModule/Order/CreateOrder/revieworder.component.js","components/StoreModule/Order/CreateOrder/estimatedorderpdf.component.js","components/StoreModule/Order/CreateOrder/printtag.js","components/StoreModule/Order/CreateOrder/printrewashtag.js","components/StoreModule/Order/CreateOrder/createorder.component.js","screens/StoreModule/Order/CreateOrder/createorder.screen.js","components/StoreModule/Pickup/CreatePickup/pickuplist.component.js","screens/StoreModule/Pickup/CreatePickup/pickuplist.screen.js","components/StoreModule/Pickup/CreatePickup/AddPickup/general.addpickup.js","components/StoreModule/Pickup/CreatePickup/AddPickup/reschedulehistory.addpickup.js","components/StoreModule/Pickup/CreatePickup/AddPickup/addpickup.component.js","services/resortingandpackagingservice.js","components/FactoryModule/ResortingAndPackaging/printstikerprint.js","components/FactoryModule/ResortingAndPackaging/ResortingAndPackaging.component.js","screens/FactoryModule/ResortingAndPackaging/ResortingAndPackaging.screen.js","components/NoticeBoard/noticeboard.component.js","screens/NoticeBoard/noticeboard.screen.js","components/AppsFlyer/appsflyer.component.js","screens/AppsFlyer/appsflyer.screen.js","components/StoreModule/Order/orderlist.component.js","screens/StoreModule/Order/orderlist.screen.js","services/storedeliverylistservice.js","components/StoreModule/DeliveryList/deliverylist.store.component.js","screens/StoreModule/DeliveryList/deliverylist.store.screen.js","services/bannerservice.js","components/Banner/banner.component.js","screens/Banner/banner.screen.js","components/StoreModule/Invoice/storeinvoicepdf.component.js","screens/RedirectInvalidReqestMessage.js","components/StoreModule/Invoice/invoice.component.js","screens/StoreModule/Invoice/invoice.screen.js","services/packageconfigurationservice.js","components/LKWallet/BuyPackage/buypackage.component.js","screens/LKWallet/BuyPackage/buypackage.screen.js","services/fingerscanservice.js","components/FingerScan/mantraHelper.js","components/FingerScan/collectFingerPrint.component.js","screens/FingerScan/collectFingerPrint.screen.js","services/attendanceservice.js","components/Attendance/attendance.component.js","screens/Attendance/attendance.screen.js","components/Attendance/attendanceReport.component.js","screens/Attendance/attendanceReport.screen.js","components/FactoryModule/ResortingAndPackagingList/ResortingAndPackagingList.component.js","screens/FactoryModule/ResortingAndPackagingList/ResortingAndPackaging.screen.js","services/cashcollectionservice.js","components/CashCollection/cashcollection.component.js","screens/CashCollection/cashcollection.screen.js","services/bulkuploadcouponservice.js","components/BulkUploadCouponCodes/bulkuploadcouponcodes.component.js","screens/BulkUploadCouponCodes/bulkuploadcouponcodes.screen.js","services/standardratecardservice.js","components/StandardRateCard/standardratecard.component.js","screens/StandardRateCard/standardratecard.screen.js","services/serviceiconsservice.js","components/Master/ServiceIcons/serviceIconsmaster.component.js","screens/Master/ServiceIncons/serviceicons.screen.js","components/StoreModule/PartialOrderReceived/partialorderreceivedlist.component.js","screens/StoreModule/PartialOrderReceived/partialorder.screen.js","components/Master/Customer/AddCustomer/emailverification.component.js","services/paytmedcmachineconfigservice.js","components/PaytmEDCMachineConfig/paytmedcmachineconfig.component.js","screens/PaytmEDCMachineConfig/paytmedcmachineconfig.screen.js","services/holidayservice.js","components/HoliDay/holidayconfiguration.component.js","screens/HoliDay/holidayconfiguration.screen.js","services/orderhistoryservice.js","components/StoreModule/OrderHistory/orderhistory.component.js","screens/StoreModule/OrderHistory/orderhistory.store.screen.js","services/lkcustombulknotificationservice.js","components/LKWallet/CustomBulkNotification/custombulknotification.comonent.js","screens/LKWallet/CustomBulkNotification/customebulknotification.screen.js","services/storeinpendingservice.js","components/StoreModule/StorInPending/storeinpending.store.component.js","screens/StoreModule/StoreInPending/storeinpending.store.screen.js","services/factoryinpendingservice.js","components/FactoryModule/FactoryInPending/factoryinpending.factory.component.js","screens/FactoryModule/FactoryInPending/factoryinpending.factory.screen.js","services/garmentprocessingservice.js","components/FactoryModule/Processing/garmentprocessing.factory.component.js","screens/FactoryModule/Processing/garmentprocessing.factory.screen.js","services/processinglistservice.js","components/FactoryModule/Processing/processinglist.factory.component.js","screens/FactoryModule/Processing/processinglist.factory.screen.js","services/deliverydashboard.service.js","components/StoreModule/DeliveryDashboard/deliverydashboard.component.js","screens/StoreModule/DeliveryDashboard/deliverydashboard.screen.js","services/pendingcashsummaryservice.js","components/StoreModule/Audit/pendingcashsummary.component.js","screens/StoreModule/Audit/pendingcashsummary.screen.js","components/StoreModule/Audit/ordersummary.component.js","screens/StoreModule/Audit/ordersummary.screen.js","components/FactoryModule/Inventory/inventorysummary.component.js","screens/FactoryModule/Inventory/inventorysumarry.screen.js","services/outofcoverageservice.js","components/StoreModule/Audit/outofcoverage.component.js","screens/StoreModule/Audit/outofcoverage.screen.js","components/StoreModule/Audit/pickupdeliveryassignment.Component.js","screens/StoreModule/Audit/pickupdeliveryassignment.screen.js","components/StoreModule/Audit/dailyordersummary.component.js","screens/StoreModule/Audit/dailyordersummary.screen.js","components/StoreModule/Audit/dailypickupsummary.component.js","screens/StoreModule/Audit/dailypickupsummary.screen.js","components/StoreModule/Audit/monthlypickupsummary.component.js","screens/StoreModule/Audit/monthlypickupsummary.screen.js","components/StoreModule/Audit/monthlyordersummary.component.js","screens/StoreModule/Audit/monthlyordersummary.screen.js","services/dailysheetservice.js","components/FactoryModule/DailySheet/express.factory.component.js","screens/FactoryModule/DailySheet/express.factory.screen.js","components/FactoryModule/DailySheet/rewash.factory.component.js","screens/FactoryModule/DailySheet/rewash.factory.screen.js","components/FactoryModule/DailySheet/fivestar.factory.component.js","screens/FactoryModule/DailySheet/fivestar.factory.screen.js","components/StoreModule/ViewOnMap/viewonmap.component.js","screens/StoreModule/ViewOnMap/viewonmap.screen.js","Navigation.js","App.js","serviceWorker.js","index.js","components/Attendance/attendance.module.css","components/Common/Styles/master.module.css","images/Order/info.svg","components/Common/Button/button.module.css","components/StoreModule/OrderHistory/orderhistory.module.css","components/StoreModule/Order/CreateOrder/createorder.module.css","components/FactoryModule/Inventory/factoryinventory.module.css","components/Common/Sidebar/sidebar.module.css","images/MapMarker/shoppurple.svg","images/Dashboard/bag.svg","images/Dashboard/wallet.svg","components/StoreModule/Inventory/storeinventorycomponent.module.css","components/StoreModule/Invoice/invoicecomponent.module.css","screens/Login/loginscreen.module.css","images/Sidebar/orders.svg","components/StoreModule/Dashboard/statscomponent.module.css","components/FactoryModule/Dashboard/statscomponent.module.css","components/LKWallet/BuyPackage/buypackage.module.css","images/Billing/wallet.svg","images/Sidebar/inventory.svg","components/Common/TableActions/tableactions.module.css","components/Common/Filters/filters.module.css","screens/Master/User/createuserscreen.module.css","screens/RateCard/createratecardscreen.module.css","screens/TimeCard/createtimecardscreen.module.css","images/Dashboard/tshirt.svg","components/FactoryModule/Dashboard/chartscomponent.module.css","components/DiscountMaster/AddDiscountMaster/addfdiscountcomponent.module.css","components/Master/CashCoupon/AddCashcouponMaster/addcashcouponcomponent.module.css","images/Sidebar/dashboard.svg","images/Sidebar/truck.svg","images/Sidebar/master.svg","images/Sidebar/attendance.svg","images/Sidebar/setting.svg","components/Common/Box/box.module.css","screens/Master/User/userlistscreen.module.css","screens/RateCard/ratecardlistscreen.module.css","screens/TimeCard/timecardlistscreen.module.css","components/DiscountMaster/discountmaster.module.css","components/LKWallet/PackageConfiguration/packageconfigurationcomponent.module.css","components/LKWallet/RefferalBonusConfiguration/refferalbonusconfigurationcomponent.module.css","components/LKWallet/Compensation/lkcompensation.module.css","components/Master/CashCoupon/cashcouponmaster.module.css","components/Master/User/CreateUser/createuser.module.css","components/StoreModule/Order/CreateOrder/printtag.module.css","components/Master/Store/CreateStore/createstore.module.css","images/Login/LoginHero.png","images/Common/Picture1logo.png","images/Sidebar/bikedelivery.svg","images/Sidebar/customers.svg","images/Sidebar/billing.svg","images/Sidebar/toggler.svg","images/Sidebar/audit.svg","images/Common/Dashboardwhitebg.png","images/Header/seperator.svg","images/Header/notification.svg","images/Common/info.svg","images/Dashboard/truck.svg","images/Order/accordianHandler.svg","images/Order/placeholder.png","images/Billing/print.svg","components/FactoryModule/ResortingAndPackaging/resortingandpackaging.module.css","components/FactoryModule/DailySheet/dailysheet.module.css"],"names":["module","exports","Button","this","props","variant","className","restProps","applyClass","styles","BtnDarkPurple","BtnTransparentGreyOutline","BtnPurple","BtnPurpleOutline","BtnWhitePink","BtnPink","type","BtnLink","joinedClasses","join","React","Component","Configuration","BASE_WEBAPI_URL","BASE_FILES_URL","BASE_REPORTBUILDER_URL","DROPDOWN_URL","LAUNDRETKART_AUTH","ITEM_URL","ITEM_STORE_URL","ITEM_FACTORY_URL","ITEM_LKWALLET_URL","PAYTM_URL","FINGERPRINT_URL","CDA_URL","CP_URL","PHONEPE_URL","BANNER_MASTER_IMAGE_URL","STANDARD_RATE_CARD_AND_GARMENT_MASTER_IMAGE_URL","SERVICE_MASTER_IMAGE_URL","SERVICE_ICONS_MASTER_IMAGE_URL","FAQ_URL","ELEARNING_URL","RETURN_REFUND_URL","TERMS_CONDITIONS_URL","sss","localStorage","getItem","REPORTS_URL","undefined","includes","JSON","parse","token","EndPointEntity","WEATHER_FORECAST","AUTH_USER","GET_SCREENRIGHTBY_USER","GET_SPLIT_NUMBERTOTRANS_OUT","GET_GARMENTDATAIL_BY_SPLIT_ORDER_NUMBER","GENERATE_GATE_PASS","GET_SYSTEME_NUMS","GET_PACKING_DETAILS_BY_SPLIT_ORDER","GENERATE_STICKERS","GET_STIKER_INFO_TO_PRINT","GET_STORE_DASHBOARD","GET_STORE_DASHBOARD_DELIVERY_REQUEST_DATA","GET_STORE_DASHBOARD_SPLIT_ORDER_DATA","GET_STORE_DASHBOARD_PICKUP_DATA","GET_FACTORY_DASHBOARD_ORDER_PROCESS","GET_FACTORY_DASHBOARD","PAYTM_EDC_MACHINE_INFO","PAYTM_EDC_TRANS_REQUEST","PAYTM_EDC_TRANS_STATUS","PAYTM_EDC_TRANS_INFO","GET_USER_INFO","CHANGE_PASSWORD","REFRESH_TOKEN","UPDATE_SCANNED_TAGS_STATUS_FOR_READY_FOR_TRANS_OUT","RESORTING_AND_PACKAGING_LIST","GET_PRE_QC_PANDING_LIST","GET_STORE_PRINT_GATEPASS","GET_EMPLOYEETYPE","GET_REPORTINGTO","GET_DESIGNATION","GET_KYCDOCUMENT_TYPE","GET_USERMASTER","GET_USERDETAILSBYID","GET_DELETEUSERBYID","GET_PAYMENT_TYPE","GET_IRON_PERSON_TYPE","GET_STAY_AT","GET_STORE","GET_FACTORY_LIST","GET_FACTORY_LIST_BY_SERVICEID","SAVE_UPDATE_USERMASTER","SAVE_UPDATE_USERKYC_DETAIL","GET_DELETE_USERKYC","GET_USER_KYC_DETAILS","GET_KYC_DETAILS_BY_USERID","GET_USER_ROLE_DETAILS","GET_ROLE_DETAILS_BY_ROLEID","GET_DELETE_USERROLE","SAVE_UPDATE_USERROLE_DETAIL","GET_ROLE","GET_FACTORIES_LIST","GET_STORE_OPERATION_TYPE","GET_STORE_TYPE","GET_PROMOCODE_TYPE","GET_STORE_MODEL","GET_STORE_OPERATED_BY","GET_STORE_OPERATING_TYPE","GET_STORE_STATUS","GET_STORE_SERVICE_TYPE","GET_DELIVERY_TYPE","GET_ZONE","GET_SERVICES_OFFERED","SAVE_UPDATE_STOREMASTER","GET_STORE_MASTER","GET_STOREDETAIL_BY_STOREID","GET_WEEKDAYS_LIST","SAVE_UPDATE_STORE_SLOT","GET_STORE_SLOTS","GET_STORE_SLOTS_BY_STOREIDS","DELETE_STORE_SLOTS_By_SLOTID","GET_GARMENT_DETAIL_BY_TAGNO","ORDER_GARMENT_QC_REQUEST","GET_QC_HISTORY_BY_TAGNO","GET_PRE_QC_REQUEST_LIST","GET_LAST_QCINFO_BY_TAG_NO","STORE_GET_PRE_QC_REQUEST_LIST","FACTORY_GET_PRE_QC_REQUEST_LIST","GETSTATELIST","GET_GARMENTUOM_LIST","GET_EXPENSE_TYPE","CITY_MASTER","ADDUPDATE_CITY_MASTER","REMOVE_CITY_MASTER","GET_CITY_DETAIL_BY_ID","STATE_MASTER","ADDUPDATE_STATE_MASTER","DELETE_STATE_BY_ID","GET_STATE_DETAIL_BY_ID","DESIGNATION_MASTER","ADDUPDATE_DESIGNATION_MASTER","DELETE_DESIGNATION_BY_ID","GET_SLOT_DETAILS_BY_SLOTID","GET_DESIGNATION_DETAIL_BY_ID","SIZE_MASTER","ADDUPDATE_SIZE_MASTER","DELETE_SIZE_BY_ID","GET_SIZE_DETAIL_BY_ID","BRAND_MASTER","ADDUPDATE_BRAND_MASTER","DELETE_BRAND_BY_ID","GET_BRAND_DETAIL_BY_ID","KYCDOC_MASTER","ADDUPDATE_KYCDOC_MASTER","DELETE_KYCDOC_BY_ID","GET_KYCDOC_DETAIL_BY_ID","SERVICE_MASTER","ADDUPDATE_SERVICE_MASTER","DELETE_SERVICE_BY_ID","GET_SERVICE_DETAIL_BY_ID","COLOR_MASTER","ADDUPDATE_COLOR_MASTER","DELETE_COLOR_BY_ID","GET_COLOR_DETAIL_BY_ID","GARMENT_MASTER","ADDUPDATE_GARMENT_MASTER","DELETE_GARMENT_BY_ID","GET_GARMENT_DETAIL_BY_ID","REWASH_REASON_MASTER","ADDUPDATE_REASON_MASTER","DELETE_REASON_MASTER_BY_ID","GET_REASON_DETAIL_BY_ID","OPERATION_INSTRUCT_MASTER","ADDUPDATE_OPERINST_MASTER","DELETE_OPERINST_BY_ID","GET_OPERINST_DETAIL_BY_ID","PACKCHARGE_MASTER","ADDUPDATE_PACKCHARGE_MASTER","DELETE_PACKCHARGE_BY_ID","GET_PACKCHARGE_DETAIL_BY_ID","DELIVERYCHARGE_MASTER","ADDUPDATE_DELIVERYCHARGE_MASTER","DELETE_DELIVERYCHARGE_BY_ID","GET_DELIVERYCHARGE_DETAIL_BY_ID","GET_REWARDS_CONFIG_MASTER","SAVEUPDATE_REWARDS_CONFIG_MASTER","GET_REWARDS_CONFIG_FROM_REWARDSID","GET_HOLIDAY_MASTER","GET_HOLIDAY_DETAIL_BY_HOLIDAYID","SAVE_UPDATE_HOLIDAY_MASTER","DELETE_HOLIDAY_BY_HOLIDAYID","GET_HOLIDAYLIST_BY_STOREID","EXPENSETYPE_MASTER","ADDUPDATE_EXPENSETYPE_MASTER","DELETE_EXPENSETYPE_BY_ID","GET_EXPENSETYPE_DETAIL_BY_ID","GET_DELIVERY_TYPES","GET_WEEKDAYS","GET_FACTORY_STATUS_LIST","GET_CITIES_BY_STATE","GET_ZONES","ADD_UPDATE_FACTORY","GET_ALL_FACTORIES","GET_FACTORY","DELETE_FACTORY","GET_ALL_CUSTOMERS","GET_CUSTOMER_TYPES","GET_BILLING_CYCLES","GET_GENDERS","GET_CORPORATE","GET_CUSTOMER","ADD_UPDATE_CUSTOMER","GET_CUSTOMER_ADDRESSES","ADD_UPDATE_ADDRESS","DELETE_ADDRESS","SEND_OTP","VERIFY_OTP","GET_ADDRESS_TYPES","GET_ALL_ROLES","ADDUPDATE_ROLE_MASTER","DELETE_ROLE_BY_ID","GET_ROLE_DETAIL_BY_ID","GET_ROLES_DROPDOWN","GET_SCREEN_RIGHTS","UPDATE_SCREEN_ROLES","ADD_UPDATE_CORPORATE","GET_ALL_CORPORATES","GET_CORPORATE_FROM_ID","DELETE_CORPORATE","GET_RATECARD_MASTER","SAVE_UPDATE_RATECARD_MASTER","SAVE_UPDATE_ASSIGN_RATECARD_TO_STORE","SAVE_UPDATE_ASSIGN_RATECARD_TO_CORPORATE","GET_RATECARD_DETAIL_BY_RATECARDID","GET_RATECARD_ASSIGN_TO_STORE","GET_RATECARD_ASSIGN_TO_CORPORATE","UPLOAD_SERVICE_RATE_CARD","GET_RATECARD_DETAILS","GET_TIMECARD_DETAILS","GET_TIMECARD_MASTER","SAVE_UPDATE_TIMECARD_MASTER","SAVE_UPDATE_ASSIGN_TIMECARD_TO_STORE","SAVE_UPDATE_ASSIGN_TIMECARD_TO_CORPORATE","GET_TIMECARD_DETAIL_BY_TIMECARDID","GET_TIMECARD_ASSIGN_TO_STORE","GET_TIMECARD_ASSIGN_TO_CORPORATE","UPLOAD_SERVICE_TIME_CARD","GET_DISCOUNT_MASTER","SAVE_UPDATE_DISCOUNT_MASTER","GET_DISCOUNT_DETAIL_BY_DISCOUNTID","GET_DISCOUNT_CODE_BY_DISCOUNTID","GENERATE_DISCOUNT_CODES_BY_DISCOUNTID","GET_MODE","GET_USAGE_TYPE","GET_DISCOUNT_TYPE","AUTHORIZE_DISCOUNT_BY_ID","BLOCK_DISCOUNT_BY_ID","GET_CASH_COUPON_MASTER","SAVE_UPDATE_CASH_COUPON_MASTER","GET_CASHCOUPON_DETAIL_BY_COUPONID","GET_CASHCOUPON_CODE_BY_COUPONID","GENERATE_CASHCOUPON_CODES_BY_COUPONID","GET_COUPON_TYPE","GET_OPERATION_INSTRUCT_LIST","GET_REWASH_REASON_LIST","GET_PICKUP_STATUS_LIST","GET_STORE_TIMESLOT_LIST","GET_PICKUP_CANCEL_REASON_LIST","GET_USER_LIST_BY_STORE_ID","GET_PICKUP_REQUEST","GET_PICKUP_REQUEST_BY_PICKUPID","SAVE_UPDATE_PICKUP_REQUEST","RESCHEDULE_PICKUP_REQUEST","CANCEL_PICKUP_REQUEST","REASSIGN_PICKUP_REQUEST","GET_PICKUP_REQUEST_HISTORY","PICKUP_VALIDATE_PROMOCODE","GET_SEARCH_CUSTOMER","GET_SAMPLE_TIME_CARD","GET_STICKERINFO_BY_STICKER_NO","TRANSFER_INTO_STORE","GET_ASSIGNED_STORE_FACTORY_BY_USERID","TRANSFER_IN_FACTORY","GET_STORE_OUT_GARMENTS_BY_ID","FACTORY_MISSING_GARMENT","FACTORY_MANAGE_POST_QC","GET_POST_QC_LIST","GET_LAST_POSTQC_INFO","GET_STICKERS_TO_TRANSFER_OUT","FACTORY_GARMENT_INVENTORY","FACTORY_GENERATE_GATE_PASS","GET_FACTORY_PRINT_GATEPASS","GET_ADDON_SERVICES","GET_GARMENTS_WITH_SERVICES","GET_RATE_CARD_FOR_STORE","GET_RATE_CARD_FOR_CORPORATE","GET_BRAND_DROPDOWN","GET_SIZE_DROPDOWN","GET_EFFECTIVE_PACKAGING_CHARGES","GET_EFFECTIVE_DELIVERY_CHARGES","CREATE_ORDER","GET_TIME_CARD_FOR_STORE","GET_TIME_CARD_FOR_CORPORATE","GET_ORDER_LIST","GET_ORDER_BY_ID","UPDATE_ORDER","CANCEL_ORDER","GENERATE_TAGS","VALIDATE_PROMOCODE","GET_STORE_ESTIMATED_ORDER","GET_LAST_QC_INFO","GET_LKPACKAGE_MASTER","SAVE_UPDATE_LKPACKAGE_MASTER","DELETE_LKPACKAGE_BY_ID","GET_LKPACKAGE_DETAIL_BY_ID","BUY_PACKAGE","GET_LKREFERRAL_PROGRAM_MASTER","SAVE_UPDATE_LKREFERRAL_PROGRAM","DELETE_LKREFERRAL_PROGRAM_BY_ID","GET_REFERRAL_PROGRAM_DETAIL_BY_ID","GET_LKCOMPENSATION_MASTER","ADD_LKCOMPENSATION","GET_LKCOMPENSATION_DETAIL_BY_ID","GET_ORDERIDS_COMPENSATION_BY_CUSTID","GET_GARMENT_INVENTORY_AT_STORE","EXPENSE_ENTRY_LIST","ADD_UPDATE_EXPENSE","DELETE_EXPENSE","NOTICE_BOARD_LIST","ADD_UPDATE_NOTICE","DELETE_NOTICE","GET_DELIVERY_REQUESTS","GET_USER_LIST_BY_STORE","REASSIGN_DELIVERY_REQUEST","RESCHEDULE_DELIVERY_REQUEST","CANCEL_DELIVERY_REQUEST","GE_DELIVERIES_BY_ID","GET_EMPLOYEE_CREDIT_MASTER","GET_EMPLOYEE_CRDIT_FILE_REPORT","UPLOAD_EMPLOYEE_CREDIT","GET_TAG_TO_PRINT","GET_REWASh_TAG_TO_PRINT","GET_CUSTOMER_BULK_CREDIT_MASTER","UPLOAD_CUSTOMER_BULK_CREDIT","GET_CUSTOMER__BULK_CRDIT_FILE_REPORT","GET_CUSTOMER_BULK_DEBIT_MASTER","UPLOAD_CUSTOMER_BULK_DEBIT","GET_CUSTOMER__BULK_DEBIT_FILE_REPORT","GET_BULK_COUPON_MAP_UPLOAD_MASTER","GET_COUPON_BULK_UPLOAD_FILE_REPORT","UPLOAD_BULK_COUPON_CUSTMAPPING","GET_BANNER_MASTER","SAVE_UPDATE_BANNER_MASTER","DELETE_BANNER_MASTER_BY_ID","GET_BANNER_MASTER_BY_ID","SPILT_ORDER_READY_FOR_INVOICE","GET_INVOICE_DATA_FROM_SPLITORDER","SAVE_UPDATE_INVOICE_INFO","SAVE_UPDATE_INVOICE_PAYMENT_INFO","ADD_ADVANCE_PAYMENT","GET_STORE_INVOICE_PRINT","GET_INVOICE_DATA","SETTLE_LESS_PAID","GET_GATE_PASS_LIST","GET_REFUND_MASTER","ADD_REFUND","GET_REFUND_DETAIL_BY_ID","GET_ADVANCE_PAYMENT_MASTER","GET_WALLET_BALANCE","GET_USER_BY_STORE_FACTORY","SAVE_UPDATE_FINGERPRINT","GET_FINGER_PRINT_DATA","GET_ATTENDANCE_DATA","GET_STORE_FICTORY_ISOTEMP","ADD_UPDATE_PUNCHIN","GET_ATTENDANCE_REPORT","GET_ESTIMATED_PDF_BY_ORDER_ID","UPDARE_PASSWORD","GET_PROFORMA_INVOICE_BY_ORDER_ID","GET_CASH_COLLECTION_DATA","SUBMIT_CASH_COLLECTION_DATA","GET_ACCOUNT_EXEC_LIST_BY_STOREID","GET_SERVICE_ICON_MASTER","GET_SERVICE_ICON_DETAILS_BY_ICON_ID","DELETE_SERVICE_ICONS_BY_ID","SAVE_UPDATE_SERVICE_ICON_MASTER","GET_STORE_ID_BY_CUST_ADDRESS","GET_FACTORY_GATE_PASS_LIST","GET_STATIC_SERVICE_RATE_SAMPLE","DELETE_STATIC_SERVICE_RATE_BY_ID","SAVE_UPDATE_STATIC_SERVICE_RATE_SAMPLE","SPLIT_ORDER_MARK_DELIVERY_AS_DELIVERED","GET_PARTIAL_ORDER_RECEIVED_LIST","CUSTOMER_EMAIL_VERIFICATION","GET_FACTORY_OFFERED_SERVICES_BY_FACTORY_ID","GET_STORE_FACTORY_MAPPING","GET_STORE_FACTORY_MAPPING_BY_ID","SAVE_UPDATE_STORE_FACTORY_MAPPING","DELETE_STORE_FACTORY_MAPPING_BY_ID","GET_PAYTM_EDC_MASTER","GET_PAYTM_EDC_MASTER_BY_ID","ADD_UPDATE_PAYTM_EDC_MACHINE_INFO","DELETE_PAYTM_EDC_MACHINE_MASTER","GET_ACTIVE_USER_LIST","QR_CODE_GENERATOR","QR_CODE_STATUS_CHECK","CHECK_PAYMENT_TRANSACTION_STATUS","QR_CODE_STATUS_UPDATE","SETTLE_INVOICE_WITHOUT_PAYMENT","GET_ORDER_HISTORY","GET_ORDERLISTBYMOBILENO","GET_ORDER_HISTORY_FROM_SPLITEORDERNUMBER","GET_ORDER_HISTORY_LOADMOREDATA","GET_BULK_NOTIFICATION_MASTER","GET_BULK_PUSH_NOTIFICATION_FILE_REPORT","UPLOAD_BULK_PUSH_NOTIFICATION","GET_STORE_IN_PENDING_LIST","GET_FACTORY_IN_PENDING_LIST","GET_FACTORY_GARMENT_PROCESS_DETAIL","FACTORY_SET_PROCESS_GARMENT","GET_PROCESS_LIST","TERMS_AND_CONDITIONS_LIST","ADD_UPDATE_TERMS_AND_CONDITIONS","DELETE_TERMS_AND_CONDITIONS","GET_DELIVERY_MANAGEMENT","GET_DELIVERYDATA_FROM_SPLITORDERSTATUS","UPDATE_DELIVERY_DATE","GET_FAQ_LIST","SAVE_UPDATE_FAQ","DELETE_FAQ","UPDATE_INVOICE_REMARK","GET_PENDING_CASH_SUMMARY","GET_PENDING_CASH_SUMMARY_DETAIL","ESCALATEDELIVERY","GET_ORDER_SUMMARY_REPORT","GET_INVENTORY_SUMMARY","GET_ROLEACCESS_DROPDOWN","GET_OUT_OF_COVERAGE","GET_PICKUP_DELIVERY_ASSIGNMENT_LIST","CDA_ADD_ALT_NUMBER_FOR_CUSTOMER","CDA_SEND_RESEND_CUSTOMEROTP","DYNAMICQR_CODE_GENERATOR","GET_PAYMENT_LOG_DATA","INSERT_PAYMENT_PROCESSLOG","GET_TODAY_PICKUP_LIST","GET_TODAY_DELIVERY_LIST","RESEND_DELIVERY_OTP","DAILY_ORDER_SUMMARY","DAILY_PICKUP_SUMMARY","MONTHLY_PICKUP_SUMMARY","UPDATE_VERIFIED_OTP_DATETIME","MONTHLY_ORDER_SUMMARY","UPDATE_PICKUP_STOREID","GETAPPFLYERDATA","CHECK_PHONEPE_STATUS","SAVE_UPDATE_PHONEPE_STATUS","GET_DAILY_EXPRESSORDER_DATA","GET_DAILY_REWASHORDER_DATA","GET_DAILY_FIVESTARORDER_DATA","ADD_URGENT_ORDER","IsAuthenticated","currentUser","axios","require","API","url","endpoints","entity","name","replace","matches","toUpperCase","createBasicCRUDEndpoints","arrayOfEntity","forEach","createEntity","bind","auth_header","Authorization","authHeader","resourceURL","postAllWithoutToken","params","config","post","getAll","get","headers","getByIdWithoutToken","id","getAllPost","toCreate","rest","sendHeaders","getOne","create","update","toUpdate","put","patch","toPatch","delete","deleteById","getDropdown","getById","uploadFile","postData","getOneCoupon","CouponID","getOneDiscount","DiscountID","allLabels","ENGLISH","SELECT_SERVICE","SELECT_FACTORY","SPLIT_ORDER","CUSTOMER_NAME","ORDER_DATE","TOTAL_GARMENTS","SPLIT_ORDER_NUMBER","TAG_NUMBER","GARMENT_NAME","GARMENT_DEFECT","ADD_ON_SERVICES","GATE_PASS_NUMBER","STORE_NAME","FACTORY_NAME","STORE_GARMENTS_OUT","TOTAL_SPLIT_NUMBER","GATE_PASS_DATE","STIKER_NUMBER","PLEASESCAN_ADD_STICKER","ENTER_SCAN_STICKER","CUSTOMER_CONTACT","DELIVERY_TYPE","SPLIT_ORDER_NO","GATE_PASS_NO","DELIVERY_DATE","GARMENTS_IN_PROCESS","PACKED_GARMENTS","PACKING_MATERIAL","STICKER_STATUS","SPLIT_ORDER_STATUS","GARMENTS_PACKED_INFORMATION","USER_EXPENSE_ENTRY","USER_NAME","EXPENSE_DATE","AMOUNT","REMARKS","ARE_YOU_SURE","ADD_EXPENSE","APPLY","SELECT_EXPENSE_TYPE","PLEASE_ENTER_AMOUNT","ENTER_AMOUNT","ENTER_REMARKS","GARMENTS_PENDING_TO_SEND_TO_FACTORY","ORDERS_PENDING_TO_SEND_TO_FACTORY","SPILT_ORDERS_RECEIVED_FROM_FACTORY","PENDING_FOR_NO_OF_DAYS","STORE_GARMENT_INVENTORY","GARMENTS_RECEIVED_FROM_FACTORY","FACTORY_TRANSFER_IN","SELECT_STORE","GET_MISSING_GARMENTS","TAGS_FROM_STORES","SCANNING","TAGS_TO_THE_FACTORY","MISSING_GARMENTS","SCAN_COMPLETE","SEARCH_HERE","RESORTING_AND_PACKAGING","ORDER_NUMBER","SRORE_NAME","NO_OF_GARMENTS","GARMENT_LEVEL_INFO","SELECTED_PENDING_GARMENT","PREVIOUSLY_GARMENTS_PACKED_IN","PENDING_GARMENTS_TO_BE_PACKED_IN","GENERATE_STICKER","PRINT_GENERATE_STICKER","SR_NO","GARMENTS_PACKED","PENDING_GARMENTS","PACKING_GARMENTS","FACTORY_TRANSFER_OUT","FACTORY_GATE_PASS_NUMBER","STORE_ADDRESS","CREATED_BY","S_NO","SPLIT_ORDER_ID","NUMBER_OF_GARMENTS","PACKED","ORDER_LOT_SIZE","PREVIOUSLY_SENT","SENDING_TODAY","PENDING","BAG","HANGER","BLANKET","SHOE","CARPET","CURTAIN","OTHERS","STICKER_NO","SPLLIT_ORDER_NO","PACKING_MATERIAL_NAME","PRE_QC_RESPONSE_LIST","SELECT_QC_STATUS","TAG","CONTACT","QC_REQUEST","TIME","QC_REASON","REMARK","QC_PENDING_FROM","QC_STATUS","ENTER_SCAN_TAG_NUMBER","GARMENT_HISTORY","GARMENT_INFORMATION","GARMENT_STATUS","GATE_PASS","BRAND","COLOR","ADD_ON_SERVICE","SPECIAL_INSTRUCTION","LATEST_QC_DETAILS","IMAGES","REASON","SELECT_REASON","COMMUNICATION_HISTORY","SELECT_SCAN_GARMENT","GARMENT_FOR_QC","SCANNED_ITEM","ADDON_SERVICE","CONTACT_NO","STICKER_INFORMATION","DOWNLOAD_GATE_PASS","STORE_GATE_PASS_NUMBER","FACTORY_ADDRESS","PICKUP_DATE","REFFERAL_PROGRAM_NAME","REFFERAL_BONUS_AMOUNT","REFEREE_BONUS_AMOUNT","YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM","UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA","UNABLE_TO_SUBMIT_THE_DATA","ADD_REFFERAL_BONUS_CONFIGURATION","VIEW_REFFERAL_BONUS_CONFIGURATION","EDIT_REFFERAL_BONUS_CONFIGURATION","PLEASE_ENTER_REFFERAL_PROGRAM_NAME","ENTER_REFFERAL_PROGRAM_NAME","PLEASE_ENTER_REFERRAL_BONUS_AMOUNT","ENTER_REFERRAL_BONUS_AMOUNT","PLEASE_ENTER_REFEREE_BONUS_AMOUNT","ENTER_REFEREE_BONUS_AMOUNT","ENTER_BONUS_AMOUNT_VALIDITY_DAYS","ARE_YOU_SURE_YOU_WANT_TO_CREATE_THIS_PROGRAM_AS_PREVIOUS_PROGRAMS_WILL_GET_DEACTIVATED","FILE_NAME","TOTAL_RECORDS","SUCCEEDED","DOWNLOAD","FAILED","UPLOADED_BY","UPLOADED_ON","UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA","UNABLE_TO_UPLOAD_THE_FILE","DOWNLOAD_FORMAT","UPLOAD_FILE","ADD_EMPLOYEE_CREDITS","VIEW_EMPLOYEE_CREDITS","EDIT_EMPLOYEE_CREDITS","UPLOAD_EMPLOYEE_CREDIT_CONFIGURATION_FILE","ADD_CUSTOMER_BULK_CREDIT","VIEW_CUSTOMER_BULK_CREDIT","EDIT_CUSTOMER_BULK_CREDIT","UPLOAD_CUSTOMER_BULK_CREDIT_CONFIGURATION_FILE","UNABLE_TO_GET_LIST_OF_CUSTOMER_BULK_CREDIT_DATA","ADD_CUSTOMER_BULK_DEBIT","VIEW_CUSTOMER_BULK_DEBIT","EDIT_CUSTOMER_BULK_DEBIT","UPLOAD_CUSTOMER_BULK_DEBIT_CONFIGURATION_FILE","UNABLE_TO_GET_LIST_OF_CUSTOMER_BULK_DEBIT_DATA","ADD_BULK_UPLOAD_COUPON_CODES","VIEW_BULK_UPLOAD_COUPON_CODES","EDIT_BULK_UPLOAD_COUPON_CODES","UPLOAD_BULK_UPLOAD_COUPON_CODES_CONFIGURATION_FILE","UNABLE_TO_GET_LIST_OF_BULK_UPLOAD_COUPON_CODES_DATA","PLEASE_SELECT_FILE","CLICK_TO_UPLOAD","UPLOAD","UNABLE_TO_LOAD_PACKAGES","UNABLE_TO_GET_LIST_OF_CUSTOMERS","TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED","UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN","UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM","PACKAGE_PURCHASED_SUCCESSFULLY","UNABLE_TO_BUY_PACKAGE","BUY","PLEASE_SELECT_CUSTOMER","SEARCH_CUSTOMER","MONEY_TYPE","ADDED_BY","ADDED_ON","UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA","ADVANCE_COLLECTED_SUCCESSFULLY","UNABLE_TO_ADD_AMOUNT_TO_LKWALLET","VALID_FROM","VALID_TO","UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA","UNABLE_TO_ADD_THE_DATA","COMPENSATION_CONFIGURATION","ADD_COMPENSATION_CONFIGURATION","VIEW_COMPENSATION_CONFIGURATION","EDIT_COMPENSATION_CONFIGURATION","VALID_FROM_AND_TO_DATE","PLEASE_SELECT_VALID_FROM_AND_TO_DATE","PLEASE_ENTER_REMARK","ENTER_REMARK","UNABLE_TO_GET_LIST_OF_REFUND_DATA","UNABLE_TO_ADD_REFUND_DATA","VIEW_REFUND","DATA_SUCCESSFULLY_SUBMITTED","UNABLE_TO_SUBMIT_TAG_DATA","UNABLE_TO_LOAD_TAG_DATA","UNABLE_TO_GET_TAG_DATA","PLEASE_ENTER_TAG_NO","FACTORY_POST_QC","PLEASE_SCAN_ADD_TAG_NUMBER","SELECT_STATUS","PLEASE_ENTER_REMARKS","UNABLE_TO_LOAD_PRE_QC_RESPONSES","FACTORY_PRE_QC","ADD_GARMENT_FOR_QC","DATA_IS_SUCCESSFULLY_SAVED","GARMENT_SHOULD_BE_IN_FACTORY_TO_BE_ADDED_FOR_QC","UNABLE_TO_GET_GARMENT_DETAILS","GET_GARMENT_HISTORY","PLEASE_SELECT_REASON","UNABLE_TO_GET_CORPORATE_DATA","GARMENTS_AT_QC","GARMENTS_IN_POST_QC","UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA","GARMENT_INVENTORY_AT_FACTORY","DASHBOARD","CUSTOMERS","MANAGE_CUSTOMERS","PACKAGE_CONFIGURATION","REFERRAL_BONUS_CONFIGURATION","EMPLOYEE_CREDITS","MISSING","DAMAGE","CUSTOMER_BULK_CREDIT","CUSTOMER_BULK_DEBIT","ADVANCE_PAYMENTS","COMPENSATION","REFUND","MASTER","STORE","FACTORY","CORPORATE","CITY","STATE","DESIGNATION","GARMENT_BRAND","GARMENT_SIZE","KYC_DOCUMENT_TYPE","SERVICE","GARMENT","REWASH_REASON","OPERATION_INSTRUCTION","EXPENSE_TYPE","ORDERS","PICKUPS","MANAGE_ORDERS","READY_FOR_DELIVERY_OR_INVOICE","DELIVERIES","TRANSFER_IN_OUT","TRANSFER_OUT","GATE_PASS_LIST","TRANSFER_IN","PRE_QC_RESPONSES","USER_EXPENSES","INVENTORY","SETTINGS","AUTHENTICATION","USERS","ROLES","ROLE_OPERATIONS","CONFIGURATION","TIME_CARD","RATE_CARD","DISCOUNT","CASH_COUPON","UPLOAD_CUSTOMER_TO_COUPON_MAPPING","PACKAGING_CHARGES","DELIVERY_CHARGES","REWARDS_CONFIG","BANNER","NOTICE_BOARD","FINGER_SCAN","COLLECT_FINGERPRINTS","QC_RESPONSES","PRE_QC","POST_QC","TODAYS_HIGHLIGHTS","ORDER_VS_ORDER_AMOUNT","INVOICE_VS_INVOICE_AMOUNT","STORE_INVENTORY","OTHER_STATASTICS","PROCESSED","SOILED","AMOUNT_DUE_FOR_COLLECTION","ORDERS_READY_FOR_INVOICE","DELIVERY_PERSON","WALK_IN","PENDING_TO_TRANSFER_OUT_TO_FACTORY","NO_OF_ORDERS","PENDING_PICKUPS","DATE","ORDERS_DUE_FOR_DELIVERY","FIRST_NAME","LAST_NAME","GENDER","EMAIL","PHONE","TYPE","BILLING_CYCLE","ACTIONS","VIEW","EDIT","DELETE","SEARCH","ADD_CUSTOMER","ADD","CUSTOMER","WALLET_CASH","WALLET_BONUS","GENERAL","GENERAL_CUSTOMER_INFORMATION","ADDRESS","CUSTOMER_ADDRESSES","VERIFICATION","VERIFY_PHONE_AND_EMAIL","PLEASE","SELECT","ENTER","VALID","PHONE_NUMBER","DATE_OF_BIRTH","ANNIVERSARY_DATE","REFERRAL_CODE","CUSTOMER_TYPE","GSTIN","ACTIVE","STATUS","YES","NO","CANCEL","SUBMIT","ID","PINCODE","ADRESSES_OF","HOME","OFFICE","OTHER","LONGITUDE","LATITUDE","IS_DEFAULT","PLEASE_ENTER_FIRST_NAME","ENTER_FIRST_NAME","PLEASE_ENTER_LAST_NAME","ENTER_LAST_NAME","PLEASE_ENTER_EMAIL","PLEASE_ENTER_VALID_EMAIL","ENTER_EMAIL","PLEASE_ENTER_PHONE_NUMBER","PLEASE_ENTER_VALID_PHONE_NUMBER","ENTER_PHONE_NUMBER","PLEASE_SELECT_GENDER","SELECT_DATE","ENTER_REFERRAL_CODE","PLEASE_SELECT_CUSTOMER_TYPE","SELECT_CUSTOMER_TYPE","SELECT_CORPORATE","PLEASE_SELECT_BILLING_CYCLE","SELECT_BILLING_CYCLE","ENTER_VALID_GSTIN","ENTER_GSTIN","PLEASE_SELECT_STATUS","PLEASE_SELECT_WALKIN","ADD_ADDRESS","VIEW_ADDRESS","EDIT_ADDRESS","PLEASE_SELECT_ADDRESS_TYPE","SELECT_TYPE","ENTER_LONGITUDE","ENTER_LATITUDE","PLEASE_SELECT_STATE","SELECT_STATE","PLEASE_SELECT_CITY","SELECT_CITY","PLEASE_ENTER_PINCODE","ENTER_PINCODE","HOUSE_NO","PLEASE_ENTER_HOUSE_NO","ENTER_HOUSE_NO","LANDMARK","ENTER_LANDMARK","HOW_TO_REACH","ENTER_HOW_TO_REACH","PLEASE_ENTER_ADDRESS","ENTER_ADDRESS","UPDATE","PLEASE_ENTER_OTP","ENTER_OTP","VERIFY","DIDNT_RECIEVED_ANYTHIG","RESEND_OTP","NOT_VERIFIED","VERIFY_PHONE_NUMBER","VERIFIED","PACKAGE_NAME","PACKAGE_AMOUNT","BONUS_AMOUNT","BONUS_VALIDITY","TITLE","DESCRIPTION","ADD_PACKAGE_CONFIGURATION","DELETE_SELECTED","VIEW_PACKAGE_CONFIGURATION","EDIT_PACKAGE_CONFIGURATION","PLEASE_ENTER_PACKAGE_NAME","ENTER_PACKAGE_NAME","PLEASE_ENTER_PACKAGE_AMOUNT","ENTER_PACKAGE_AMOUNT","PLEASE_ENTER_BONUS_AMOUNT","ENTER_BONUS_AMOUNT","BONUS_AMOUNT_VALIDITY_DAYS","PLEASE_ENTER_BONUS_AMOUNT_VALIDITY_DAYS","ENTER_BONUS_VALIDITY_DAYS","DESCRIPTION_TITLE","ENTER_DESCRIPTION_TITLE","PLEASE_ENTER_DESCRIPTION_TITLE","PLEASE_ENTER_DESCRIPTION","ENTER_DESCRIPTION","PICKUP_ID","PROMOCODE","ASSIGNED_USER_NAME","ORDER","REASSIGN","ADD_PICKUP","REASSIGN_PICKUP_EXECUTIVE","PICKUP_EXECUTIVE","PLEASE_SELECT_ANY_PICKUP_EXECUTIVE","SELECT_PICKUP_EXECUTIVE","PICKUP","HISTORY","GENERAL_PICKUP_INFORMATION","HISTORY_OF_RESCHEDULED_PICKUPS","PICKUP_STATUS","SELECT_PICKUP_STATUS","PLEASE_SELECT_PICKUP_DATE","PICKUP_TIMESLOT","PLEASE_SELECT_TIMESLOT","SELECT_TIMESLOT","SELECT_ADDRESS","PLEASE_SELECT_DELIVERY_TYPE","SELECT_DELIVERY_TYPE","ENTER_NO_OF_GARMENTS","ENTER_PROMOCODE","SERVICES","PLEASE_SELECT_SERVICES","SELECT_SERVICES","DELIVERY_TIMESLOT","CANCELLATION_REASON","SELECT_OPERATION_INSTRUCTION","RESCHEDULED_PICKUP_HISTORY","ON_DEMAND_WALK_IN","GARMENTS","PRINT_TAGS","CANCEL_ORDER_BY_ADMIN","CANCEL_REASON","PLEASE_ENTER_REASON","ENTER_REASON_TO_CANCEL_THE_ORDER","CUSTOMER_DETAILS","NAME","TYPE_OF_SERVICE","PICKUP_REQUEST","TYPE_OF_CUSTOMER","WALLET_CREDIT","FILTER","ORDER_SUMMARY","DETAILS","QTY","RATES","FEES","SUBTOTAL","TAXES_AND_CHARGES","PROMO_DISCOUNT","SGST","CGST","IGST","TOTAL","ORDER_REMARKS","REVIEW_ORDER","MEDIUM","REQUIRED","WEIGHT","SELECT_ADD_ON_SERVICES","DARNING_SIZE","SMALL","LARGE","DYING_COLORS","SIZE","PRICE","NOTES","ONLY_3_IMAGES_ARE_ALLOWED","LOGISTICS_INSTRUCTION","ON_DEMAND_DELIVERY","REPRINT_TAGS","REPRINT_ESTIMATED_ORDER","REWASH_REQUESTED_BY","PLACE_ORDER","COLLECT_ADVANCE_PAYMENT","CONFIRM_ORDER","TAG_IN_GARMENTS","CREATE_REWASH_ORDER","PAYMENT_METHOD","COLLECT","PROCESSING","INVOICE_NUMBER","GENERATE","SETTLE","READY_FOR_DELIVERY_ORDERS","HIDE_FILTERS","SHOW_FILTERS","PLEASE_SELECT_FROM_DATE","FROM_DATE","PLEASE_SELECT_TO_DATE","TO_DATE","ENTER_SPLIT_ORDER_NUMBER","PROFORMA_INVOICE_NUMBER","PROFORMA_INVOICE_DATE","INVOICE_DATE","INVOICE","ORDER_TYPE","PICKUP_BY","ADJUSTED_LK_BONUS_AMOUNT","PROFORMA_INVOICE","TOTAL_AMOUNT","ADD_ON_SERVICE_CHARGES","ADHOC_CHARGES","PAIDLESS_AMOUNT","ADJUSTED_AMOUNT","AMOUNT_TO_COLLECT","ADD_REMARKS","UPDATE_PROFORMA_INVOICE","CREATE_PROFORMA_INVOICE","USE_LK_WALLET","GENERATE_TAX_INVOICE","DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET","SETTLE_LESS_PAID_INVOICE","SLOT","ASSIGNED_TO","RESCHEDULE","DELIVERY_LIST","REASSIGN_DELIVERY","PLEASE_SELECT_ASSIGNEE","SELECT_ASSIGNEE","DELIVERY_ID","RESCHEDULE_DELIVERY","CANCEL_DELIVERY","PLEASE_SELECT_DELIVERY_DATE","PLEASE_ENTER_CANCEL_REASON","ENTER_CANCEL_REASON","PLEASE_SELECT_EXPENSE_TYPE","PLEASE_SELECT_EXPENSE_DATE","PLEASE_SELECT_QC_STATUS","VIEW_ON_MAP","OVERDUE_ORDERS","GARMENT_COUNTS","ORDER_COUNTS","TOTAL_PENDING_GARMENTS_ORDERS","TODAYS_DUE","TICKETS_COUNTS","ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE","THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE","AMOUNT_IS_REQUIRED","AMOUNT_SHOULD_BE_GREATER_THAN_0","IS_LAUNDROKART_EMPLOYEE","IS_WALK_IN","REWASH_ORDER","PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9","PLEASE_ENTER_ONLY_ALPHABETS","MISSING_TAG_NOS","UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY","UNABLE_TO_GET_PENDING_PICKUPS","UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY","UNABLE_TO_GET_DATA_FOR_DASHBOARD","UNABLE_TO_GET_DATA_FOR_TIMESLOT","CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER","DELIVERY_REASSIGNED_SUCCESSFULLY","UNABLE_TO_REASSIGN_DELIVERY_REQUEST","DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED","DELIVERY_RESCHEDULED_SUCCESSFULLY","UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST","REQUEST_CANCELLED_SUCCESSFULLY","UNABLE_TO_CANCEL_DELIVERY_REQUEST","UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA","EXPENSE_DELETED_SUCCESSFULLY","UNABLE_TO_DELETE_EXPENSE","EXPENSE_ADDED_SUCCESSFULLY","EXPENSE_UPDATED_SUCCESSFULLY","UNABLE_TO_SUBMIT_DATA","UNABLE_TO_GET_LIST_OF_EXPENSES","UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA","UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA","UNABLE_TO_GET_SPLIT_ORDER_DETAILS","INVOICE_GENERATED_SUCCESSFULLY","UNABLE_TO_GENERATE_INVOICE","INVOICE_DATA_SUBMITTED_SUCCESSFULLY","UNABLE_TO_SUBMIT_INVOICE_DATA","INVOICE_SETTLED_SUCCESSFULLY","UNABLE_TO_SETTLE_INVOICE","UNABLE_TO_GET_LIST_OF_ORDERS","UNABLE_TO_GENERATE_ESTIMATED_ORDER","UNABLE_TO_GET_LIST_OF_SERVICES","UNABLE_TO_GET_STORE_DATA","UNABLE_TO_GET_PICKUP_DATA","TAGS_GENERATED_SUCCESSFULLY","UNABLE_TO_GENERATE_TAGS","UNABLE_TO_GET_ORDER_INFORMATION","UNABLE_TO_GET_TIME_CARD","UNABLE_TO_LOAD_ADD_ON_SERVICES","UNABLE_TO_GET_PACKAGING_CHARGES","UNABLE_TO_GET_DELIVERY_CHARGES","UNABLE_TO_GET_LIST_OF_GARMENTS","UNABLE_TO_GET_RATES","ORDER_SUCCESSFULLY_CREATED","UNABLE_TO_CREATE_THE_ORDER","PLEASE_ENTER_THE_PROMOCODE","PROMOCODE_APPLIED_SUCCESSFULLY","PROMOCODE_IS_INVALID","UNABLE_TO_VALIDATE_PROMOCODE","ORDER_SUCCESSFULLY_UPDATED","UNABLE_TO_UPDATE_THE_ORDER","ORDER_SUCCESSFULLY_CANCELLED","UNABLE_TO_CANCEL_ORDER","UNABLE_TO_GET_LIST_OF_PICKUP_DATA","UNABLE_TO_GET_LIST_OF_USER_DATA","UNABLE_TO_REASSIGN_THE_PICKUP","UNABLE_TO_GET_DATA_FOR_HISTORY","UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES","UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS","UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA","UNABLE_TO_GET_SERVICES_DATA","UNABLE_TO_GET_LIST_OF_REASONS_DATA","UNABLE_TO_GET_DATA_FOR_CUSTOMER","UNABLE_TO_GET_CUSTOMER_ADDRESSES","UNABLE_TO_GET_DATA","PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE","PICKUP_IS_UPDATED","PICKUP_IS_SCHEDULED","PICKUP_IS_RESCHEDULED_SUCCESSFULLY","UNABLE_TO_RESCHEDULE_THE_PICKUP","PICKUP_IS_CANCELLED_SUCCESSFULLY","UNABLE_TO_CANCEL_PICKUP","SELECTED_DATE_IS_HOLIDAY","UNABLE_TO_GET_PRE_QC_RESPONSE_LIST","QC_RESPONSE_SUBMITTED_SUCCESSFULLY","UNABLE_TO_SUBMIT_QC_RESPONSE","UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA","UNABLE_TO_SUBMIT_STICKER_DATA","UNABLE_TO_GET_STICKER_DATA","PLEASE_ENTER_STICKER_ID","UNABLE_TO_GET_LIST_OF_SERVICE_DATA","UNABLE_TO_GET_SPLIT_ORDER_NUMBERS","UNABLE_TO_GET_LIST_OF_FACTORY_DATA","HINDI","BLAZER","CUSTOMER_IS_SUCCESSFULLY_REGISTERED","DATA_IS_SUCCESSFULLY_RETRIEVED","DATA_IS_SUCCESSFULLY_DELETED","KANNADA","TELUGU","TAMIL","currentLang","Object","keys","currentLangLabels","englishLabels","labels","engKeys","langKeys","Common","filter","el","indexOf","setToken","response","data","setItem","stringify","endpoint","enumName","myApi","itemArray","param","GetSystemEnums","then","catch","err","handleError","console","log","message","Promise","resolve","refreshToken","res","split","ids","rendomNumber","Math","floor","random","count","length","toString","padStart","charAt","strstatusCode","status","statusCode","AuthService","username","password","payLoad","postdata","shouldWait","common","getAssignStoreFactoryByUserId","userId","idParams","GetScreenRightsByUser","Error","error","removeItem","window","location","href","mobileNo","newPassword","oldPassword","PickupService","pickupStatusListAPI","getPickupStatusList","getOpInstructAPI","opInstruct","getOpInstructList","storeid","timeslot","idParam","getTimeSlotList","deliveryTypeAPI","deliveryTypes","getDeliveryTypeList","reasonListAPI","reasons","getCancelReasonsList","servicesAPI","services","getServices","searchStr","GetSearchCustomer","getCustomerData","getAddressAPI","addresses","getCustomerAddresses","daysApi","days","getDaysBasedOnServices","pickupID","historyApi","history","getPickupRequestHistory","reassignAPI","reassignedPickup","getReassignPickups","userAPI","users","getUserListBasedOnStore","GetHolidaylistByStoreID","retriveHolidaylist","promocodeAPI","promocode","validateDisPromocode","allPickupAPI","pickups","getPickup","addUpdateAPI","returnVal","addUpdatePickupRequest","GetPickupRequestByPickupID","getPickUpDetailsByID","requestReschedulePickup","requestCancelPickup","getStoreByCustomerAddressID","storeids","getSlotListByStoreIDS","GetTodayPickipList","ROUTES","STORE_TRANSFER_IN","OUT_OF_COVERAGE","PICKUP_DELIVERY_ASSIGNMENT","APPSFLYER","EXPRESS_URGENT","REWASH","FIVE_STARE","map","drawingManager","selectedShape","jwt","Option","Select","Login","handlePressEnterUserName","e","setState","validateStatus","userName","target","value","usernameValidateStatus","handlePressEnterPassword","passwordValidateStatus","handlePressMobile","mobileNoValidateStatus","handleSelect","event1","event","parseInt","slice","branchArray","state","branchTypes","x","branchID","branchType","selectedBranch","selectedBranchName","branchName","selectedBranchType","validation","getTimeSlot","pickupService","timeSlot","push","SPLASH","handleClick","oldUserName","toLowerCase","title","notification","description","getAssignStoreFactory","authservice","RemoteRequest","nextBtnLoading","MakeRemoteAuthRequest","items","result","decode","unique_name","rights","vmUserScreenRights","vmUserAccessRes","isShow","isSelectVisible","isNextVisible","isValidate","isHideForgotLink","roleNames","handleBack","handleChange","handleOTPBack","isOtpShow","isForgotShow","ForgotPassword","isLoginShow","formRef","createRef","CallLogin","isPasswordUpdateShow","SendOtp","SendOTP","Otp","otp","OtpVerify","InputOtp","handlePressEnterOtp","handleNewPassword","SubmitPassword","isLoginVisible","validationMessage","pushState","document","addEventListener","LoginFormWrapper","WrapLogo","src","LogoImg","alt","BackButton","block","onClick","icon","faArrowLeft","style","color","LoginFromEl","initialValues","remember","onFinish","values","ref","Item","rules","required","onChange","disabled","showSearch","placeholder","filterOption","input","option","children","key","htmlType","LoginButton","shape","loading","ForgetPassswordLink","fontWeight","pattern","prefix","faUser","maxLength","labelCol","span","wrapperCol","validateFirst","hasFeedback","Password","dependencies","getFieldValue","validator","rule","reject","withRouter","Title","Typography","heroImage","LoginHero","heroImageAlt","LoginContainer","align","LoginWrapper","xs","sm","lg","level","loginHeader","LoginFormContainer","Dashboard","width","Text","blankscreen","display","flexDirection","justifySelf","alignItems","justifyContent","marginTop","fontSize","UserRightsConfiguration","KYC_DOC_TYPE","OPER_INSTRUCTION","SERVICE_ICONS","SERVICE_TIME","SERVICE_RATE","DISCOUNT_MASTER","STANDARD_RATE_CARD","HOLIDAY_CONFIGURATION","TERMS_AND_CONDITIONS","ROLE_OPERATION","CASH_COLLECTION","STORE_IN_PENDING","ORDER_LIST","EXPENSE_ENTRY","STORE_MANAGE_QC","STORE_TRANSFER_OUT","STORE_DELIVERY_LIST","PARTIAL_ORDER_RECEIVED","STORE_ORDER_HISTORY","FACTORY_IN","FACTORY_OUT","FACTORY_INVENTORY","RESORT_PACK","FACTORY_GATE_PASS","FACTORY_ORDER_HISTORY","FACTORY_IN_PENDING","INVENTORY_SUMMARY","PACKAGE_CONFIG","REFERRAL_BONUS","ADVANCE_PAYMENT","CUSTOM_BULK_NOTIFICATION_UPLOAD","ATTENDANCE","ATTENDANCE_REPORT","STORE_GATE_PASS_REPORT","GARMENT_SUMMARY_REPORT","QC_REPORT","FACTORY_IN_SUMMARY_REPORT","FACTORY_GATE_PASS_REPORT","STORE_GATE_PASS_SUMMARY_REPORT","CUSTOMER_REPORT","RAF_REPORT","REVENUE_REPORT","ORDER_REPORT","WALLET_TRANSACTION_REPORT","PACKAGE_RECHARGE_REPORT","STORE_TRANSFER_IN_REPORT","STORE_TRANSFER_OUT_REPORT","TRANSACTION_REPORT","ODM_REPORT","PROMOCODE_REPORT","CUSTOMER_VALUE_SUMMARY_REPORT","CASH_COUPON_REPORT","PAYTM_EDC_MACHINE_CONFING","GARMENT_PROCESSING","PROCESSING_LIST","FAQ","AUDIT","PENDING_CASH_SUMMARY","ORDERS_SUMMARY","SubMenu","Menu","Sidebar","userRights","role","filtered","val","screenName","isView","storeOrFactory","menuItems","DashboardIcon","STORE_DASHBOARD","DELIVERY_DASHBORAD","DeliveryIcon","CustomersIcon","submenu","CUSTOMER_MASTER","REFFERAL_BONUS_CONFIGURATION","EMPLOYEE_CREDIT","COMPENSATION_MASTER","LKREFUND","GARMENT_COLOR","MasterIcon","FACTORY_MASTER","CORPORATE_MASTER","KYCDOCTYPE_MASTER","OPERATION_INSTRUCTION_MASTER","EXPENSE_TYPE_MASTER","OrdersIcon","PICKUP_LIST","ORDER_LISTING","STORE_READY_FOR_DELIVERY_ORDERS","TruckIcon","STORE_GATE_PASS_LIST","AttendanceIcon","STORE_PRE_QC_RESPONSE_LIST","STORE_EXPENSE_ENTRY","BillingIcon","InventoryIcon","SettingIcon","USER","ROLE_MASTER","ROLE_SCREEN_MAPPING","TIMECARD","RATECARD","PACKAGE_CHARGES_MASTER","DELIVERY_CHARGES_MASTER","COLLECT_FINGERS","ATTENDANCEREPORT","ORDER_HISTORY","AuditIcon","FACTORY_DASHBOARD","FACTORY_Resorting_Packaging","TRANSFER_OUT_FACTORY","RESORTING_AND_PACKAGING_List","FACTORY_GATE_PASS_LIST","PRE_QC_FACTORY","POST_QC_FACTORY","DAILY_SHEETS","menuIndex","Fragment","MenuToggler","toggleFunction","ToggleIcon","collapsedState","TogglerIconOpen","height","multiple","mode","theme","inlineIndent","selectable","SidebarMenu","menuItemGenerator","menuObj","singleMenu","index","SidebarIcon","to","textAlign","flexWrap","marginLeft","opacity","marginRight","Header","UpdateScannedTagsStatusForReadyForTransOut","AddScanGarmentRecords","storeId","getFactoryAPI","storeID","getPreQcresponseCount","TableActions","isPagination","TableActionWrapper","TableActionWrapperWPagination","TableActionWrapperWoPagination","PreQCResponseList","getResponseList","tagNo","stateListAPI","states","getGarmentDetailByTagNo","pendingFrom","getLastQC","OrderGarmentQCRequest","factory","TagNo","GetQCHistoryByTagNo","getResponseListForDashboard","confirm","Input","Search","Modal","modalLoading","storeName","designation","showAddPopup","showScanGarmentPopup","ScnanGarmentRecords","GarmentNumber","PendingPreQCResponse","IsShowWrongTag","MessageWrongTag","isPleaseScanTagCount","notificationMenu","Logout","ExclamationCircleOutlined","okText","cancelText","onOk","logout","onCancel","headerService","pendingPreQcCount","ChangePassword","handlePopupCancel","reload","formInstance","current","setFieldsValue","ScanGarment","handleInputPassword","handleOldPassword","ResetPassword","ShowScanGarmentModel","columns","dataIndex","render","text","record","size","updated","faTrash","handleScanedGarment","item","garmentRes","trim","armentNumber","SCAN_TAG","TAG_ALREADY_EXISTS","handlePopupClear","handleGarmentNumber","AddScannedgarmentRecords","tagNos","sourceFrom","Message","PLEASE_SCAN_TAG","HeaderService","userInfo","UserFullName","DesignationName","setInterval","listItems","no","branchname","HeaderWrapper","LogoWrapper","Logo","seperatorIcon","Seperator","minWidth","HeaderRightSide","CreateOrderButton","SCAN_GARMENT","isAdd","faPlus","ButtonIcon","PADING_QC_RESPONSE","placement","BellIcon","LANGUAGE","single","ProfileHolder","UserName","FullUserName","UserInitials","n","UserDesignation","FullDesignation","DesignationInitials","passwordIcon","faKey","LOGOUT","LogoutIcon","faPowerOff","visible","footer","destroyOnClose","spinning","gutter","label","maskClosable","layout","onPressEnter","suffix","BarcodeOutlined","marginBottom","SCANNED_GARMENT_LIST","dataSource","CLEAR","Layout","Sider","Content","Footer","WithHeaderSidebar","collapsed","menuToggler","responsiveSidebarToggle","innerWidth","collapsedWidth","collapsible","trigger","padding","backgroundColor","Box","sub","SubBox","Filters","FilterWrapper","show","FilterWrapperOpen","FilterWrapperClosed","UserService","GetEmployeeTypeList","retrieveEmployeeType","GetReportingToList","retrieveReportingTo","GetDesignationList","retrieveDesignation","GetKYCDocumentTypeList","retrieveKYCDocumentType","GetUserMaster","retrieveUserMaster","retrieveUserMasterByfilter","postSave","SaveUpdateUserMaster","saveUpdateUserMaster","userID","GetUserKYCDetails","getUserKYCDetails","SaveUpdateUserKYCDetail","saveUpdateUserKYCDetails","Id","DeleteUserKYCDetailByKYCID","deleteKYCByKYCID","kycID","GetUserKYCDetailByKYCID","getKYCByKYCID","GetUserRoleMappings","getUserRoleDetails","userrolemappingID","GetUserRoleMappingByID","getUserRoleByID","DeleteUserRoleMappingByID","deleteRoleByRoleID","SaveUpdateUserRoleMapping","saveUpdateUserRoleDetails","GetUserDetailByUserID","getUserDetailByUserID","GetPaymentTypeList","retrievePaymentType","GetIronPersonTypeList","retrieveIronPersonType","GetStayAtList","retrieveStayAt","GetStoreList","retrieveStore","GetFactoryList","retrieveFactory","GetRoleList","retrieveRole","RegexLettersDigitsUnderScoreHyphen","RegexLetters","MessageLetters","RegexLettersDigits","RegexDecimalAndRestrictFirstZero","RegexInteger","MessageNumbers","GeneralForm","_isMounted","getEmployeeType","userservice","empType","getReportingTo","rptTo","getDesignation","desType","isEditmode","isViewmode","isMACID","checked","instance","onFinishGeneralForm","isActive","md","xl","format","disabledDate","isSameOrAfter","moment","currentDate","isBefore","allowClear","ButtonContainer","CancelButton","backFunction","nextFunction","coordinates","allPolygonNew","allPolygonOld","newShape","selectedCoordinates","UserContact","initMap","google","maps","Map","getElementById","center","lat","lng","zoom","zoomControl","zoomControlOptions","position","ControlPosition","RIGHT_CENTER","scrollwheel","streetViewControl","mapTypeControl","mapTypeId","myPolygon","Polygon","paths","buildCoordinates","IsChanged","draggable","editable","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","setMap","addListener","getPath","mapEditing","drawing","DrawingManager","markerOptions","drawingControl","drawingControlOptions","TOP_CENTER","drawingModes","polygonOptions","firstPointCoordinates","overlay","OverlayType","MARKER","i","getLength","getAt","toUrlValue","clearSelection","deleteSelectedShape","clearListeners","setEditable","splice","isPolicyVerified","geoFencing","renderCoordinate","cordinates","finalData","a","LatLng","TextArea","rows","Group","FactoryService","getStateList","getCitiesAPI","cities","StateID","getCityListByState","daysListAPI","getOperatingDaysList","statusListAPI","statusList","getFactoryStatusList","zoneListAPI","zones","getZoneList","addUpdateFactory","sortColumn","sortOrder","search","allFactoriesAPI","factories","payload","factoryName","shortName","pageIndex","pageSize","commonSearch","getAllFactories","FactoryID","getFactory","UserAssignment","getOperatingDays","factoryService","operatingDays","getPaymentType","payType","getIronPersonType","ironType","getStayAt","stayAt","getStore","store","stores","operatingDay","openNotificationWithIcon","UserForm","getKYCDocType","kycDoctype","kycDocTypeId","kycDocTypeName","handleFileChange","files","fileName","selectedFiles","handleSaveUpdateKYC","fileCaption_GUID","substr","fileCaption","formData","FormData","fileListProp","file","append","kycid","kycFormValues","kycDocTypeID","fullLoading","showComponent","kycForm","kycValidated","handleSubmit","kycValidator","validateFields","allSettled","responses","kycDocTypeList","currentComponent","uploadedDocName","fileList","bringback","AddKYCForm","UserKYCTitle","backIcon","onBack","AddKYCFormHeader","offset","getValueFromEvent","Array","isArray","accept","customRequest","onSuccess","onError","info","setFileList","originFileObj","UploadOutlined","ActionsRow","KYCButtonContainer","defaultProps","UserKYC","tableLoading","getViewKYCByKYCID","faInfo","faPencilAlt","onConfirm","isEdit","uid","extra","UserKYCHeader","bordered","pagination","RoleAassignment","getRole","roleID","roleName","handleSaveUpdateUserRole","userRoleMappingID","roleAssignmentFormValues","roleAssignmentForm","roleAssignmentFormValidated","roleAssignmentValidator","assignedRoles","roleList","setAssignedRoles","roles","assignedList","UserRole","getViewUserRoleByID","UserRoleTitle","UserRoleHeader","Step","Steps","CreateUser","setStepsDirection","stepsDirection","stepsSize","getUser","vMUserMaster","userContactID","vMUserContact","userAssignmentID","vMUserAssignment","generalFormValues","firstName","middleName","lastName","emailAddress","employeeType","dob","Moment","doj","designationID","reportingTo","macid","contactFormValues","homeAddress","permanentAddress","isPoliceVerified","familyContactNo1","familyContactNo2","familyName1","familyName2","geoFencingName","userAssignmentFormValues","factoryID","ironPersonType","isIronPerson","leavePerMonth","paymentType","workingDays","workingTimeFrom","workingTimeTo","comments","activeStep","onClose","goBack","handleSelectChange","ddlList","ddlListArray","handleMultiSelectChange","handleDateChange","date","handleTimeChange","time","handleCheckbox","generalForm","userContact","userAssignment","generalFormValidated","contactFormValidated","userAssignmentFormValidated","generalValidator","contactValidator","userAssignmentValidator","handleSaveUpdateUserMaster","isAdduser","companyID","EDIT_USER","match","path","VIEW_USER","storeList","factoryList","j","vMUserSaveContact","vMUserSaveAssignment","substring","duration","StepsContentWrap","StepsWrapper","direction","StepsContent","Provider","UserList","handleTableChange","filters","sorter","getUserMasterDetails","roleNotAssigned","roleAssigned","field","order","handleRadioChange","roleNotAssignedValue","roleAssignedValue","roleRadio","handleSearch","CommonSearch","isUpdate","handlePopupOk","showfilterBox","userList","userMasterData","total","showSizeChanger","getUserMasterByfilter","totalRecords","alert","userLists","employeeTypeName","designationName","reportingToName","SearchInput","ADD_USER","ActionContainer","CityService","GetStateList","StateListItems","cityID","DeleteCityByCityID","removeItems","SaveUpdateCityMaster","insertUpdateItems","GetCityMaster","retrieveItems","Master","cityName","stateName","stateID","isEnabled","isVisible","isDelete","fetchItems","selectionType","rowSelection","selectedRowKeys","selectedRows","rowselectedvalue","getCheckboxProps","deleteSelected","resetFields","cityItems","isResponseErrorShow","DropDownStateList","stateListOptions","handlePopupAdd","handleCityName","cityNm","RestoreDDlValue","cityArray","createdBy","createdByName","createdOn","CityScreen","StateService","GetStateDetailByStateID","getStateDetailByStateId","DeleteStateByStateID","SaveUpdateStateMaster","GetStateMaster","stateItems","handleStateName","statenm","StateScreen","DesignationService","DeleteDesignationByDesignationID","SaveUpdateDesignationMaster","GetDesignationMaster","designationItems","handleDesignationName","desigNm","DesignationScreen","BrandService","brandID","DeleteBrandByBrandID","SaveUpdateBrandMaster","GetBrandMaster","brandName","brandItems","handleBrandName","brandNm","BrandScreen","SizeService","sizeID","DeleteSizeBySizeID","SaveUpdateSizeMaster","GetSizeMaster","sizeName","sizeItems","handleSizeName","sizeNm","SizeScreen","KYCDocTypeService","DeleteKYCDocTypeByID","SaveUpdateKYCDocTypeMaster","GetKYCDocTypeMaster","docName","kycItems","handleDocumentName","kycdocNm","KYCDocTypeScreen","ServiceItem","serviceID","DeleteServiceByServiceID","SaveUpdateServiceMaster","GetServiceMaster","GetGarmentUOMList","GarmentUOMListItems","ExcelFile","ReactExport","ExcelSheet","ExcelColumn","DropDownGarmentUOMList","garmentUOMListOptions","ellipsis","showTitle","address","serviceName","isAddOn","showInApp","showInWeb","hsnCode","serviceImage","uom","serviceItems","oldServiceImageFromUrl","str1","str","handleServiceName","serviceNm","handleHSNCodeChange","handlePrefixChange","handleDescriptionChange","details","handleTitleChange","getBase64","reader","FileReader","readAsDataURL","onload","onerror","handlePreview","preview","previewImage","previewVisible","previewTitle","lastIndexOf","isJpgOrPng","isLt3M","infoFileList","handleAppCheckbox","handleWebCheckbox","generateExcel","excelButtonLoading","excelFile","hideElement","filename","beforeUpload","isLt2M","uploadButton","PlusOutlined","lineHeight","faFileExcel","uomitem","valuePropName","listType","maxWidth","maxHeight","ServiceScreen","GarmentService","garmentID","DeleteGarmentByGarmentID","SaveUpdateGarmentMaster","GetGarmentMaster","GetDeliveryTypeList","retrieveStoreDeliveryType","garmentName","garmentDeliveryType","garmentImage","getStoreDeliveryType","storeDeliveryType","isStoreDeliveryType","garmentItems","oldGarmentImageFromUrl","uomList","uomvVal","deliveryTypeList","deliveryTypeVal","handleGarmentName","garmentNm","onChangeSelect","onChangeDeliveryType","uomName","garmentDeliveryTypeName","isLt1M","deliveryType","GarmentScreen","ColorService","colorID","DeleteColorByColorID","SaveUpdateColorMaster","GetColorMaster","colorName","changeColorHex","colorHex","colorItems","handleColorName","colorNm","displayColorPicker","handleClose","handleChangeColor","rgb","hex","r","g","b","readOnly","zIndex","top","right","bottom","left","disableAlpha","onChangeComplete","GarmentColorScreen","RewashReasonService","reasonID","DeleteRewashReasonByRewashReasonID","SaveUpdateRewashReasonMaster","GetRewashReasonMaster","rewashReason","reasonItems","handleReasonName","reasonNm","RewashReasonScreen","OpInstructionService","opeInstID","DeleteOperInstByOperInstID","SaveUpdateOperInstMaster","GetOperInstMaster","opeInstName","instructionItems","handleInstructionName","opeInstNm","OperationInstructionScreen","DeliveryChargeService","deliverychargesID","SaveUpdateDeliveryChargesMaster","GetDeliveryChargesMaster","todaysDate","Date","deliveryChargesID","minBillAmount","fixedCharges","perCharges","maxCharges","effectiveFrom","disableUpdateBtn","deliveryChargeItems","parseFloat","cgst","sgst","igst","handleInputOnChange","evt","isEditbtndisable","RegexDecimalAndRestrict","DeliveryChargeScreen","RewardsService","SaveUpdateRewardsConfigMaster","GetRewardsConfigMaster","getSourceList","CASHBACK_IN_PERCENTAGE","PLATFORM","VALIDITY_IN_DAYS","EFFECTIVE_FROM","rewardsID","cashbackPer","validityInDays","SourceFilter","selected","platForm","PREVIOUS_REWARDS_CAN_NOT_BE_UPDATED","enumDetailID","enumDetailName","rewardsItems","UNABLE_TO_GET_LIST_OF_REWARDS_DATA","PLEASE_SELECT_ATLEAST_ONE_ROW","platform","modifiedBy","modifiedByName","modifiedOn","platformName","ADD_REWARDS_CONFIG","VIEW_REWARDS_CONFIG","EDIT_REWARDS_CONFIG","endOf","RewardsScreen","PackagingChargesService","GetServicesList","serviceListItems","packageChargeID","DeletePackagingChargesByPackagingChargesID","SaveUpdatePackagingChargesMaster","GetPackagingChargesMaster","serviceArray","serviceListOptions","DropDownServiceList","PackageChargeService","packChargeItems","service","maxlength","PackagingChargesScreen","ExpenseTypeService","ExpenseTypeID","expenseTypeID","expenseTypeName","expenseTypeItems","handleExpenseTypeName","expenseNm","ExpenseTypeScreen","page","onShowSizeChange","deliveryTypeName","pathname","VIEW_FACTORY","EDIT_FACTORY","getFactoryList","factoryData","singleData","openingDate","operatingTimeFrom","operatingTimeTo","ADD_FACTORY","FactoryMasterScreen","getDeliveryTypes","getStatusList","disableAll","RangePicker","singleStatus","ContactForm","getCityList","shouldUpdate","prev","next","city","zone","AddFactory","operatingTime","serviceIDs","phoneNumber","phone","factoryExecutive","factoryExecutiveName","factoryManager","factoryManagerName","contactForm","REDIRECT_INVALID_REQUEST","CustomerService","column","allCustomersAPI","customers","customerID","emailID","getAllCustomers","customerTypesAPI","getCustomerTypes","billingCycleAPI","getBillingCycle","genderAPI","getGenders","getCorporate","customerAPI","customer","getCustomer","addUpdateCustomer","addUpdateAddress","sendOTPAPI","sendMobileOTP","verifyMobileOTP","customerAddressIDs","deleteCustomerAddress","getAddressTypes","Emailtoken","isEmailVerified","VerifyCutomerEmail","customerService","REGISTERED_ON","VIEW_CUSTOMER","EDIT_CUSTOMER","getCustomerList","customerData","CustomerMasterScreen","customerType","billingCycle","gender","corporate","getBillingCycles","ALTER_PHONE_NUMBER","cycle","len","Addresses","customerAddressID","customerObj","addressTypeID","currentAddress","popupMode","dummyVar","pincodea","isMapInitialized","selectedAddressTypeValue","mapHolder","searchInput","pinCodeRef","latInput","lonInput","form","InitGoogleMapAutocomplete","myLatLng","autocomplete","places","Autocomplete","strictBounds","componentRestrictions","country","bindTo","markers","set","place","getPlace","geometry","viewport","fitBounds","setCenter","setZoom","latitude","longitude","formatted_address","address_components","pinCode","marker","bounds","LatLngBounds","Size","origin","Point","anchor","Marker","animation","Animation","DROP","geocodePosition","getPosition","union","extend","InitGoogleMapSearch","searchBox","SearchBox","types","setBounds","getBounds","getPlaces","pos","lan","Geocoder","geocode","latLng","geocodeResponseHandler","results","GeocoderStatus","OK","getAddresses","modifiedData","singleObj","handleViewEditAddress","newAddress","addressType","handleDeleteAddress","isPopupRendered","otherAddressType","howToReach","houseNo","landmark","isDefault","addressID","SubHeader","centered","preserve","OTHER_TYPE","PLEASE_ENTER_OTHER_TYPE","ENTER_OTHER_TYPE","handleModalLoad","Verification","isDisableSentOTP","isDisableResendOTP","isDisableVerifyOTP","setMobileOTPSent","VerificationContainer","VerificationWrapper","isMobileVerified","CheckCircleTwoTone","twoToneColor","mobileOTPSent","ResendLink","CloseCircleTwoTone","InvoiceService","splitOrderID","invoiceIds","customerIds","invoiceStatus","getInvoiceDetailFromSplitOrder","saveUpdateProformaInvoice","getPaymentMethods","generateTaxInvoice","invoiceID","markSettled","splitOrderNo","getPDFStoreInvoicePrint","addExcessAmountToWallet","getEDCMachineInfo","PaytmEDCTransRequest","EDCMachineRequest","PaytmEDCTransStatus","EDCMachineStatus","invoiceId","PaytmEDCTransInfo","getWalletBalance","orderID","getPDFLinks","settleinvoicewithoutpayment","UpdateInvoiceRemark","ADDAltNumberForCustomer","SendCustomerOTPForCreateOrder","CheckPaymentDetailLog","InsertPaytmprocesslog","ResendDeliveryOTP","QRCodeStatusUpdate","UpdateVerifiedOTPDateTime","PhonePeStatusUpdate","AddCustomer","invoiceService","isLaundrokartEmployee","emailOTPSent","walletCash","walletBonus","alterNativeMobileNo","altMobileNo","referralCode","gstin","corporateID","annivesaryDate","prevStep","AlterNativeMobileNo","totalCashAmount","totalBonusAmount","VIEW_ADDRESSES","from","onFormFinish","StoreService","GetOfferedServicesByFactoryID","listApi","factoryservicelist","getFactoryMappingList","storeFactoryMappingID","getStoreSlotDetailBySlotID","saveUpdateStoreFactoryMapping","GetStoreOperationTypeList","retrieveStoreOperationType","GetTypeOfStoreList","retrieveStoreModel","GetStoreModelList","retrieveTypeOfStore","GetStoreOperatedByList","retrieveStoreOperatedBy","GetStoreOperatingTypeList","retrieveStoreOperatingType","GetStoreStatusList","retrieveStoreStatus","GetStoreServiceTypeList","retrieveStoreServiceType","retrieveStoreServicesOffered","retrieveStoreOrderedToAssigned","GetZoneList","retrieveZone","GetStoreMaster","retrieveStoreMaster","retrieveStoreMasterByfilter","SaveUpdateStoreMaster","saveUpdateStoreMaster","GetStoreDetailByStoreID","getStoreDetailByStoreID","GetWeekDaysList","retrieveWeekDaysList","SaveUpdateStoreSlot","saveUpdateSlotMappingDetails","slotID","GetStoreSlotDetailBySlotID","GetStoreSlots","getStoreSlotDetails","DeleteStoreSlotBySlotID","deleteStoreSlotBySlotID","retrieveState","GetCityListByStateID","retrieveCity","getStoreOperationType","storeservice","storeOperationType","getStoreModel","storeModel","getTypeOfStore","typeOfStore","getStoreOperatedBy","storeOperatedBy","getStoreOperationgType","storeOperatingType","getStoreStatus","storeStatus","getStoreServiceType","storeServiceType","getStoreServicesOffered","storeServicesOffered","getStoreOrderedToAssigned","storeOrdertoAssigned","StoreContact","getZone","getState","getCity","SlotForm","getWeekDaysList","weekDaysList","weekDayID","weekDayName","handleSaveUpdateSlotMapping","slotFormValues","slotFrom","slotTo","refSlotID","slotForm","slotFormValidated","slotValidator","onFinishSlotForm","slotMappingList","AddSlotForm","SlotMappingTitle","AddSlotFormHeader","SlotMapping","getStoreSlotMappingDetails","getSlotDetailsViewbySlotID","slotformValues","SlotMappingHeader","FactoryMappingForm","offerredServices","handleSaveUpdateStoreFactoryMapping","selectedFactory","offeredServiceIds","selectedofferedServiceIds","factoryForm","factoryFormValues","onFinishFactoryForm","factoryMappinglist","offeredServicesName","FactoryMapping","getStoreFactoryMappingViewByID","getStoreFactoryMappingByID","deleteStoreFactoryMappingByID","offeredServices","CreateStore","vMStoreMaster","storeContactID","vMStoreContact","geoCoOrdinates","operationType","operatedBy","operatingType","operatingFrom","operatingTo","orderAssignedToStore","gstIn","serviceIds","feedbackLink","storeManager","storeExecutive","areaManager","showOnWebsite","showMarkerOnApp","handleSaveUpdatStoreMaster","EDIT_STORE","VIEW_STORE","storeSericeTypeList","storeSeviceOfferedList","k","vMStoreSaveContact","s","StoreList","getStoreMasterDetails","SourceFrom","storeMasterData","shouldRefresh","getStoreMasterByfilter","storeLists","typeOfStoreName","storeModelName","statusName","ADD_STORE","getAllRoles","getRolesList","getRolesRights","PostData","UpdateRoles","getRolesAccessList","Roles","roleService","RoleService","table","change","updateChange","screen","expandedRowRender","record1","defaultChecked","screenID","isCreate","getRoleList","flags","output","l","parentID","matchParent","filteredData","prepare","parentName","getTableData","expandable","RateCardService","GetCorporateList","retrieveCorporate","GetRateCardAssginedToStore","retrieveStoreCardAssignment","GetRateCardAssignedToCorporate","retrieveCorporateCardAssignment","rateCardID","GetRateCardInfoByRateCardID","getRateCardDetails","UploadServiceRateCard","uploadServiceRateCard","SaveUpdateRateCardMaster","saveUpdateRateCardMaster","SaveUpdateAssignRateCardToStores","SaveUpdateAssignRateCardToCorporate","GetRateCardDetailByRateCardID","getRateCardDetailByRateCardID","GetRateCardMaster","retrieveRateCardMaster","RateCardMaster","ratecardservice","RateCardDetail","toggleLoading","rateCardDetailsList","fileBinary","uploading","binaryFile","currentURL","uploadProps","onRemove","newFileList","download","StoreAssignment","rateAssignID","rateCardObj","rateCardStore","currentRateCardStore","getStoreCardAssignment","handleViewEditStoreAssignment","storeassignment","newStoreAssignment","effectiveTo","isAfter","PaytmEDCTerminalGet","closePreviousRateCard","disabledAll","addUpdateRateCardStoreAssignment","isSameOrBefore","CorporateAssignment","rateCardCorporate","currentRateCardCorporate","getCorporateCardAssignment","handleViewEditCorporateAssignment","corporateassignment","newCorporateAssignment","addUpdateRateCardCorporateAssignment","CreateRateCard","getRateCard","rateCardMasterFormValues","rateCardName","isCorporate","rateCardMasterForm","storeRateCardAssignmentForm","corporateRateCardAssignmentForm","rateCardMasterFormValidated","storeRateCardAssignmentFormValidated","corporateRateCardAssignmentFormValidated","handleRateCardMasterSubmit","rateCardMasterValidator","handleSaveUpdatRateCardMaster","handleStoreRateCardAssignmentSubmit","storeRateCardAssignmentValidator","storeRateCardAssignmentFormValues","handleSaveUpdatStoreRateCardAssignmentMaster","handleCorporateRateCardAssignmentSubmit","corporateRateCardAssignmentValidator","corporateRateCardAssignmentFormValues","handleSaveUpdatCorporateRateCardAssignmentMaster","detailsLoading","isAddRatecard","rateAssignStoreID","rateAssignCorporateID","EDIT_RATECARD","VIEW_RATECARD","VIEW_RATESTOREASSIGNMENT","VIEW_RATECORPORATEASSIGNMENT","RateCardList","getRateCardMasterDetails","rateCardList","rateCardMasterData","getRateCardMasterByfilter","rateCardLists","ADD_RATECARD","TimeCardService","GetTimeCardAssginedToStore","GetTimeCardAssignedToCorpoTime","SaveUpdateTimeCardMaster","saveUpdateTimeCardMaster","SaveUpdateAssignTimeCardToStores","SaveUpdateAssignTimeCardToCorporate","GetTimeCardDetailByTimeCardID","getTimeCardDetailByTimeCardID","GetTimeCardMaster","retrieveTimeCardMaster","timeCardID","GetTimeCardInfoByTimeCardID","getTimeCardDetails","UploadServiceTimeCard","uploadServiceTimeCard","TimeCardMaster","timecardservice","TimeCardDetail","timeCardDetailsList","timeAssignID","timeCardObj","timeCardStore","currentTimeCardStore","closePreviousTimeCard","addUpdateTimeCardStoreAssignment","timeCardCorporate","currentTimeCardCorporate","addUpdateTimeCardCorporateAssignment","CreateTimeCard","getTimeCard","timeCardMasterFormValues","timeCardName","timeCardMasterForm","storeTimeCardAssignmentForm","corporateTimeCardAssignmentForm","timeCardMasterFormValidated","storeTimeCardAssignmentFormValidated","corporateTimeCardAssignmentFormValidated","handleTimeCardMasterSubmit","timeCardMasterValidator","handleSaveUpdatTimeCardMaster","handleStoreTimeCardAssignmentSubmit","storeTimeCardAssignmentValidator","storeTimeCardAssignmentFormValues","handleCorporateTimeCardAssignmentSubmit","corporateTimeCardAssignmentValidator","corporateTimeCardAssignmentFormValues","isAddTimecard","timeAssignStoreID","timeAssignCorporateID","EDIT_TIMECARD","VIEW_TIMECARD","VIEW_TIMESTOREASSIGNMENT","VIEW_TIMECORPORATEASSIGNMENT","TimeCardList","getTimeCardMasterDetails","timeCardList","timeCardMasterData","getTimeCardMasterByfilter","timeCardLists","expressTAT","semiExpressTAT","ADD_TIMECARD","authService","roleAccess","selectedRoleAccess","roleId","roleAccessbyRole","showRoleAccessMenu","view","add","showRole","accessID","array","obj","vMUpdateRoleOperationLink","vMUpdateRoleAccess","getRoleAccessList","screenRignt","vmScreenRights","vmRoleAccessRes","expandRowByClick","RoleScreenMapping","RoleMasterService","DeleteRoleByRoleID","SaveUpdateRoleMaster","GetRoleMaster","handleRoleName","roleNm","RoleMasterScreen","CorporateService","addUpdateCorporate","corporateName","billingCycleID","getAllCorporates","CorporateID","deleteCorporate","corporateService","pageSizeOptions","VIEW_CORPORATE","EDIT_CORPORATE","getCorporateList","ADD_CORPORATE","CorporateMasterScreen","gstNo","poNo","poValidity","sez","paymentTerms","isDeliveryCharge","pickupFrequency","pickupFrequencyID","billingAddress","serviceAddress","accManager","accManagerContact","StoreID","StoreInventory","StoreInventoryService","storeInventoryData","garmentPendingToSendToFactory","ordersPendingtosendtoFactory","pendingForNoOfDays","garmentsReceivedFromFactory","splitOrderReceivedFromFactory","isInventoryDataLoaded","statsData","StatsBox","StatsWrapper","StatsTitle","StatsIcon","StatsCount","TransferInHeader","StoreInventoryScreen","ExpenseEntryService","getExpenseTypes","expenseID","deleteExpense","addUpdateExpense","expenseDate","getAllExpenseList","expenseService","ExpenseService","currentExpense","expenseTypes","remarks","amount","remark","handleDelete","EXPENSE","CANCLE","ExpenseEntryScreen","GatePassList","TransferOutService","ServiceIds","retrieveFactoryList","retrieveServiceList","serviceId","factoryId","GetSplitNumberToTransferout","GetGarmentdatailBysplitOrdernumber","splitOrder","splitOrderNumber","GenerateGatePass","gatePassNo","getPDFGatePass","downloadGatePassPDF","faDownload","element","gatepassNumber","gatePassNumber","printInfoHeaderData","gatePassDate","factoryAddress","printInfoRowData","vMSplitOrderDelivery","isPDFDataLoaded","html2pdf","margin","jsPDF","orientation","pagebreak","avoid","html2canvas","dpi","scale","save","gatepassDatefrom","gatepassDateTo","storeIDs","fcatoryIDs","GatePassListService","gatePassListItems","subtract","storeOutID","storeGarmentsOut","noofSplitNumber","rowNumber","noOfGarments","pickupDate","deliveryDate","colSpan","border","cellPadding","GatePassListScreen","ONE_MONTHS_AGO","setMonth","getMonth","LAST_UPDATED_ON","LAST_UPDATED_BY","ACTION","VIEW_PRE_QC_STORE","qcID","finalQCStatus","EDIT_PRE_QC_STORE","PreQCResponseListService","FromOrderDate","orderFromDate","ToOrderDate","orderToDate","qcStatus","qcStatusFilter","listData","preQCResponseItems","QCStatusOptions","FilterToggle","faChevronUp","FilterToggleIcon","FilterToggleIconRotated","defaultValue","rowKey","PreQCResponseListScreen","preQcService","commonService","tagDetails","lastQCDetails","qcPendingFrom","reasonDDL","statusDDL","handleCancel","GetQCStatus","GetQCReason","getLastQCDetails","qcId","orderGarmentID","qcReason","getTagDetail","HistoryData","garMentHistoryData","tagNumber","qcTagNo","hidden","customerName","customerContactNo","orderDate","garmentStatusName","garmentBrand","colorNames","additionalServiceName","specialInstruction","qcStatusName","qcPendingFromName","qcImage1","qcImage2","qcImage3","preQCService","getQCDetails","qcRemarks","setTimeout","ReadyForDeliverySplitOrder","fromOrderDate","toOrderDate","invoiceNumber","invoiceDate","performaNumber","perfomaInvoiceDate","orderType","IsCheckNow","splitOrderStatus","SplitOrderMarkAsCompleted","serviceTypes","searchCustomer","getInvoiceStatusList","TWO_MONTHS_AGO","orderTypeName","ORDER_COUNT","BAG_COUNT","customerTypeName","CUST_MO_No","ORDER_STATUS","INVOICE_STATUS","orderStatus","ARE_YOU_SURE_YOU_WANT_TO_MARK_ORDER_AS_COMPLETED","SplitOrderMarkAsDelivered","faClipboardCheck","ReadyForDeliveryOrderService","ORDER_MARKED_AS_COMPLETED","UNABLE_TO_MARK_ORDER_AS_COMPLETED","getOrderStatusList","OrderStatusFilter","invoiceStatusFilter","getOrderTypeList","OrderTypeFilter","fromDate","toDate","deliveryOrderItems","customerId","handleChangeBranch","ReadyForDeliveryOrder","performaDate","selectedOrdersOfCustomer","selectedOrderID","storeBranchTypes","allStoreBranchArray","sort","alignSelf","allOpt","ALL","splitId","onSearch","singleCustomerName","test1","hideSelectAll","ReadyForDeliveryOrdersScreen","generateButtonLoading","selectedServices","showInfoPopup","factoryListOptions","StoreTransferOuts","GetGarmentdatailBysplitOrdernumbers","isExapndableLoading","factoryid","isGenerateGetPass","READY_FOR_TRANSFER_OUT","expandableColumns","GetSplitNumberToTransferoutRes","handleChangee","getServiceList","HAS_BEEN_GENERATED","downloadPDF","handlefactorychange","allStoreArray","every","onSelect","expandIconColumnIndex","indentSize","onExpand","expanded","TransferOutStore","TransferInStore","stickerID","garmentListAPI","garments","getStickerByStickerID","CustomerID","transferInAPI","requestStoreTransferin","Collapse","Panel","transferInStore","commonReq","submitButtonLoading","stickerLoaded","garmentData","orderData","isSaveDisable","stickerStatus","handleStoreTransferIn","GetStickerInfo","responseStatus","lstGarmentData","lstOrderData","responseMessage","reduce","packingMaterialName","stickerStatusName","GetStoreDashBoard","GetStoreDashBoardDeliveryRequestData","GetStoreDashBoardSplitOrderData","GetStoreDashBoardPickUpData","Stats","storeDashboard","StoreDashboard","dashboardData","processedGarments","soiledGarments","processedOrders","soiledOrders","otherStatastics","paddingBottom","borderRight","amountDueForCollection","readyForInvoiceOrders","GetStoreDashboard","colors","minHeight","todaysOrderCount","todaysOrderAmount","BagIcon","todaysInvoiceCount","todaysInvoiceAmount","WalletIcon","Charts","pieActiveIndex","dashboardChartData","doubleBarChartData","dashboardSplitedData","dashboardPickupData","GetStoreSplitedOrderDashboard","dashboardChartres","calDate","pendingDeliveriesByDeliveryPerson","pendingDeliveryofWalkin","dashboardPickupChartres","pendingPickups","dashboardSplitedChartres","orders","splitOrderNumberCount","ChartsContainer","ChartsWrapper","ChartsTitleWrap","mirror","dataKey","tickLine","axisLine","strokeWidth","stroke","allowDecimals","angle","allowEscapeViewBox","isAnimationActive","fill","barSize","barGap","verticalAlign","wrapperStyle","iconType","iconSize","preqclistfordashboard","noticeID","deleteNotice","addUpdateNotice","notice","getAllNoticeList","GetAppflyerData","NoticeBoard","notices","NoticeBoardService","getNotices","renderItem","Meta","avatar","InfoCircleTwoTone","isCallPreQc","isCallNotice","res1","retrieveStoreList","getStickersAPI","Stickers","getStickersToTransferOut","gatePassApi","generateGatePass","FactoryGatePassList","TOTAL_STICKERS","objVMFactoryPrintGatePassHeaderData","lstVMFactoryPrintGatePassRowData","totalMaterial","servicewisedata","selectedStore","storeOutStickerData","startOf","totalGarments","previouslySentGarment","sendingTodayGarments","pendingGarments","bag","hanger","blanket","shoe","carpet","curtain","roll","BagDCSIData","BagRestData","HangerData","BlanketData","ShoeData","CarpetData","CurtainData","RollData","packingMaterialID","totalCounts","storeAddress","colspan","FactoryGatePassListScreen","TransferInService","getStoreOutTagAPI","storeOutTag","getStoreOutGarmentsById","getFactoryTransferInData","getMissingGarments","SketchExample","inline","background","borderRadius","boxShadow","cursor","TransferIn","scanBtnLoading","targetKeys","storeKeys","factoryKeys","transferInData","missingTagData","TagNos","storeListOptions","storeOutTags","filteredTagsData","btnMissedTagEnable","SplitOrderNumber","EnteredLotSize","OpenLotSizeModal","getStoreOutGarments","TAGS_NOT_FOUND","getStoreList","UNABLE_TO_GET_LIST_OF_STORE_DATA","nextTargetKeys","moveKeys","sourceSelectedKeys","targetSelectedKeys","SingleItem","content","arrowPointAtCenter","InfoIcon","stopPropagation","Missingcolumns","factoryInTime","UNABLE_TO_GET_MISSING_TAG_DATA","transferredIntoFactory","TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY","actionResult","UNABLE_TO_SCAN_THE_TAG","PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS","inputValue","searchStoreKeys","searchingSplitNumber","filtereddata","ORDER_NOT_FOUND","PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_ORDER","OnSubmitOrderLotSize","noOfGarment","handleOk","tempLotSize","temparray","ORDER_ALREADY_SCANNED","editarray","templen","tempdata","listMissingData","missingTagNos","dyeingColors","sequenceNumber","addOnServiceNames","STORE_OUT_DATE","CustomTransferContainer","CustomTransfer","titles","selectedKeys","onSelectChange","MiddleColumn","SearchStatus","ScannedItemHeader","ScannedItemLabel","ScannedItemOrder","TransferInScreen","generateBtnLoading","isStickerDataLoaded","serviceWiseData","gatePassNum","isReprintDisable","selectedSplitOrders","Msgcounter","enableSearchBox","disableGatePassbtn","resetData","nativeEvent","selectedStickers","onSelectAll","generatePDFGatePass","stickerIdList","UserID","stickerIds","GENERATING_GATE_PASS","PLEASE_SELECT_STICKERS","UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT","packedGarments","ROLL","TransferOutScreen","FactoryInventory","IsPackagingDue","ServiceID","DeliveryFromDate","DeliveryToDate","inventoryApi","inventory","getFactoryGarmentInventoryById","UpdateDeliveryDate","todate","inventoryService","inventoryData","OldDeliveryDate","deliverydate","deliveryFromDate","deliveryToDate","FACTORY_IN_DATE","LOT_SIZE","GARMENTS_FACTORY_IN","GARMENTS_MISSING","PACKING_DUE","STORECODE","NewDeliveryDate","getFactoryGarmentInventory","noofgarmentsatQC","missing","damage","noofPackedgarments","noofgarmentsFactoryIn","noofgarmentsMissing","balancedGarments","factoryOutGarments","bgColor","onRow","rowIndex","FactoryInventoryScreen","FactoryPreQC","FactoryGetPreQCRequestList","GetPreQCRequestList","GetGarmentDetailByTagNo","QCPendingFrom","getQCInfoByTagNumber","factoryPreQC","PreQCRequestList","VIEW_PRE_QC_FACTORY","ADD_PRE_QC_FACTORY","PreQCFactoryScreen","garmentLoaded","garMentData","YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE","IMAGE_MUST_BE_SMALLER_THAN_5_MB","onChangeDDL","handleAdd","GetGarmentInfo","garmentStatus","postQCStatus","GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS","GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC","GetQCResion","onBlur","initialValue","defaultActiveFirstOption","factoryPreQCService","REDIRECTING","FactoryPostQC","ManagePostQCRequest","POST_QC_STATUS","POST_QC_REMARK","POST_QC_DATETIME","POSTED_BY","VIEW_POST_QC_FACTORY","EDIT_POST_QC_FACTORY","factoryPostQC","UNABLE_TO_GET_POST_QC_DATA","ADD_POST_QC_FACTORY","ADD_GARMENT_FOR_POST_QC","formReference","isLt5M","getLastPostQCDetails","postQCRemark","handlePostQc","showNumberWithStar","LATEST_POSTQC_DETAILS","postQCStatusName","postQCImage","GetFactoryDashboardOrderProcessCount","getFactoryDashboard","GetFactoryDashboard","factoryDashboard","FactoryDashboard","TshirtIcon","flex","distinctSplitOrderCount","splitOrderCount","PACKED_GATEPASS_NOT_GENERATED","garmentsToTransferOut","orderTOTransferOut","TODAYS_DUE_GARMENT_ORDER","todaysOrderProcessCount","todaysDueOrders","PREVIOUS_DUE","previousDueGarments","previousDueOrders","MISSING_DAMAGE","missingGarmentCount","missingOrderCount","damageGarmentCount","damageOrderCount","qcGarmentCounts","barChartData","ringChartData","Delivery","activeShape","cx","cy","innerRadius","outerRadius","startAngle","endAngle","y","dy","textAnchor","onPieEnter","orderProcessCount","orderCount","OVERDUE_GARMENTS","DiscountMasterService","getStoresList","getMode","getUsageType","getDiscountType","getPromocodeType","getCities","GetDiscountMaster","retrieveDiscountMaster","SaveUpdateDiscountMaster","saveUpdateDiscountMaster","GetDiscountDetailByDiscountID","getDiscountDetailByDiscountID","GetDiscountCodesByDiscountID","GenerateDiscountCodesByDiscountID","requestAuthorizeDiscount","requestBlockDiscount","discountmasterservice","discountID","discountName","statusID","discountList","validtilltoday","getDiscountMasterList","VIEW_DISCOUNT_MASTER","EDIT_DISCOUNT_MASTER","radioSelectedData","ADD_DISCOUNT_MASTER","discountTypeID","usageTypeID","discountTypeEditID","weekDays","applicableServiceIds","applicableStoreIds","usageType","discountType","promocodeType","authorizeDiscount","getDiscountMaster","blockDiscount","getWeekDays","getStores","editmode","addmode","DiscountStatusName","DiscountCode","discountObj","getDiscountCode","discountCode","GenerateDiscountCodes","totalLength","prefixChar","exportDiscountCodeToExcel","currentCode","DiscountStatusID","RegexAlphaNumberic","max","min","step","precision","inputVal","test","AddDiscount","discountStatus","discountTitle","validFrom","validTo","promoCodeType","nos_Times","nos_Times_Redeemable","isFirstOrderOnly","maxAmount","minAmount","includeDeliveryCharge","comment","applicableCityIds","discountValue","discountOnValue","addUpdateDiscount","termsandconditionsservice","TermsAndConditionIDs","DeleteTermsAndConditionByID","deleteTermsAndConditions","SaveUpdateTermsAndConditions","addUpdateTermsAndConditions","termsAndConditionID","termsAndCondition","getAllTermsAndConditionsList","termsAndConditions","termsAndConditionsService","overlayStyle","whiteSpace","getTermsAndConditionsList","TermsAndConditionID","TermsAndCondition","PackageConfiguration","lkPackageID","retrievePackageConfiguration","packageName","packageAmount","bonusAmount","bonusAmountValidity","bonusAmountValidityInDays","descriptionTitle","PackageConfigurationService","lkPackageConfiguration","UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA","handlePackageName","handlePackageAmount","handleBonusAmount","handleBonusAmountValidity","handleDescriptionTitle","handleDescription","lkPackageName","updateDescriptionTitle","packageConfigurationItems","PackageConfigurationScreen","RefferalBonusConfigurationService","lkRefferalProgramID","retrieveReferralBonusConfiguration","RefferalBonusConfiguration","lkReferralProgramID","programName","referralBonus","refereeBonus","bonusValidityInDays","msgForReferral","msgForReferee","lkRefferalBonusConfiguration","handleProgramName","handlereferralBonus","handleRefereeBonus","handleBonusValidityInDays","handleMsgForReferral","handleMsgForReferee","iActive","RefferalBonusConfigurationScreen","LKCompensation","getOrderIDS","retrieveCompensationConfiguration","DatePicker","Compensation","CREATED_ON","lkCompensationID","splitOrderNos","validDate","CompensationService","lkCompensationItems","searchText","onSearchOrderIDs","searchString","handleRemark","handleChangeRangePicker","singleSplitOrderNos","ml","CompensationScreen","LKEmployeeCredit","retrieveEmployeeCreditConfiguration","getReport","EmployeeCredit","empCreditFileID","employeeCreditService","isSucceeded","lkEmployeeCreditItems","handleUpload","totalCnt","succeeded","failed","EmployeeCreditDetailsList","EmployeeCreditsScreen","LKCustomerBulkDebitService","getcstomerbulkdebitdata","Customerbulkdebit","custDebitFileID","customerbulkDebitService","lkCustomerBulkDebitItems","Customerbulkdebits","LKCustomerBulkCreditService","getcustomerbulkcreditdata","Customerbulkcredit","custCreditFileID","customerbulkCreditService","lkCustomerBulkCreditItems","Customerbulkcreditscreen","LKRefund","insertItems","retrieveRefundItems","lkrefundService","refundItems","getRefundList","handleAmount","refundListItem","lkRefundID","RefundScreen","AdvancePayment","getAllAdvancePaymentList","PaytmTransService","QRCodeGenerator","QRCodeRequest","DynamicQRCodeGenerator","DynamicQRCodeRequest","QRCodeStatusCheck","CheckPaymentTransactionStatus","CheckPhonePeStatus","advancePaymentService","paytmTransService","showAddModal","advancePayment","isTransFail","paymentMethods","UNABLE_TO_GET_PAYMENT_METHOD_DATA","readyForDeliveryOrderService","getAdvancePaymentList","advancePayData","generateTaxInvoiceRemoteRequest","EDCRequest","addAdvanceAmountToWallet","transID","PaytmTransNumber","mid","orderId","businessType","posId","clientId","channelId","version","versionNumber","transactionType","callFrom","qrCodeResponse","body","resultInfo","resultStatus","isShowQRCode","base64Image","image","isQRCodeShow","intervalID","clearInterval","machineKey","EDC_CONFIGURATION","EDCmachineInfo","paytmMid","paytmTid","transactionDateTime","merchantTransactionId","merchantReferenceNo","transactionAmount","callbackUrl","json","requestParams","transctionId","advanceAmount","isExcessAmount","paymentMode","chequeNo","chequeDate","cardNo","transactionNo","options","advanceAmountInput","AdvancePaymentScreen","faqservice","FaqIDs","DeleteFaqByID","deleteFaq","SaveUpdateFaq","addUpdateFaq","faqID","getAllFaqList","faq","FaqService","ans","que","getFaqList","faqscreen","CashCouponMasterService","getCouponType","GetCashCouponMaster","retrieveCashCouponMaster","SaveUpdateCashCouponMaster","saveUpdateCashCouponMaster","GetCashCouponDetailByCouponID","getCashCouponDetailByCouponID","GetCashCouponCodesByCouponID","GenerateCashCouponCodesByCouponID","getCashCouponMasterList","couponID","getCashCouponByfilter","VIEW_CASH_COUPON","EDIT_CASH_COUPON","cashCouponcode","cashcouponmasterservice","couponName","couponList","cashCouponList","ADD_CASH_COUPON","couponType","CashCouponCode","cashCouponCodeName","cashCouponObj","cashCouponCode","currentCashCouponCode","getCashCouponMaster","cashCouponObjObj","getCashCouponCode","GenerateCashCouponCodes","exportCashCouponCodeToExcel","validFromDate","couponTypeID","AddCashCoupon","noOftimes","redeemValidity","compare_dates","date1","date2","addUpdateCashCoupon","requestID","addressText","subtitle","addressTypeColors","AddCustomerContainer","AddCustomerWrapper","LabelColumn","ValueColumn","customerNameInput","buttonStyle","singleAddress","AddressWrapper","AddressType","AddressText","AddAddress","openAddressModal","singleService","ServiceTitle","bringBack","getOrderRequestStatusList","getAddOnServicesList","getRewashReason","getRewashRequestedBy","getServiceTypeList","garment","serviceUOM","serviceIsAddOn","serviceWiseGarments","UOM","getGarmentsList","delivery","callObj","effectiveDate","getRateCardForStore","getUOMList","getBrandsList","getSizeList","getDyeingColors","getOpeartionInstructions","getPackagingCharges","company","getDeliveryCharges","createOrder","updateOrder","selectedOrderRequestStatusFilter","assignedToUserID","getOrderList","getOrderByID","reason","cancelOrderRemark","cancelOrder","generateTags","validatePromocode","getPickupInformation","OrderID","GetTagToPrint","getPDFStoreEstimatedOrder","getEstimatedOrderPrintByOrderID","getPartialOrderReceivedList","getGarmentDefect","CustomerSelection","createOrderService","CreateOrderService","isAddressModal","isAddForm","serviceType","searchAutoComplete","addressSelection","customerInfo","systemDateTimeApiValue","selectedAddress","pickupRequest","walletBalance","lkCreditAmt","b2bCustomer","isServiceTypes","getServiceTypes","storeInfo","callback","renderOption","openModal","closeModal","customerAutoCompleteOptions","returnArray","customerAddress","customerMembership","CustomerSelectionContainer","CustomerSelectionOption","CustomerNameAndMembership","CustomerName","CustomerMembership","CustomerAddressWrapper","HomeIcon","faPhoneAlt","CustomerAddress","faHome","getCustomerInfo","systemDateTimeValue","isAddressSet","fullAddress","customerAddressSelect","AddressSelectionContainer","AddressSelectionOption","isSelected","AddressSelectionOptionSelected","serviceTypeSelect","recalculateRates","ServiceSelectionContainer","ServiceSelectionOption","ServiceSelectionOptionSelected","ServiceType","AddOption","CustomerSelectionWrapper","autoFocus","dropdownMatchSelectWidth","defaultOpen","AddButton","paddingLeft","CustomerInfoLabel","CustomerInfoValue","DropdownTrigger","orderArray","toFixed","GarmentBlock","getCount","getCountFunction","garmentObj","revertCount","GarmentBlockContainer","GarmentBlockHasValue","GarmentBlockWrapper","Placeholder","GarmentImage","MinusButton","tmparr","faMinus","PlusButton","GarmentSelection","garmentList","UNABLE_TO_GET_UOM_LIST","panelRightContent","serviceIndex","PanelToggleIconWrapper","AccordinIcon","PanelSearchWrapper","Extras","filteredLength","updatedArray","price","rate","updateArray","PanelSearch","updatedGarments","updatedList","getPanelHeader","panelHeadText","PanelHeader","defaultActiveKey","expandIcon","GarmentSelectionCollapse","accordion","singleCategory","header","GarmentsContainer","singleGarment","v","OrderSummary","displayDiscountInfo","displayTaxInfo","orderNumber","orderSummary","calculateCount","calculateTotal","subtotal","calculateSubtotal","calculateTaxes","calculatePackagingCharges","calculateDeliveryCharges","discount","addAmt","darningPrice","dyingPrice","ucPrice","shouldReturnTax","packagingCharges","filteredObj","rateCharges","finalCharges","deliveryCharges","percentageCharges","isFromPickup","isOnDemand","disableRevireOrder","tax","labelColors","Cancel_order_by_admin_show","accessName","OrderSummaryContainer","isInvoice","SummaryContainerInvoice","OrderTitle","Empty","PRESENTED_IMAGE_SIMPLE","SummaryTableWrapper","SummaryTableInvoice","SummaryTable","filteredRecords","valign","CategoryLabel","garmentId","garmentFilteredRecords","ItemRow","SEMI_EXPRESS_RATE","EXPRESS_RATE","SummaryInfoWrap","paddingTop","SummaryInfoLabel","SummaryInfoValue","infoIcon","SummaryInfoSubPart","TotalBlock","orderRemarks","updateOrderRemarks","ReviewOrderButton","goToReview","ReviewOrder","disablegenerateOTP","TimerValue","isResendOtp","ALTmobileNo","InputOTP","ReceivedOTP","ISVerified","showAdvancePaymentPopup","HolidayList","addOnServices","brands","operationInstructions","sizes","timeCard","shouldConfirm","orderSummaryDefined","rewashMode","rewashData","rewashRequestedBy","thisIsRewashOrder","garmentDefectOptions","WidthLengthWrap","updateOrderFunc","GarmentDeliveryType","garmentDefect","getRateForGarment","DeliveryDateAfterAdd","calculateDeliveryDateAdd","dayName","dyingColorsUOM","dyingColorsValue","darningSize","TableFormItemWrap","passUOM","object","brand","skip_Holiday","shouldDisplay","notes","varinat","images","file1","faCamera","deleteGarments","rewashFormInstance","new_deliveryDate","temparr","delivery_date","holiday_date","holidayDate","UNABLE_TO_LOAD_COLORS","getHolidayList","UNABLE_TO_GET_HOLIDAYLIST","CheckPaytmEDCMachineTransData","setWalletBalance","setRewashMode","createRewashOrder","calculateFinalDeliveryDate","updateOrderAPI","confirmOrder","qty","packagingChargeTotal","getAddOnServices","UNABLE_TO_LOAD_REWASH_REASONS","UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST","UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS","UNABLE_TO_LOAD_BRANDS","UNABLE_TO_LOAD_SIZES","finalDeliveryDate","formInstanceforALTNO","formInstanceforOTP","AddAltNumberForCustomer","ALT_NUMBER_ADDED_SUCCESSFULLY","UNABLE_TO_ADD_ALT_NUMBER","Garment_Count","orderSummaryObject","Estimated_Amount","MobileNo","ISPickup","GarmentCount","SplitOrderIDGarmentCount","Amount","OTP_SENT_SUCCESSFULLY","timeleft","downloadTimer","UNABLE_TO_SENT_OTP","ValidateOTP","OTP","confirmOrder1","DeleteAltNumberForCustomer","ALT_NUMBER_DELETED_SUCCESSFULLY","UNABLE_TO_DELETE_ALT_NUMBER","disableUpdateOrder","Create_Order_Without_OTP","opeartionInstruction","updateOperationInstruction","inst","logisticInstruction","updateLogisticInstruction","changeIsOnDemand","printTags","open","REPRINT_TAX_INVOICE","RewashForm","updateRewashReason","updateRewashRequestedBy","faGift","PromocodeInput","updatePromocode","rateRatio","GENERATE_OTP","paddingRight","textDecoration","AllowCancelOrder","WalletBalance","Barcode","PrintTag","printInfo","componentRef","pnintInfo","onAfterPrint","ComponentToPrint","borderBottomColor","borderBottomStyle","borderBottomWidth","borderBottom","displayValue","borderTop","totalOrderPlacedByCustomer","cellspacing","cellpadding","printrewashtag","CreateOrder","cancelPopupLoading","showCancelPopup","isReview","rates","uoms","garmentSelectionShouldUpdate","operationInstruction","deletedGarmentIDs","isPromocodeValid","rewashOrderID","onDemandWalkIn","isRender","rateCard","showrewashtag","contactNumber","custAltMobileNo","operationInstID","printTagRef","click","rewashprintTags","GetRewashTagToPrint","printRewashTagRef","calculateDeliveryDatesForOrder","filteredArray","tat","pickup_date","unchanged","updatedService","getRatesForPredefinedOrder","goToOrder","getCountForGarment","revert","uomid","GarOrderType","serviceFilter","deliveryDaysAdd","filteredObject","serviceObject","garmentObject","countExceptThisGarment","newArray","DDeliveryDate","filteredIndexes","isPromocode","isRewash","shouldValidateBefore","vMSplitOrderReqInfo","addOnServiceIDs","singleRecord","self","weight","vMOrderGarmentReqInfo","nos","colorIDs","darningTypeID","dyeingTypeID","GarmentImage1","GarmentImage2","GarmentImage3","GarmentDefect","tempPickupID","orderUOM","orderRemark","isOnDemandDelivery","deletedOrderGarmentIDs","postFormData","nestedKey","fwdRequest","isValid","discountAmount","updateOrderArray","neworder","filteredGarmentObj","unchangedImages","serviceBasicAmount","finalOrderAmount","tmporderArray","tmporder","vMOrderGarmentDetails","filteredServiceObject","filteredGarmentObject","vMSplitOrderDetails","sqftGarments","serviceAmount","addOnServiceAmount","garmentImage1","garmentImage2","garmentImage3","customerAddressName","lkCashBlcAmt","lkCreditBlcAmt","OrderStatusList","prevProps","prevState","addedGarments","oldrecord","duplicate","cash","credit","overflowY","ReAssign_Store_By_Admin","tempcolumns","REQUEST_CREATED_DATE","cancelhide","cancelledhide","PICK_BOY","CUSTOMER_REMARK","CANCEL_REQUESTED_BY","CANCEL_REQUESTED_REASON","CANCELLED_REASON","CANCELLED_BY","VIEW_PICKUP","EDIT_PICKUP","faList","isModalVisible","pickupId","faUserEdit","faPlusSquare","UpdateStoreIDModalVisible","SelectedPickupID","faStore","pickupFromDate","pickupToDate","pickUps","userListOptions","isReassignBtnVisible","pickuplist","pickupStatus","selectedPickupStatus","UniquetimeSlot","SelectedTimeSlot","TodayPickupList","ShowMapView","SelectedPickupData","TodaySlotList","MarkerList","SelectedStoreID","CancelHide","updatePickupStoreID","STOREID_UPDATED_SUCCESSFULLY","UNABLE_TO_UPDATE_STOREID","getPickupList","pickupStatusID","PickupFromDate","PickupToDate","PickupSlot","getPickupStatus","pickupData","getUserList","userArray","handleUpdateStoreIDPopupOk","handleUpdateStoreIDPopupCancel","handleStatusWiseData","handlePopupReassign","getSlotByStoreIDS","IDS","getTodayPickuplist","pickupListRes","slotList","CheckboxValueType","storemarkerimg","setTilt","selectedmarker","slot","infoWindow","InfoWindow","labelOrigin","tempobj","setContent","navigator","geolocation","getCurrentPosition","coords","storemarker","Storemarkers","Storeposition","storeLat","storeLong","boundsListener","removeListener","borderColor","tempArray","scroll","user","slotName","borderLeft","REASSIGN_STORE","PLEASE_SELECT_STORE","PickupScreen","selectedTimeSlot","selectedDeliverySlot","selectedCancelReason","addDisable","pickupSlotView","deliverySlotView","isDeliverySlotViewEnable","PickupDateDisabled","responseDaysData","daysDeliveryType","servicesSelection","pickupdate","promocodeVal","promocodeResponse","isValidCode","isCancelRemarkVisible","isResceduleRemarkVisible","pickupExecutive","storeNameByCustAddress","dDate","selectedPickupSlotValue","getOpInstruct","getCancelReasons","getAddressesByCustomerID","getStoreBycustomerAddressID","getStoreIDStoreName","UNABLE_TO_GET_STORE_NAME","skipHoliday","skip2","calculateDeliveryDate","semiExpress","express","deliverySlot","isValidCodeMethod","onChangeCode","handleSelectStatusChange","handlePickupSlotChange","slots","handleDeliverySlotChange","handleCancelResonChange","daysBasedOnServices","deliveryTypeID","getDeliveryDateFunction","editDisable","addDisableMode","statusDisable","sourceFromDelivery","submitbtnloading","followingDay","getTime","toLocaleDateString","pickupcurrentTime","currentTime","pickupTimeSlotName","Cancelled_show","RESCHEDULE_PICKUP_BY_ADMIN","selected_date","HolidayArr","timeslotID","NaN","ORIGINAL_PICKUPID","PLEASE_ENTER_ORIGINAL_PICKUP","RescheduleHistory","historyData","requestHistory","pickupSlot","AddPickup","requestHistoryValues","storeData","isGeneralFromCall","pickupTimeSlotID","deliveryTimeSlotID","setgeneralFormvalue","timer","clearTimeout","getPickupInfoByID","source","pickupSlotName","pickupSlotID","deliverySlotName","deliverySlotID","opInstructID","canceledReason","originalpickupID","originalPickupID","addUpdatePickup","reschedulePickup","cancelPickup","CANCEL_REASON_IS_REQUIRED","cancelReason","cancelRemarks","getDeliveryDate","dateObj","getValidCode","getStoreIDAndNameByCustAddress","ResortingAndpackagingServices","GetPackingDetailsBySplitOrder","GenerateStickers","stikerId","GetStickerInfoToPrint","ResortingAndPackagingList","StikerPrint","numrows","lstStickerInfoToPrintGarmentData","lstStickerInfoToPrintStickerData","backgroundc","float","previousCount","ResortingAndPackagingInfo","resortingAndPackaging","ResortingAndPackagingServices","listItemTableLoading","resortingAndPackagingServices","getNoOfGarmentPackingRes","listItemsRes","searchGarmentNo","finalNoOfgarmentPackings","isStikerGenerated","iscallGraments","lastPackedDate","notPackedGarments","oldvalue","newValue","packingGarments","ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS","listItemsRe","stickerWiseGarments","isEnable","element1","vMPackingGarmentDetails","TAG_NUMBER_NOT_FOUND","updated1","handleAddpackingList","pmid","attributes","getNamedItem","findIndex","packingGarmentId","packingQty","getNoOfGarmentPackingList","packingGarmentName","onChangeText","fromInstance","generateStiker","PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN","SELECT_PACKING_MATERIAL","packedMaterials","STICKER_SUCCESSFULLY_GENERATED","vMPackingMaterial","UNABLE_TO_GET_STICKERID","GARMENT_ALREADY_PACKED","garmentPackedIn","packingMaterial","data-enumid","valaue","noofGarment","hr","TableFields","PREVIOUSLY_PACKED_ON","ResortingAndPackagingScreen","noticeBoardService","getNoticeList","NoticeBoardScreen","appsflyercomponent","FromDate","ToDate","JSONData","getAppsFlyerData","PageIndex","PageSize","SortColumn","SortOrder","appsflyer","orderService","OrderService","OrderRequestStatusFilter","ORDER_CREATED_DATE","PROMO_CODE","OrderList","DeliveryList","getStoreUsers","getDeliveryStatusList","selectedDeliveryStatusFilter","showEscalatedDelivery","DeliveryStatusID","IsEscalate","DeliverySlot","getAllDeliveryList","reassign","reassignDelivery","reassignDeliveryRequest","reschedule","rescheduleDelivery","rescheduleDeliveryRequest","cancel","cancelDelivery","cancelDeliveryRequest","escalateDelivery","getTodayDeliverylist","deliveryListService","DisableReschedule","reschedulePopupLoading","reassignPopupLoading","showReschedulePopup","showReassignPopup","showCancelRequestPopup","currentDelivery","deliverySlotFromDate","storeUsers","deliveryDateCompare","rescheduleModal","deliveryStatusFilter","TodayDeliveryList","TodaySlot","SelectedDeliveryData","DELIVERY_BOY","CANCEL_REMARK","deliveryID","faClock","CS_ACTION","ARE_YOU_SURE_YOU_WANT_ESCALATE_DELIVERY","EscalateDelivery","ESCALATED_SUCCESSFULLY","UNABLE_TO_ESCALATE_DELIVERY","handleReassign","getDeliveryList","handleReschedule","deliveryList","mapOptions","ESCALATED_DELIVERY","DeliveryListScreen","BannerService","bannerID","imagetext","selectedType","bannerType","bannerImage","bannerItems","handleTypeChange","GetBannerTypeStatus","action","BannerScreen","getPDFProformaInvoice","StoreInvoiceService","RedirectInvalidRequestScreen","Invoice","ReceivedOTPForMultiple","reSendOTP","invoiceData","adjustedLKBonusAmt","adhocCharges","paidLess","lstVMInvoiceDataInvoiceInfo","lstVMVMInvoiceDataInvoicePaymentInfo","customeraddressID","customeraddressName","ordertype","ordertypename","pickupBy","cgstPer","sgstPer","igstPer","uOM","serviceid","servicename","perfomaInvoiceNumber","invoiceStatusId","addonserviceamount","deliverycharges","packagingcharges","discountamount","discountname","noofgarments","notServedcGST","notServedsGST","notServediGST","notServedserviceamount","notServedaddOnServiceAmount","vMInvoiceGarmentDetails","adhocAmount","invoiceremark","adjustmentAmount","newAdjustmentAmount","isAdjustmentUpdated","restAmount","useLKWallet","showPaymentDetailModal","paymentDetail","ORDERID","TXNAMOUNT","TXNDATE","RESPMSG","IsDetailShow","invoiceRemark","round","req","apiurl","query","SplitOrderID","Request","Response","APIName","QueryName","GenerateInvoiceTax","excessAmount","amountToBeSent","SOMETHING_WENT_WRONG","PLEASE_SELECT_PAYMENT_MODE","request","invoiceIDs","getAdjustmentAmount","AdjustmentAmount","CheckPaymentStatus","clientID","paytmtranID","webdata","transactionStatus","txnAmount","txnDate","resultMsg","qrCodeStatus","phonePetranID","SplitOrderNo","code","PhonePeStatus","GenerateTaxInvoiceFromCheckNow","tranID","getPaidTotal","InvoiceRemark","INVOICE_REMARK_UPDATED_SUCCESSFULLY","UNABLE_TO_UPDATE_INVOICE_REMARK","sum","taxType","totalFinalInvoiceAmount","proformaNumbers","settleWithoutPayment","InvoiceId","INVOICE_SETTLED_WITH_OUT_PAYMEN_SUCCESSFULLY","UNABLE_TO_SETTLE_INVOICE_WITH_OUT_PAYMENT","tempstr","SplitNum","Type","GenerateInvoiceBalance","Settle_Less_Paid_show","Close_ODM_Order_show","subTitle","PrintIcon","InvoiceWrapper","TextRightCol","OrderNumber","addonservicename","serviceamount","finalInvoiceAmount","SummaryInamountfoValue","totalCGST","totalSGST","totalIGST","RightSideContainer","StickyWrapper","AdhocAmountWrap","PENDING_PAYMENT","pendigngPayement","TotalWrap","TotalLabel","TotalValue","remarkUpdatedBy","ButtonsWrap","paymentModeName","sourceFromID","fontStyle","paymentDate","WALLET_BALANCE","onVisibleChange","SETTLE_WITHOUT_PAYMENT","invoiceRemarkUpdatedBy","InvoiceScreen","buyPackage","BuyPackage","packages","selectedPackage","selectedPackageAmount","selectedPackageName","showBuyModal","isConfirmPayment","PackageConfigService","getPackages","buyPackageRemoreRequest","dynamicQRCodeResponse","function","showConfirm","packageWrapper","bonus","desc","buyButton","hideModal","BuyPackageScreen","FingerScanService","getFactories","factoryAppend","storeAppend","getUsers","userid","FingersAPI","respData","saveUpdateFingerPrint","MantraHelper","quality","timeout","PrepareScanner","getFalseRes","MFS100Request","PostMFS100Client","resp","resInfo","ProbFMR","GalleryFMR","ProbTemplate","GalleryTemplate","BioType","isGetSuccess","localisGetSuccess","GetMFS100Client","httpStaus","method","jsonData","axiosConfig","crossDomain","contentType","dataType","getURL","crossdomain","getHttpError","jqXHR","strURL","FingerScanScreen","fingerScanService","mantraHelper","storeOptions","factoryOptions","userOptions","fingerData","isChanged","dummyImg","getFingers","CollectFinger","imgId","CaptureFinger","ErrorCode","f1Image","BitmapData","f1ISOTemplate","IsoTemplate","f1AnsiTemplate","AnsiTemplate","f2Image","f2ISOTemplate","f2AnsiTemplate","f3Image","f3ISOTemplate","f3AnsiTemplate","fingerPrintContainer","fingerPrintBox","fingerPrintWrap","fingerPrint","getAttendanceData","Attendance","attendanceService","AttendanceService","lISNormal","fingerMaster","getFIngerTempl","isNormal","lIsPucnhin","SwipedISOTempl","VerifyFingerArray","fingurePrintID","isManual","matchedTempl","addedBy","iSPunchIn","iSNormal","isMatched","indFinger","VerifyFinger","Status","AddUpdatePunchData","msg","SpeechSynthesisUtterance","speechSynthesis","speak","AttendanceOptionsWrap","AttendanceOption","ButtonAndCountWrapper","ButtonWrapper","inButton","PunchIn","outButton","countWrap","AttendanceScreen","AttendanceReport","handleUserChange","UserSelection","userParams","Users","getAttendanceReport","reportData","downloadReport","UserOptions","STICKER_ID","PACKING_IDS","PACKED_On","resortingandpackagingservice","packedOn","packingIds","resortingAndPackagingItem","Resortingandpackagingservice","CashCollection","cashStatus","executiveUserID","getCashCollectionEntries","submitCashCollectionData","getAccountExecutiveByStoreID","cashCollectionService","cashCollections","showSubmitModal","collectionType","walletIds","accountExecutive","AccountExecList","getCashCollectionList","cashCollectionData","customerPaidDate","cashSubmissionDate","RestoreDDlValueAccountExec","getAccountExecByStoreID","submitCashCollection","walletId","invoicePaymentIDs","lkWalletIDs","accountUserID","getCashCollectionStatus","handleSelectStatus","dates","cashSubmissionStatus","CashCollectionScreen","BulkUploadCouponService","getbulkcouponcodesdata","couponMapFileID","bulkuploadcouponService","bulkuploadCouponItems","BulkUploadCouponCodesScreen","StandardRateCardService","standardRateID","deleteStandardRateCard","addUpdateStandardRateCard","garmentCategory","getStandardRateCardData","standardRateService","servicePrefixUOM","category","other","getStandardRateCardList","handleInputChange","StandardRateCardScreen","ServiceIconItem","IconID","iconID","iconName","iconImage","serviceIcon","oldIconImageFromUrl","isNewImageUpload","handleServiceIconName","iconNm","ServiceIconsScreen","STORE_OUT_GATE_PASS","STORE_OUT_GATEPASS_TIME","RECENT_STORE_IN_DATES","STORE_IN_GARMENTS","STORE_IN_STICKER_ID","BALANCE_GARMENTS","UNABLE_TO_GET_LIST_OF_PARTIAL_ORDER_DATE","PartialOrderReceivedScreen","URL","searchParams","PaytmEDCMachineConfigService","getActiveUserList","edcInfoId","PaytmEDCMachineConfig","paytmMachineID","paytmTerminalID","VersionNo","MachineKey","selectedPlatform","storeOrUserName","selectedUser","serialNumber","paytmEDCConfigService","paytmEDCConfigItems","HandleApplicatoinDDL","platformList","platformArray","PaytmEDCMachineConfigScreen","Holidayservice","GetHolidayMaster","SaveUpdateHolidayMaster","holidayID","holidayconfiguration","storeNames","holidayservice","storelist","holidayConfigItems","holidayconfigurationscreen","orderhistoryservice","getOrderHistory","getfactorystatusdata","TabPane","Tabs","orderhistory","OrderHistoryservice","ShowPickupList","ShowOrderList","pickerData","panes","SearchType","OrderHistoryData","CustomerDetail","showDetail","spliteOrderwisedata","defultActivactionkey","orderHistoryPackingDetail","orderHistoryPackingMaterial","postProcessData","deliveryData","paymentData","remarksData","processData","pickupcallback","deliverycallback","deliveryEscalationData","PickupList","IsLoadMoreData","QcStatusData","getOrderListByMobileNo","orderList","pickupList","spliteOrderId","pickupCallBack","deliveryCallBack","callInvoicePrint","SpliteOrderID","callEstimatedIncoiceprint","getPDFEstimatedOrder","LoadMoredata","getMoreData","renderItemForFactoryStatus","Styles","underline","storeOutDatetime","totalGarment","strong","noOfFactoryInGarments","firstFactoryInDatetime","factoryInByName","lastFactoryInDatetime","processGarments","processTime","processBy","stickerInByName","packingID","gatePassCreatedDateTime","factoryGatePassNumber","factoryGatepassByName","previouslySent","garmentsSent","pending","renderItemForPostProcess","storeInDateTime","storeInByName","isPartialOrder","deliveryBoy","rescheduledCount","oldDeliveryDate","deliveredDate","firstEscalatedDate","firstEscalatedBy","secondEscalatedDate","secondEscalatedBy","lastEscalatedDate","lastEscalatedBy","renderItemForPaymentStatus","estimatedInvoiceAmount","piAmount","invoiceAmount","lkWallet","lkBonus","paytm","transactionDate","customerRemark","pickupBoyRemark","logisticsRemarks","operationalInstructions","updateProformaInvoice","piRemarkUpdatedBy","lastOrderDate","totalTaxInvoice","totalOrder","avgOrderValue","pickupSourceFrom","pickupBoy","pickupCreatedOn","pickUpcallbackDate","orderCreatedOn","ordercreatedBy","rescheduleCount","tabBarStyle","tab","PostProcess","PaymentStatus","missingGarments","garmentPendingInPreQC","garmentRejectedInPreQC","garmentRejectedInPostQC","missed","StoreOrderhistoryscreen","LkCustomBulkNotificationService","getcustomebulknotificationdata","custombulknotification","DATE_TIME_FOR_EXECUTION","bulkPushFileID","custombulknotificationservice","lkCustomBulkNotificationItems","UNABLE_TO_GET_LIST_OF_CUSTOM_BULK_NOTIFICATION_DATA","exectionDate","ADD_CUSTOM_BULK_NOTIFICATION","VIEW_CUSTOM_BULK_NOTIFICATION","EDIT_CUSTOM_BULK_NOTIFICATION","UPLOAD_CUSTOM_BULK_NOTIFICATION_CONFIGURATION_FILE","customebulknotificationscreen","Storeinpendingservice","showZeroDayDelay","showOneDayDelay","getstoreinpendingList","storeInPendingService","PACKAGING_ID","GATEPASSNUMBER","STORE_CODE","PACKED_ON_DATE","FACTORY_OUT_DATE","DELAY_DAYS","UNABLE_TO_GET_LIST_OF_STORE_IN_PENDING","StoreInPendingscreen","FactoryInPendingService","selectedstoreBranch","factoryIDs","ShowZeroDayDelay","ShowOneDayDelay","getfactoryinpendingList","factoryInPendingService","FACTORY_IN_GARMENTS","PENDING_FACTORY_IN","UNABLE_TO_GET_LIST_OF_FACTORY_IN_PENDING","handleshowDelayRecord","factoryBranchTypes","allfactoryBranchArray","Factoryinpendingscreen","GarmentProcessingService","TagNumber","getGarmentProcessingDetail","FactorySetProcessGarment","GarmentProcessing","GetTagNumberInfo","garmentprocessdetailservice","garmentCount","onChangeofgarment","ProcessGarments","PLEASE_ENTER_GARMENT","ENTER_TAG","Rewashorder","LOT_SIZE_FACTORY_IN","factoryInGarments","NO_OF_GARMENT_ALLREADY_PROCEED","noofProcessgarments","LAST_PROCEED_DATETIME","lastProcessTime","WASH_TYPE","GarmentProcessingscreen","processinglistservice","getprocessingList","ProcessingList","processinglistService","Processinglistservice","processinglist","FACTORY_IN_DATETIME","PROCESSING_IN_DATE_TIME","NO_OF_ITEMS_PENDING_FOR_PROCESSING","ProcessingListData","UNABLE_TO_GET_LIST_OF_PROCESSING_DATA","ProcessingListscreen","deliverydashboardservice","GetDeliveryManagmnet","GetDeliveryDataFromSplitOrderStatus","getDeliveryDatafromSplitOrderStatus","deliverydashboard","getSplitOrderStatusWiseData","Detailcolumns","DeliveryDashboardService","DeliveryType","selectedDeliverytype","dashboardItems","SplitOrderStatus","OrderType","detailItems","paginationforDetailtable","walkInFactoryIn","onDemandFactoryIn","walkInStoreInPending","onDemandStoreInPending","walkInPartialOrder","onDemandPartialOrder","walkInReadytoDeliver","onDemandReadytoDeliver","walkInPaidandUndeliverd","onDemandPaidandUndeliverd","walkInTotal","onDemandTotal","DetailListItem","splitOrderStatusName","deliverydashboardScreen","pendingcashsummaryservice","GetPendingCashSummary","GetPendingCashSummaryDetail","getPendingCashSummaryfromStoreID","OrderSummaryReport","DailyOrderSummary","getDailyOrderSummary","DailyPickupSummary","getDailyPickupSummary","MonthlyPickupSummary","getMonthlyPickupSummary","MonthlyOrderSummary","getMonthlyOrderSummary","Temp_Date","pendingcashsummary","getStoreWiseData","textDecorationLine","FromInvoiceDate","invoiceFromDate","ToInvoiceDate","invoiceToDate","StoreId","normalOrder","normalOrderAmount","semiexpressOrder","semiexpressOrderAmount","expressOrder","expressOrderAmount","totalOrderAmount","pendingcashsummaryscreen","CURRENT_DATE","ordersummarycomponent","getOrdersummarydata","fMonth","selectedmonth","fYear","selectedyear","dateString","month","year","currentMonth","srNo","misOrders","misAmount","misRevenue","invOrders","invAmount","loss","penOrders","penAmount","penPerce","conOrders","conAmount","conPerce","picker","ordersummaryscreen","inventorysummarycomponent","SERVICE_TYPE","ordercount","NO_OF_GARMENT_DUE_FOR_PACKAGING","getFactoryInventorySummary","Param","packingDueGarmentCount","inventorysumarryscreen","outofcoverageservice","OutOfCoverage","GetPickupAndDeliveryExecutive","getStoreStatusList","outofcoveragecomponent","OutOfCoverageservice","OutOfCoverageItems","genderName","xAxis","yAxis","registrationDate","outofcoveragescreen","pickupdeliveryassignmentComponent","storePhone","pMobileNo","dMobileNo","bMobileNo","storeStatusFilter","getpickupdeliveryassignmentlist","AssignmentItems","slno","deliveryExecutive","bothRoles","STORE_STATUS","pickupdeliveryassignmentscreen","dailyordersummarycomponent","dailyordersummary","totalOrders","totalAmount","revenue","odmOrders","odmAmount","odmRevenue","wOrders","wAmount","wRevenue","dailyordersummaryscreen","dailypickupsummarycomponent","dailypickupsummary","tPickup","aPickup","dPickup","rpickup","cPickup","dailypickupsummaryscreen","monthlypickupsummarycomponent","monthlypickupsummary","odmOrder","walkingOrder","canceledPickup","monthlypickupsummaryscreen","monthlyordersummarycomponent","monthlyordersummary","monthlyordersummaryscreen","dailysheetservice","getDailyExpressOrderData","getDailyRewashOrderData","getDailyFiveStarOrderData","AddUrgentOrder","expressfactorycomponent","Dailysheetservice","expressData","showModal","printDate","IsPrint","getExpressorderData","UNABLE_TO_GET_EXPRESS_URGENT_DATA","packingDue","isSummary","PrintContainer","PureComponent","expressfactoryscreen","RewashFactoryComponent","getRewashorderData","UNABLE_TO_GET_REWASh_DATA","RewashPrintContainer","RewashFactoryScreen","fivestarfactorycomponent","fiveStarData","UNABLE_TO_GET_FIVESTAR_DATA","fivestarfactoryscreen","ViewOnMapComponent","SelectedData","TodayPickupSlotList","TodayDeliverySlotList","checkBoxPickupValue","checkBoxDeliveryValue","PickupMarker","DeliveryMarker","concat","iD","ViewOnMapScreen","PrivateRoute","component","verify","exp","verifyToken","Navigation","LOGIN","exact","BlankScreen","Test","DeliveryDashboard","OrderListing","CityMaster","StateMaster","DesignationMaster","BrandMaster","SizeMaster","KYCDocTypeMaster","ServiceMaster","GarmentMaster","GarmentColorMaster","RewashReasonMaster","OperationInstructionMaster","PackagingChargesMaster","DeliveryChargesMaster","ExpenseTypeMaster","Inventorysumarryscreen","Pendingcashsummaryscreen","PickupDeliveryAssignment","Dailyordersummaryscreen","Monthlyordersummaryscreen","Dailypickupsummaryscreen","Monthlypickupsummaryscreen","StoreInPending","FactoryInPending","FactoryMaster","CustomerMaster","CorporateMaster","AddCorporate","EDIT_PRE_QC_FACTORY","AddPreQCFactory","DiscountMaster","AddDiscountMaster","VIEW_DISCOUNT_CODES","CashCoupon","VIEW_CASHCOUPON_CODES","CustomBulkNotification","Refund","ViewOnMap","FACTORY_Resorting_Print","Appsflyer","TermsAndConditions","Faq","Banner","ServiceIconsMaster","HolidayConfigurationScreen","Expressfactoryscreen","FivestarFactoryScreen","App","forceRefresh","Boolean","hostname","ReactDOM","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.ed5ee80b.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"HeaderWrapper\":\"header_HeaderWrapper__3g4DA\",\"StoreNameWrap\":\"header_StoreNameWrap__3i6gz\",\"LogoWrapper\":\"header_LogoWrapper__3iBWg\",\"Seperator\":\"header_Seperator__1qms5\",\"ButtonIcon\":\"header_ButtonIcon__3G9Fw\",\"HeaderRightSide\":\"header_HeaderRightSide__3qnxC\",\"SearchInput\":\"header_SearchInput__L8KcA\",\"ProfileHolder\":\"header_ProfileHolder__seDCC\",\"ProfileImage\":\"header_ProfileImage__1xh7g\",\"UserName\":\"header_UserName__173GK\",\"UserInitials\":\"header_UserInitials__2azRt\",\"DesignationInitials\":\"header_DesignationInitials__iONsY\",\"UserDesignation\":\"header_UserDesignation__3cGmm\",\"LogoutIcon\":\"header_LogoutIcon__3IcCD\",\"passwordIcon\":\"header_passwordIcon__Bu-6A\",\"CreateOrderButton\":\"header_CreateOrderButton__34NTw\",\"FullUserName\":\"header_FullUserName__14Fx5\",\"FullDesignation\":\"header_FullDesignation__3milL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"WrapLogo\":\"logincomponent_WrapLogo__26wK1\",\"LoginFormWrapper\":\"logincomponent_LoginFormWrapper__1MuRO\",\"LoginButton\":\"logincomponent_LoginButton__1XzAv\",\"BackButton\":\"logincomponent_BackButton__2KVF1\",\"ForgetPassswordLink\":\"logincomponent_ForgetPassswordLink__3xpa1\",\"LoginFromEl\":\"logincomponent_LoginFromEl__xw5ZK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fingerPrint\":\"fingerprint_fingerPrint__29xD2\",\"fingerPrintWrap\":\"fingerprint_fingerPrintWrap__3DUH6\",\"fingerPrintContainer\":\"fingerprint_fingerPrintContainer__23HUd\",\"fingerPrintBox\":\"fingerprint_fingerPrintBox__1ugHE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CustomTransferContainer\":\"transfercomponent_CustomTransferContainer__3uJr7\",\"CustomTransfer\":\"transfercomponent_CustomTransfer__24sW3\",\"MiddleColumn\":\"transfercomponent_MiddleColumn__35fJP\",\"SingleItem\":\"transfercomponent_SingleItem__2g09t\",\"SearchStatus\":\"transfercomponent_SearchStatus__jK96e\",\"pulsating\":\"transfercomponent_pulsating__3gEVR\",\"ScannedItem\":\"transfercomponent_ScannedItem__2LPeW\",\"ScannedItemHeader\":\"transfercomponent_ScannedItemHeader__3_OcU\",\"ScannedItemLabel\":\"transfercomponent_ScannedItemLabel__yh4yN\",\"ScannedItemTag\":\"transfercomponent_ScannedItemTag__37f8p\",\"ScannedItemName\":\"transfercomponent_ScannedItemName__1hpdu\",\"ScannedItemOrder\":\"transfercomponent_ScannedItemOrder__1JsuU\",\"ScannedItemCustomer\":\"transfercomponent_ScannedItemCustomer__PBENp\",\"InfoIcon\":\"transfercomponent_InfoIcon__24Vj_\",\"SearchInput\":\"transfercomponent_SearchInput__1B6xq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CustomTransferContainer\":\"transferincomponent_CustomTransferContainer__1onfW\",\"CustomTransfer\":\"transferincomponent_CustomTransfer__CQ5_a\",\"MiddleColumn\":\"transferincomponent_MiddleColumn__2hZQo\",\"SingleItem\":\"transferincomponent_SingleItem__2If5E\",\"SearchStatus\":\"transferincomponent_SearchStatus__3xU_n\",\"pulsating\":\"transferincomponent_pulsating__1pbWm\",\"ScannedSticker\":\"transferincomponent_ScannedSticker__D4Acr\",\"ScannedStickerHeader\":\"transferincomponent_ScannedStickerHeader__2Teni\",\"ScannedStickerLabel\":\"transferincomponent_ScannedStickerLabel__8UHgE\",\"ScannedStickerTag\":\"transferincomponent_ScannedStickerTag__V6OTC\",\"ScannedStickerName\":\"transferincomponent_ScannedStickerName__3vY3u\",\"ScannedStickerOrder\":\"transferincomponent_ScannedStickerOrder__q93Ug\",\"ScannedStickerCustomer\":\"transferincomponent_ScannedStickerCustomer__1-Q7q\",\"InfoIcon\":\"transferincomponent_InfoIcon__1jBnV\",\"GarmentSelectionCollapse\":\"transferincomponent_GarmentSelectionCollapse__gpRgc\",\"hr\":\"transferincomponent_hr__1qX5w\",\"SearchInput\":\"transferincomponent_SearchInput__mlXT4\"};","module.exports = \"data:image/png;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"lkemployeecredit_SearchInput__oHNvA\",\"FilterToggle\":\"lkemployeecredit_FilterToggle__3ThTc\",\"FilterToggleIcon\":\"lkemployeecredit_FilterToggleIcon__1jclQ\",\"FilterToggleIconRotated\":\"lkemployeecredit_FilterToggleIconRotated__3CIrj\",\"ActionContainer\":\"lkemployeecredit_ActionContainer__s_2HI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ChartsContainer\":\"chartscomponent_ChartsContainer__3J6E6\",\"ChartsWrapper\":\"chartscomponent_ChartsWrapper__3vtHX\",\"ChartsTitleWrap\":\"chartscomponent_ChartsTitleWrap__365Pc\"};","import React from \"react\";\r\nimport { Button as AntButton } from \"antd\";\r\nimport styles from \"./button.module.css\";\r\n\r\n/**\r\n * Customized Button\r\n *\r\n * Supports all properties from Ant Design and other props listed below\r\n * Ant Design Props : https:\r\n *\r\n * Additional Props\r\n * @props variant\r\n * 1. darkpurple : dark purple background with white text\r\n * 2. transparentGreyOutline: transparent button with grey outline\r\n * 3. purple : puple background with white text\r\n * 4. purpleOutline : button with purple outline\r\n * 5. whitePink : white background pink text (for filter apply)\r\n * 6. pink : pink button with white text\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\n\r\nexport default class Button extends React.Component {\r\n static propTypes = {\r\n ...AntButton.propTypes,\r\n };\r\n render() {\r\n const { variant = \"darkpurple\", className, ...restProps } = this.props;\r\n switch (variant) {\r\n case \"darkpurple\":\r\n this.applyClass = styles.BtnDarkPurple;\r\n break;\r\n case \"transparentGreyOutline\":\r\n this.applyClass = styles.BtnTransparentGreyOutline;\r\n break;\r\n case \"purple\":\r\n this.applyClass = styles.BtnPurple;\r\n break;\r\n case \"purpleOutline\":\r\n this.applyClass = styles.BtnPurpleOutline;\r\n break;\r\n case \"whitePink\":\r\n this.applyClass = styles.BtnWhitePink;\r\n break;\r\n case \"pink\":\r\n this.applyClass = styles.BtnPink;\r\n break;\r\n default:\r\n this.applyClass = styles.BtnDarkPurple;\r\n break;\r\n }\r\n if (this.props.type === \"link\") {\r\n this.applyClass = styles.BtnLink;\r\n }\r\n const joinedClasses = [className, this.applyClass].join(\" \");\r\n return ;\r\n }\r\n}\r\n","class Configuration {\r\n //Local Server\r\n \r\n // BASE_WEBAPI_URL=\"https://120.138.9.40/\";\r\n // BASE_WEBAPI_URL = \"https://localhost:44364/\"; //new API \r\n // BASE_FILES_URL = \"http://10.37.57.173:9000/LaundrokartFiles/\";\r\n // BASE_REPORTBUILDER_URL = \"http://10.37.57.173:9000/rbui/\";\r\n\r\n\r\n\r\n // BASE_WEBAPI_URL = \"https://localhost:44364/\";\r\n // // BASE_WEBAPI_URL = \"http://10.37.55.123/LaundrokartApi/\";\r\n // // http://10.37.55.123/LaundrokartApi/swagger/index.html\r\n\r\n // BASE_REPORTBUILDER_URL = \"http://localhost:9000/rbui/\";\r\n\r\n // BASE_WEBAPI_URL =\"http://10.37.55.43/LaundrokartApi/api/\";\r\n \r\n\r\n // Dev Server (Hosted in Parth Jotangiya's machine)\r\n // BASE_WEBAPI_URL = \"http://10.37.57.173:9000/LaundrokartAPI/\";\r\n // BASE_FILES_URL = \"http://10.37.57.173:9000/LaundrokartFiles/\";\r\n // BASE_REPORTBUILDER_URL = \"http://localhost:9000/rbui/\";\r\n\r\n\r\n // Dev Server (Hosted in Parth Jotangiya's machine)\r\n // BASE_WEBAPI_URL = \"http://40.117.61.180/LKDevApi/\";\r\n // BASE_FILES_URL = \"http://40.117.61.180/LKDevFiles/\";\r\n // BASE_REPORTBUILDER_URL = \"http://localhost:9000/rbui/\";\r\n\r\n //local lndk_live\r\n // BASE_WEBAPI_URL = \"http://10.37.57.173/lndkLiveLKApi/\";\r\n // BASE_FILES_URL = \"http://120.138.9.40/LaundroKartFiles/\";\r\n // BASE_REPORTBUILDER_URL = \"http://120.138.9.40:5003/\";\r\n\r\n // Staging Server (UAT)\r\n // BASE_WEBAPI_URL = \"http://120.138.9.40/LaundrokartApi/\";\r\n // BASE_FILES_URL = \"http://120.138.9.40/LaundroKartFiles/\";\r\n // BASE_REPORTBUILDER_URL = \"http://120.138.9.40:5003/\";\r\n \r\n\r\n //Staging server Other - Working\r\n // BASE_WEBAPI_URL = \"http://120.138.9.40:9000/LaundrokartAPI/\";\r\n // BASE_FILES_URL = \"http://120.138.9.40:9000/LaundroKartFiles/\";\r\n // BASE_REPORTBUILDER_URL = \"http://120.138.9.40:9000/rbui/\";\r\n\r\n // Production server\r\n BASE_WEBAPI_URL = \"https://karelabel.com/LaundrokartAPI/\";\r\n BASE_FILES_URL = \"https://karelabel.com/LaundrokartFiles/\";\r\n BASE_REPORTBUILDER_URL = \"https://karelabel.com/rbui/\";\r\n\r\n //iSTART : API, Files, Report bulder & Static page configuration Urls\r\n\r\n // Api controller Urls\r\n DROPDOWN_URL = this.BASE_WEBAPI_URL + \"api/DropDownList\";\r\n LAUNDRETKART_AUTH = this.BASE_WEBAPI_URL + \"api/Auth\";\r\n ITEM_URL = this.BASE_WEBAPI_URL + \"api/Admin\";\r\n ITEM_STORE_URL = this.BASE_WEBAPI_URL + \"api/Store\";\r\n ITEM_FACTORY_URL = this.BASE_WEBAPI_URL + \"api/Factory\";\r\n ITEM_LKWALLET_URL = this.BASE_WEBAPI_URL + \"api/LKWallet\";\r\n PAYTM_URL = this.BASE_WEBAPI_URL + \"api/Paytm\";\r\n FINGERPRINT_URL = this.BASE_WEBAPI_URL + \"api/Mantra\";\r\n CDA_URL = this.BASE_WEBAPI_URL + \"api/DeliveryApp\";\r\n CP_URL=this.BASE_WEBAPI_URL + \"api/CustomerApp\";\r\n PHONEPE_URL = this.BASE_WEBAPI_URL + \"api/PhonePe\";\r\n\r\n // File folders Urls\r\n BANNER_MASTER_IMAGE_URL = this.BASE_FILES_URL + \"CustomerAppBanner/\";\r\n STANDARD_RATE_CARD_AND_GARMENT_MASTER_IMAGE_URL =\r\n this.BASE_FILES_URL + \"GarmentIcons/\";\r\n SERVICE_MASTER_IMAGE_URL = this.BASE_FILES_URL + \"Services/\";\r\n SERVICE_ICONS_MASTER_IMAGE_URL = this.BASE_FILES_URL + \"ServiceIcons/\";\r\n\r\n // Static pages Urls\r\n FAQ_URL = \"https://www.laundrokart.com/faq\";\r\n ELEARNING_URL = this.BASE_FILES_URL + \"MobileStaticPages/traning.html \";\r\n RETURN_REFUND_URL = this.BASE_FILES_URL + \"MobileStaticPages/returns_and_refunds.html \";\r\n TERMS_CONDITIONS_URL = this.BASE_FILES_URL + \"MobileStaticPages/Terms_and_conditions.html \";\r\n\r\n // Report builder Urls\r\n sss = localStorage.getItem(\"currentuser\");\r\n REPORTS_URL = ![null, undefined, \"\", \"null\"].includes(\r\n localStorage.getItem(\"currentuser\")\r\n )\r\n ? this.BASE_REPORTBUILDER_URL +\r\n \"ReportbuilderHome?Token=\" +\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n : \"\";\r\n\r\n //iEND : API, Files, Report bulder & Static page configuration Urls\r\n}\r\n\r\nexport default Configuration;\r\n","class EndPointEntity {\r\n //Maulik S\r\n WEATHER_FORECAST = \"WeatherForecast\";\r\n AUTH_USER = \"WebPOSUserLogin\";\r\n GET_SCREENRIGHTBY_USER = \"GetScreenRightsByUserID\";\r\n GET_SPLIT_NUMBERTOTRANS_OUT = \"GetSplitNumberToTransferout\";\r\n GET_GARMENTDATAIL_BY_SPLIT_ORDER_NUMBER =\r\n \"GetGarmentdatailBysplitOrdernumber\";\r\n GENERATE_GATE_PASS = \"GenerateGatePass\";\r\n GET_SYSTEME_NUMS = \"GetSystemEnums\";\r\n GET_PACKING_DETAILS_BY_SPLIT_ORDER = \"GetPackingDetailsBySplitOrder\";\r\n GENERATE_STICKERS = \"GenerateStickers\";\r\n GET_STIKER_INFO_TO_PRINT = \"GetStickerInfoToPrint\";\r\n GET_STORE_DASHBOARD = \"GetStoreDashBoard\";\r\n GET_STORE_DASHBOARD_DELIVERY_REQUEST_DATA =\r\n \"GetStoreDashBoardDeliveryRequestData\";\r\n GET_STORE_DASHBOARD_SPLIT_ORDER_DATA = \"GetStoreDashBoardSplitOrderData\";\r\n GET_STORE_DASHBOARD_PICKUP_DATA = \"GetStoreDashBoardPickUpData\";\r\n GET_FACTORY_DASHBOARD_ORDER_PROCESS = \"getFactoryDashboardOrderProcessCount\";\r\n GET_FACTORY_DASHBOARD = \"getFactoryDashboard\";\r\n PAYTM_EDC_MACHINE_INFO = \"PaytmEDCMachineInfo\";\r\n PAYTM_EDC_TRANS_REQUEST = \"PaytmEDCTransRequest\";\r\n PAYTM_EDC_TRANS_STATUS = \"PaytmEDCTransStatus\";\r\n PAYTM_EDC_TRANS_INFO = \"PaytmEDCTransInfo\";\r\n GET_USER_INFO = \"GetUserInfo\";\r\n CHANGE_PASSWORD = \"ChangePassword\";\r\n REFRESH_TOKEN = \"RefreshTokenForPOSUser\";\r\n UPDATE_SCANNED_TAGS_STATUS_FOR_READY_FOR_TRANS_OUT =\r\n \"UpdateScannedTagsStatusForReadyForTransOut\";\r\n RESORTING_AND_PACKAGING_LIST = \"ResortingAndPackagingList\";\r\n\r\n GET_PRE_QC_PANDING_LIST = \"getPreQCPandingList\";\r\n\r\n //payal on 01/09/2020\r\n GET_STORE_PRINT_GATEPASS = \"PrintGatePass\";\r\n\r\n //Shailesh\r\n GET_EMPLOYEETYPE = \"GetEmployeeTypeList\";\r\n GET_REPORTINGTO = \"GetReportingToList\";\r\n GET_DESIGNATION = \"GetDesignationList\";\r\n\r\n GET_KYCDOCUMENT_TYPE = \"GetKYCDocumentTypeList\";\r\n\r\n GET_USERMASTER = \"GetUserMaster\";\r\n GET_USERDETAILSBYID = \"GetUserDetailByUserID\";\r\n GET_DELETEUSERBYID = \"DeleteUserByUserID\";\r\n\r\n GET_PAYMENT_TYPE = \"GetPaymentTypeList\";\r\n GET_IRON_PERSON_TYPE = \"GetIronPersonTypeList\";\r\n GET_STAY_AT = \"GetStayAtList\";\r\n GET_STORE = \"GetStoreList\";\r\n GET_FACTORY_LIST = \"GetFactoryList\";\r\n GET_FACTORY_LIST_BY_SERVICEID = \"GetFactoryListByServiceIds\";\r\n SAVE_UPDATE_USERMASTER = \"SaveUpdateUserMaster\";\r\n SAVE_UPDATE_USERKYC_DETAIL = \"SaveUpdateUserKYCDetail\";\r\n GET_DELETE_USERKYC = \"DeleteUserKYCDetailByKYCID\";\r\n GET_USER_KYC_DETAILS = \"GetUserKYCDetails\";\r\n GET_KYC_DETAILS_BY_USERID = \"GetUserKYCDetailByKYCID\";\r\n GET_USER_ROLE_DETAILS = \"GetUserRoleMappings\";\r\n GET_ROLE_DETAILS_BY_ROLEID = \"GetUserRoleMappingByID\";\r\n GET_DELETE_USERROLE = \"DeleteUserRoleMappingByID\";\r\n SAVE_UPDATE_USERROLE_DETAIL = \"SaveUpdateUserRoleMapping\";\r\n GET_ROLE = \"GetRoleList\";\r\n GET_FACTORIES_LIST = \"GetFactoryList\";\r\n\r\n GET_STORE_OPERATION_TYPE = \"GetStoreOperationTypeList\";\r\n GET_STORE_TYPE = \"GetTypeOfStoreList\";\r\n GET_PROMOCODE_TYPE = \"GetPromocodeTypeList\";\r\n GET_STORE_MODEL = \"GetStoreModelList\";\r\n GET_STORE_OPERATED_BY = \"GetStoreOperatedByList\";\r\n GET_STORE_OPERATING_TYPE = \"GetStoreOperatingTypeList\";\r\n GET_STORE_STATUS = \"GetStoreStatusList\";\r\n GET_STORE_SERVICE_TYPE = \"GetStoreServiceTypeList\";\r\n GET_DELIVERY_TYPE = \"GetDeliveryTypeList\";\r\n GET_ZONE = \"GetZoneList\";\r\n GET_SERVICES_OFFERED = \"GetServicesList\";\r\n SAVE_UPDATE_STOREMASTER = \"SaveUpdateStoreMaster\";\r\n\r\n GET_STORE_MASTER = \"GetStoreMaster\";\r\n GET_STOREDETAIL_BY_STOREID = \"GetStoreDetailByStoreID\";\r\n\r\n GET_WEEKDAYS_LIST = \"GetWeekDaysList\";\r\n SAVE_UPDATE_STORE_SLOT = \"SaveUpdateStoreSlot\";\r\n GET_STORE_SLOTS = \"GetStoreSlots\";\r\n GET_STORE_SLOTS_BY_STOREIDS = \"GetStoreSlotsByStoreIDS\";\r\n\r\n DELETE_STORE_SLOTS_By_SLOTID = \"DeleteStoreSlotBySlotID\";\r\n GET_GARMENT_DETAIL_BY_TAGNO = \"GetGarmentDetailByTagNo\";\r\n ORDER_GARMENT_QC_REQUEST = \"OrderGarmentQCRequest\";\r\n GET_QC_HISTORY_BY_TAGNO = \"GetQCHistoryByTagNo\";\r\n GET_PRE_QC_REQUEST_LIST = \"GetPreQCRequestList\";\r\n GET_LAST_QCINFO_BY_TAG_NO = \"getLastQCInfoByTagNumber\";\r\n STORE_GET_PRE_QC_REQUEST_LIST=\"StoreGetPreQCRequestList\";\r\n FACTORY_GET_PRE_QC_REQUEST_LIST=\"FactoryGetPreQCRequestList\";\r\n //Payal\r\n GETSTATELIST = \"GetStateList\";\r\n GET_GARMENTUOM_LIST = \"GetGarmentUOMList\";\r\n GET_EXPENSE_TYPE = \"GetExpenseTypeList\"; //need to update after receveing the api\r\n\r\n CITY_MASTER = \"GetCityMaster\";\r\n ADDUPDATE_CITY_MASTER = \"SaveUpdateCityMaster\";\r\n REMOVE_CITY_MASTER = \"DeleteCityByCityID\";\r\n GET_CITY_DETAIL_BY_ID = \"GetCityDetailByCityID\";\r\n\r\n STATE_MASTER = \"GetStateMaster\";\r\n ADDUPDATE_STATE_MASTER = \"SaveUpdateStateMaster\";\r\n DELETE_STATE_BY_ID = \"DeleteStateByStateID\";\r\n GET_STATE_DETAIL_BY_ID = \"GetStateDetailByStateID\";\r\n\r\n DESIGNATION_MASTER = \"GetDesignationMaster\";\r\n ADDUPDATE_DESIGNATION_MASTER = \"SaveUpdateDesignationMaster\";\r\n DELETE_DESIGNATION_BY_ID = \"DeleteDesignationByDesignationID\";\r\n GET_SLOT_DETAILS_BY_SLOTID = \"GetStoreSlotDetailBySlotID\";\r\n GET_DESIGNATION_DETAIL_BY_ID = \"GetDesignationDetailByDesignationID\";\r\n\r\n SIZE_MASTER = \"GetSizeMaster\";\r\n ADDUPDATE_SIZE_MASTER = \"SaveUpdateSizeMaster\";\r\n DELETE_SIZE_BY_ID = \"DeleteSizeBySizeID\";\r\n GET_SIZE_DETAIL_BY_ID = \"GetSizeDetailBySizeID\";\r\n\r\n BRAND_MASTER = \"GetBrandMaster\";\r\n ADDUPDATE_BRAND_MASTER = \"SaveUpdateBrandMaster\";\r\n DELETE_BRAND_BY_ID = \"DeleteBrandByBrandID\";\r\n GET_BRAND_DETAIL_BY_ID = \"GetBrandDetailByBrandID\";\r\n\r\n KYCDOC_MASTER = \"GetKYCDocTypeMaster\";\r\n ADDUPDATE_KYCDOC_MASTER = \"SaveUpdateKYCDocTypeMaster\";\r\n DELETE_KYCDOC_BY_ID = \"DeleteKYCDocTypeByID\";\r\n GET_KYCDOC_DETAIL_BY_ID = \"GetKYCDocTypeDetailByID\";\r\n\r\n SERVICE_MASTER = \"GetServiceMaster\";\r\n ADDUPDATE_SERVICE_MASTER = \"SaveUpdateServiceMaster\";\r\n DELETE_SERVICE_BY_ID = \"DeleteServiceByServiceID\";\r\n GET_SERVICE_DETAIL_BY_ID = \"GetServiceDetailByServiceID\";\r\n\r\n COLOR_MASTER = \"GetColorMaster\";\r\n ADDUPDATE_COLOR_MASTER = \"SaveUpdateColorMaster\";\r\n DELETE_COLOR_BY_ID = \"DeleteColorByColorID\";\r\n GET_COLOR_DETAIL_BY_ID = \"GetColorDetailByColorID\";\r\n\r\n GARMENT_MASTER = \"GetGarmentMaster\";\r\n ADDUPDATE_GARMENT_MASTER = \"SaveUpdateGarmentMaster\";\r\n DELETE_GARMENT_BY_ID = \"DeleteGarmentByGarmentID\";\r\n GET_GARMENT_DETAIL_BY_ID = \"GetGarmentDetailByGarmentID\";\r\n\r\n REWASH_REASON_MASTER = \"GetRewashReasonMaster\";\r\n ADDUPDATE_REASON_MASTER = \"SaveUpdateRewashReasonMaster\";\r\n DELETE_REASON_MASTER_BY_ID = \"DeleteRewashReasonByRewashReasonID\";\r\n GET_REASON_DETAIL_BY_ID = \"GetRewashReasonDetailByRewashReasonID\";\r\n\r\n OPERATION_INSTRUCT_MASTER = \"GetOperInstMaster\";\r\n ADDUPDATE_OPERINST_MASTER = \"SaveUpdateOperInstMaster\";\r\n DELETE_OPERINST_BY_ID = \"DeleteOperInstByOperInstID\";\r\n GET_OPERINST_DETAIL_BY_ID = \"GetOperInstDetailByOperInstID\";\r\n\r\n PACKCHARGE_MASTER = \"GetPackagingChargesMaster\";\r\n ADDUPDATE_PACKCHARGE_MASTER = \"SaveUpdatePackagingChargesMaster\";\r\n DELETE_PACKCHARGE_BY_ID = \"DeletePackagingChargesByPackagingChargesID\";\r\n GET_PACKCHARGE_DETAIL_BY_ID = \"GetPackagingChargesDetailByPackagingChargesID\";\r\n\r\n DELIVERYCHARGE_MASTER = \"GetDeliveryChargesMaster\";\r\n ADDUPDATE_DELIVERYCHARGE_MASTER = \"SaveUpdateDeliveryChargesMaster\";\r\n DELETE_DELIVERYCHARGE_BY_ID = \"DeleteDeliveryChargesByDeliveryChargesID\";\r\n GET_DELIVERYCHARGE_DETAIL_BY_ID =\r\n \"GetDeliveryChargesDetailByDeliveryChargesID\";\r\n\r\n GET_REWARDS_CONFIG_MASTER =\"GetRewardsConfigMaster\";\r\n SAVEUPDATE_REWARDS_CONFIG_MASTER=\"SaveUpdateRewardsConfigMaster\";\r\n GET_REWARDS_CONFIG_FROM_REWARDSID=\"GetRewardsConfigfromRewardsID\";\r\n\r\n GET_HOLIDAY_MASTER=\"GetHolidayMaster\";\r\n GET_HOLIDAY_DETAIL_BY_HOLIDAYID=\"GetHolidayDetailByHolidayID\";\r\n SAVE_UPDATE_HOLIDAY_MASTER=\"SaveUpdateHolidayMaster\";\r\n DELETE_HOLIDAY_BY_HOLIDAYID=\"DeleteHolidayByHolidayID\";\r\n GET_HOLIDAYLIST_BY_STOREID=\"GetHolidaylistByStoreID\";\r\n \r\n\r\n\r\n EXPENSETYPE_MASTER = \"GetExpenseTypeMaster\";\r\n ADDUPDATE_EXPENSETYPE_MASTER = \"SaveUpdateExpenseTypeMaster\";\r\n DELETE_EXPENSETYPE_BY_ID = \"DeleteExpenseTypeByExpenseTypeID\";\r\n GET_EXPENSETYPE_DETAIL_BY_ID = \"GetExpenseTypeDetailByExpenseTypeID\";\r\n\r\n /**\r\n * Constants required by Factory Service\r\n * @author Niraj Gohel\r\n * @created 18 June 2020\r\n */\r\n\r\n GET_DELIVERY_TYPES = \"GetDeliveryTypeList\";\r\n GET_WEEKDAYS = \"GetWeekDaysList\";\r\n GET_FACTORY_STATUS_LIST = \"GetFactoryStatusList\";\r\n GET_CITIES_BY_STATE = \"GetCityListByStateID\";\r\n GET_ZONES = \"GetZoneList\";\r\n ADD_UPDATE_FACTORY = \"SaveUpdateFactoryMaster\";\r\n GET_ALL_FACTORIES = \"GetFactoryMaster\";\r\n GET_FACTORY = \"GetFactoryDetailByFactoryID\";\r\n DELETE_FACTORY = \"\";\r\n\r\n /**\r\n * Constants required by Customer Service\r\n * @author Niraj Gohel\r\n * @created 25 June 2020\r\n */\r\n\r\n GET_ALL_CUSTOMERS = \"GetCustomerMaster\";\r\n GET_CUSTOMER_TYPES = \"GetCustomerTypeList\";\r\n GET_BILLING_CYCLES = \"GetBillingCycleList\";\r\n GET_GENDERS = \"GetGenderList\";\r\n GET_CORPORATE = \"GetCorporateList\";\r\n GET_CUSTOMER = \"GetCustomerByCustomerID\";\r\n ADD_UPDATE_CUSTOMER = \"SaveUpdateCustomer\";\r\n GET_CUSTOMER_ADDRESSES = \"GetCustomerAddressesByCustomerId\";\r\n ADD_UPDATE_ADDRESS = \"SaveCustomerAddress\";\r\n DELETE_ADDRESS = \"DeleteCustomerAddressByCustomerAddressID\";\r\n SEND_OTP = \"ResendCustomerOTP\";\r\n VERIFY_OTP = \"CustomerValidateOTP\";\r\n GET_ADDRESS_TYPES = \"GetCustomerAddressTypeList\";\r\n\r\n /**\r\n * Constants for Role Master\r\n * @author Niraj Gohel\r\n * @created 26 June 2020\r\n */\r\n GET_ALL_ROLES = \"GetRoleMaster\";\r\n //added by Payal\r\n ADDUPDATE_ROLE_MASTER = \"SaveUpdateRoleMaster\";\r\n DELETE_ROLE_BY_ID = \"DeleteRoleByRoleID\";\r\n GET_ROLE_DETAIL_BY_ID = \"GetRoleDetailByRoleID\";\r\n //ended by Payal\r\n GET_ROLES_DROPDOWN = \"GetRoleList\";\r\n GET_SCREEN_RIGHTS = \"GetScreenRightsByRoleID\";\r\n UPDATE_SCREEN_ROLES = \"UpdateRoleWiseRights\";\r\n\r\n /**\r\n * Constants for Corporate Master\r\n * @author Niraj Gohel\r\n * @created 30 June 2020\r\n */\r\n ADD_UPDATE_CORPORATE = \"SaveUpdateCorporateMaster\";\r\n GET_ALL_CORPORATES = \"GetCorporateMaster\";\r\n GET_CORPORATE_FROM_ID = \"GetCorporateDetailByCorporateID\";\r\n DELETE_CORPORATE = \"DeleteCorporateByCorporateID\";\r\n\r\n GET_RATECARD_MASTER = \"GetRateCardMaster\";\r\n SAVE_UPDATE_RATECARD_MASTER = \"SaveUpdateRateCardMaster\";\r\n SAVE_UPDATE_ASSIGN_RATECARD_TO_STORE = \"SaveUpdateAssignRateCardToStores\";\r\n SAVE_UPDATE_ASSIGN_RATECARD_TO_CORPORATE =\r\n \"SaveUpdateAssignRateCardToCorporate\";\r\n GET_RATECARD_DETAIL_BY_RATECARDID = \"GetRateCardDetailByRateCardID\";\r\n GET_RATECARD_ASSIGN_TO_STORE = \"GetRateCardAssginedToStore\";\r\n GET_RATECARD_ASSIGN_TO_CORPORATE = \"GetRateCardAssignedToCorporate\";\r\n UPLOAD_SERVICE_RATE_CARD = \"UploadServiceRateCard\";\r\n GET_RATECARD_DETAILS = \"GetRateCardInfoByRateCardID\";\r\n GET_TIMECARD_DETAILS = \"GetTimeCardInfoByTimeCardID\";\r\n\r\n GET_TIMECARD_MASTER = \"GetTimeCardMaster\";\r\n SAVE_UPDATE_TIMECARD_MASTER = \"SaveUpdateTimeCardMaster\";\r\n SAVE_UPDATE_ASSIGN_TIMECARD_TO_STORE = \"SaveUpdateAssignTimeCardToStores\";\r\n SAVE_UPDATE_ASSIGN_TIMECARD_TO_CORPORATE =\r\n \"SaveUpdateAssignTimeCardToCorporate\";\r\n GET_TIMECARD_DETAIL_BY_TIMECARDID = \"GetTimeCardDetailByTimeCardID\";\r\n GET_TIMECARD_ASSIGN_TO_STORE = \"GetTimeCardAssginedToStore\";\r\n GET_TIMECARD_ASSIGN_TO_CORPORATE = \"GetTimeCardAssignedToCorpoTime\";\r\n UPLOAD_SERVICE_TIME_CARD = \"UploadServiceTimeCard\";\r\n\r\n GET_DISCOUNT_MASTER = \"GetDiscountMaster\";\r\n SAVE_UPDATE_DISCOUNT_MASTER = \"SaveUpdateDiscountMaster\";\r\n GET_DISCOUNT_DETAIL_BY_DISCOUNTID = \"GetDiscountDetailByDiscountID\";\r\n GET_DISCOUNT_CODE_BY_DISCOUNTID = \"GetDiscountCodesByDiscountID\";\r\n GENERATE_DISCOUNT_CODES_BY_DISCOUNTID = \"GenerateDiscountCodesByDiscountID\";\r\n GET_MODE = \"GetPromocodeModeList\";\r\n GET_USAGE_TYPE = \"GetPromocodeUsageTypeList\";\r\n GET_DISCOUNT_TYPE = \"GetDiscountTypeList\";\r\n AUTHORIZE_DISCOUNT_BY_ID = \"AuthorizeDiscountByDiscountID\";\r\n BLOCK_DISCOUNT_BY_ID = \"BlockDiscountByDiscountID\";\r\n\r\n GET_CASH_COUPON_MASTER = \"GetCashCouponMaster\";\r\n SAVE_UPDATE_CASH_COUPON_MASTER = \"SaveUpdateCashCouponMaster\";\r\n GET_CASHCOUPON_DETAIL_BY_COUPONID = \"GetCashCouponDetailByCouponID\";\r\n GET_CASHCOUPON_CODE_BY_COUPONID = \"GetCashCouponCodesByCouponID\";\r\n GENERATE_CASHCOUPON_CODES_BY_COUPONID = \"GenerateCashCouponCodesByCouponID\";\r\n GET_COUPON_TYPE = \"GetCouponTypeList\";\r\n\r\n /**\r\n * Constants required by pickup Service [Store Module]\r\n * @author Payal\r\n * @created 17 July 2020\r\n */\r\n GET_OPERATION_INSTRUCT_LIST = \"GetOperationInstructionList\";\r\n GET_REWASH_REASON_LIST=\"GetRewashReasonList\"\r\n GET_PICKUP_STATUS_LIST = \"GetPickupStatusList\";\r\n GET_STORE_TIMESLOT_LIST = \"GetStoreTimeSlotList\";\r\n // GET_PICKUP_CANCEL_REASON_LIST = \"GetPickupCanceledReasonList\";\r\n GET_PICKUP_CANCEL_REASON_LIST = \"GetPickupCancelReasonList\";\r\n GET_USER_LIST_BY_STORE_ID = \"GetUserListByStoreID\";\r\n // GET_PICKUP_REQUEST = \"GetPickupRequests\";\r\n GET_PICKUP_REQUEST = \"GetPickupRequestsForWeb\";\r\n GET_PICKUP_REQUEST_BY_PICKUPID = \"GetPickupRequestByPickupID\";\r\n SAVE_UPDATE_PICKUP_REQUEST = \"SaveUpdatePickupRequest\";\r\n RESCHEDULE_PICKUP_REQUEST = \"ReschedulePickupRequest\";\r\n CANCEL_PICKUP_REQUEST = \"CancelPickupRequest\";\r\n REASSIGN_PICKUP_REQUEST = \"ReassignPickupRequest\";\r\n GET_PICKUP_REQUEST_HISTORY = \"GetPickupRequestHistory\";\r\n PICKUP_VALIDATE_PROMOCODE = \"ValidatePromocode\";\r\n\r\n GET_SEARCH_CUSTOMER = \"GetSearchCustomer\";\r\n\r\n //constants for calculating the deliverydate\r\n GET_SAMPLE_TIME_CARD = \"GetSampleTimeCard\";\r\n\r\n //constants required for store trasfer in\r\n GET_STICKERINFO_BY_STICKER_NO = \"GetStikerInfoByStickerNumber\";\r\n TRANSFER_INTO_STORE = \"TransferIntoStore\";\r\n\r\n // Constants required for login\r\n GET_ASSIGNED_STORE_FACTORY_BY_USERID = \"GetAssignedStoreFactoryByUserId\";\r\n\r\n //constants required for Factory Module\r\n TRANSFER_IN_FACTORY = \"TransferedInToFactory\";\r\n GET_STORE_OUT_GARMENTS_BY_ID = \"GetStoreOutGarmentsByStoreID\";\r\n FACTORY_MISSING_GARMENT = \"GetMissingGarments\";\r\n FACTORY_MANAGE_POST_QC = \"ManagePostQC\";\r\n GET_POST_QC_LIST = \"GetPostQCList\"; //added on 26 nov by pb\r\n GET_LAST_POSTQC_INFO = \"getLastPostQCInfoByTagNumber\"; // added on 27 nov by pb\r\n GET_STICKERS_TO_TRANSFER_OUT = \"GetStikersToTransferOut\";\r\n FACTORY_GARMENT_INVENTORY = \"GetGarmentInventory\";\r\n FACTORY_GENERATE_GATE_PASS = \"FactoryGenerateGatePass\";\r\n GET_FACTORY_PRINT_GATEPASS = \"getFactoryPrintGatePass\";\r\n /**\r\n * Constants required by Create Order Service [Store Module]\r\n * @author Niraj Gohel\r\n * @created 24 July 2020\r\n */\r\n GET_ADDON_SERVICES = \"GetAddOnServicesList\";\r\n GET_GARMENTS_WITH_SERVICES = \"GetGarmentListByService\";\r\n GET_RATE_CARD_FOR_STORE = \"GetRateCardForStore\";\r\n GET_RATE_CARD_FOR_CORPORATE = \"GetRateCardForCorporate\";\r\n GET_BRAND_DROPDOWN = \"GetBrandList\";\r\n GET_SIZE_DROPDOWN = \"GetSizeList\";\r\n GET_EFFECTIVE_PACKAGING_CHARGES = \"GetEffectivePackagingCharges\";\r\n GET_EFFECTIVE_DELIVERY_CHARGES = \"GetEffectiveDeliveryCharges\";\r\n CREATE_ORDER = \"CreateOrder\";\r\n GET_TIME_CARD_FOR_STORE = \"GetTimeCardForStore\";\r\n GET_TIME_CARD_FOR_CORPORATE = \"GetTimeCardForCorporate\";\r\n GET_ORDER_LIST = \"GetOrderList\";\r\n GET_ORDER_BY_ID = \"GetOrderDetails\";\r\n UPDATE_ORDER = \"UpdateOrder\";\r\n CANCEL_ORDER = \"CancelOrderRequestByOrderID\";\r\n GENERATE_TAGS = \"GenerateTagsOfOrder\";\r\n VALIDATE_PROMOCODE = \"CalculateOrderSummary\";\r\n //added by Payal on 02/09/2020\r\n GET_STORE_ESTIMATED_ORDER = \"getStoreEstimatedOrder\";\r\n\r\n /**\r\n * Enpoints required by Store Pre-QC\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 Aug 2020\r\n */\r\n GET_LAST_QC_INFO = \"getLastQCInfoByTagNumber\";\r\n\r\n /**\r\n * required constants for PackageConfiguration and ReferralBonusConfiguration (LK Wallet)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 22 Aug 2020\r\n */\r\n\r\n GET_LKPACKAGE_MASTER = \"GetLKPackageMaster\";\r\n SAVE_UPDATE_LKPACKAGE_MASTER = \"SaveUpdateLKPackageMaster\";\r\n DELETE_LKPACKAGE_BY_ID = \"DeleteLKPackageByLKPackageID\";\r\n GET_LKPACKAGE_DETAIL_BY_ID = \"GetLKPackageDetailByLKPackageID\";\r\n BUY_PACKAGE = \"BuyLKPackage\";\r\n GET_LKREFERRAL_PROGRAM_MASTER = \"GetLKReferralProgramMaster\";\r\n SAVE_UPDATE_LKREFERRAL_PROGRAM = \"SaveUpdateLKReferralProgram\";\r\n DELETE_LKREFERRAL_PROGRAM_BY_ID = \"DeleteLKReferralProgramByProgramID\";\r\n GET_REFERRAL_PROGRAM_DETAIL_BY_ID = \"GetReferralProgramDetailByProgramID\";\r\n\r\n /**\r\n * required constants for Compensation (LKWallet Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 24 Aug 2020\r\n */\r\n\r\n GET_LKCOMPENSATION_MASTER = \"GetLkCompensationMaster\";\r\n ADD_LKCOMPENSATION = \"AddLKCompensation\";\r\n GET_LKCOMPENSATION_DETAIL_BY_ID = \"GetLKCompensationDetailByLKCompensationID\";\r\n\r\n // added on 27/10/2020\r\n GET_ORDERIDS_COMPENSATION_BY_CUSTID =\r\n \"GetOrderIdsforCompensationByCustomerID\";\r\n\r\n /**\r\n * required constants for Store Garment Inventory (Store Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 24 Aug 2020\r\n */\r\n GET_GARMENT_INVENTORY_AT_STORE = \"GetGarmentInventoryAtStore\";\r\n\r\n /**\r\n * required constants for expense entry (store module)\r\n *\r\n * @author Niraj Gohel\r\n * @created 24 Aug 2020\r\n */\r\n EXPENSE_ENTRY_LIST = \"GetUserExpenseInfo\";\r\n ADD_UPDATE_EXPENSE = \"SaveUpdateUserExpenseInfo\";\r\n DELETE_EXPENSE = \"DeleteuserExpenseInfoByExpenseID\";\r\n\r\n /**\r\n * required constants for notice board (store module)\r\n *\r\n * @author Niraj Gohel\r\n * @created 24 Aug 2020\r\n */\r\n NOTICE_BOARD_LIST = \"GetNoticeboardInfoList\";\r\n ADD_UPDATE_NOTICE = \"SaveUpdateNoticeboardInfo\";\r\n DELETE_NOTICE = \"DeleteNoticeboardInfoByNoticeID\";\r\n /**\r\n * required constants for Delivery list (store module)\r\n *\r\n * @author Niraj Gohel\r\n * @created 24 Aug 2020\r\n */\r\n GET_DELIVERY_REQUESTS = \"GetDeliveryRequestsForWebportal\";\r\n GET_USER_LIST_BY_STORE = \"GetUserListByStoreID\";\r\n //26 Aug 2020 by PB\r\n REASSIGN_DELIVERY_REQUEST = \"ReassignDeliveryRequest\";\r\n RESCHEDULE_DELIVERY_REQUEST = \"RescheduleDeliveryRequest\";\r\n CANCEL_DELIVERY_REQUEST = \"CancelDeliveryRequest\";\r\n GE_DELIVERIES_BY_ID = \"GetDeliveriesByDeliveryID\";\r\n\r\n /**\r\n * required constants for Employee Credits (LKWallet Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 26 Aug 2020\r\n */\r\n\r\n GET_EMPLOYEE_CREDIT_MASTER = \"GetEmployeeCreditMaster\";\r\n GET_EMPLOYEE_CRDIT_FILE_REPORT = \"GetEmployCreditFileReport\";\r\n UPLOAD_EMPLOYEE_CREDIT = \"UploadEmployeeCredit\";\r\n GET_TAG_TO_PRINT = \"GetTagDetailToPrint\";\r\n GET_REWASh_TAG_TO_PRINT ='GetRewashTagDetailToPrint';\r\n\r\n GET_CUSTOMER_BULK_CREDIT_MASTER=\"GetCustomerBulkCreditMaster\";\r\n UPLOAD_CUSTOMER_BULK_CREDIT=\"UploadCustomerBulkCredit\";\r\n GET_CUSTOMER__BULK_CRDIT_FILE_REPORT =\"GetCustomerBulkCreditFileReport\";\r\n\r\n GET_CUSTOMER_BULK_DEBIT_MASTER=\"GetCustomerBulkDebitMaster\";\r\n UPLOAD_CUSTOMER_BULK_DEBIT=\"UploadCustomerBulkDebit\";\r\n GET_CUSTOMER__BULK_DEBIT_FILE_REPORT =\"GetCustomerBulkDebitFileReport\";\r\n\r\n GET_BULK_COUPON_MAP_UPLOAD_MASTER=\"GetBulkCouponMapUploadMaster\";\r\n GET_COUPON_BULK_UPLOAD_FILE_REPORT=\"GetCouponBulkUploadFileReport\";\r\n\tUPLOAD_BULK_COUPON_CUSTMAPPING=\"UploadBulkCouponCustMapping\";\r\n\r\n \r\n\r\n\r\n\r\n /**\r\n * required constants for Banner (Admin Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 27 Aug 2020\r\n */\r\n\r\n GET_BANNER_MASTER = \"GetBannerMaster\";\r\n SAVE_UPDATE_BANNER_MASTER = \"SaveUpdateBannerMaster\";\r\n DELETE_BANNER_MASTER_BY_ID = \"DeleteBannerMasterByBannerID\";\r\n GET_BANNER_MASTER_BY_ID = \"GetBannerMasterByBannerID\";\r\n\r\n /**\r\n * required constants for Ready For Delivery Orders (Store Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 28 Aug 2020\r\n */\r\n\r\n SPILT_ORDER_READY_FOR_INVOICE = \"SplitOrderReadyForInvoice\";\r\n\r\n /* required constants for Invoice Module\r\n *\r\n * @author Niraj Gohel\r\n * @created 01 Sept 2020\r\n */\r\n\r\n GET_INVOICE_DATA_FROM_SPLITORDER = \"GetDataForInvoiceCreation\";\r\n SAVE_UPDATE_INVOICE_INFO = \"SaveUpdateInvoiceInfo\";\r\n SAVE_UPDATE_INVOICE_PAYMENT_INFO = \"SaveUpdateInvoicePaymentInfo\";\r\n ADD_ADVANCE_PAYMENT = \"AddAdvancePayment\";\r\n\r\n /* required constants for Invoice Module\r\n *\r\n * @author Payal Bharakhda\r\n * @created 04 Sept 2020\r\n */\r\n\r\n GET_STORE_INVOICE_PRINT = \"GetStoreInvoicePrint\";\r\n GET_INVOICE_DATA = \"GetInvoiceData\";\r\n SETTLE_LESS_PAID = \"SettleLessPaidInvoice\";\r\n\r\n /* required constants for Gate Pass List (Store Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 12 Sept 2020\r\n */\r\n GET_GATE_PASS_LIST = \"GetGatePassList\";\r\n\r\n /* required constants for Refund (LK Module)\r\n *\r\n * @author Payal Bharakhda\r\n * @created 13 Sept 2020\r\n */\r\n\r\n GET_REFUND_MASTER = \"GetRefundMaster\";\r\n ADD_REFUND = \"AddRefund\";\r\n GET_REFUND_DETAIL_BY_ID = \"GetRefundDetailByLKRefundID\";\r\n\r\n /**\r\n * required constants for Advance Payment (LK module)\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 Sep 2020\r\n */\r\n GET_ADVANCE_PAYMENT_MASTER = \"GetAdvancePaymentMaster\";\r\n ADD_ADVANCE_PAYMENT = \"AddAdvancePayment\";\r\n GET_WALLET_BALANCE = \"GetMyWalletAmountByCustomerID\";\r\n\r\n /**\r\n * Finger Scan\r\n * @author Niraj Gohel\r\n * @created 1 Oct 2020\r\n */\r\n GET_USER_BY_STORE_FACTORY = \"GetUserOfStoreFactory\";\r\n SAVE_UPDATE_FINGERPRINT = \"SaveUpdateFIngurePrint\";\r\n GET_FINGER_PRINT_DATA = \"GetFingurePrintData\";\r\n\r\n /** Attendance\r\n * @author Niraj Gohel\r\n * @created 7 Oct 2020\r\n */\r\n GET_ATTENDANCE_DATA = \"GetAttendanceData\";\r\n GET_STORE_FICTORY_ISOTEMP = \"GetStoreFactoryISOTemplate\";\r\n ADD_UPDATE_PUNCHIN = \"AddUpdatePunchData\";\r\n REFRESH_TOKEN = \"RefreshTokenForPOSUser\";\r\n GET_ATTENDANCE_REPORT = \"GetAttendanceReport\";\r\n\r\n GET_ESTIMATED_PDF_BY_ORDER_ID = \"GetEstimatedOrderPrintByOrderID\";\r\n\r\n UPDARE_PASSWORD = \"UpdatePassword\";\r\n GET_PROFORMA_INVOICE_BY_ORDER_ID = \"GetPerformaInvoiceByOrderID\";\r\n\r\n /* required constants for Cash Collection Screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 26 Oct 2020\r\n */\r\n\r\n GET_CASH_COLLECTION_DATA = \"GetCashCollectionData\";\r\n SUBMIT_CASH_COLLECTION_DATA = \"SubmitCashCollectionData\";\r\n // 17th March 2021\r\n GET_ACCOUNT_EXEC_LIST_BY_STOREID = \"GetAcExecListByStoreID\";\r\n\r\n /* required constants for Service Icon Master Screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 30 Nov 2020\r\n */\r\n\r\n GET_SERVICE_ICON_MASTER = \"GetServiceIconMaster\";\r\n GET_SERVICE_ICON_DETAILS_BY_ICON_ID = \"GetServiceIconsDetailsByIconID\";\r\n DELETE_SERVICE_ICONS_BY_ID = \"DeleteServiceIconsByIconIDs\";\r\n SAVE_UPDATE_SERVICE_ICON_MASTER = \"SaveUpdateServiceIconMaster\";\r\n\r\n /* required constants for pickup screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 30 Nov 2020\r\n */\r\n GET_STORE_ID_BY_CUST_ADDRESS = \"GetStoreIDByCustomerAddressID\";\r\n\r\n /* required constants for factory gate pass screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 01 Dec 2020\r\n */\r\n GET_FACTORY_GATE_PASS_LIST = \"GetFactoryGatePassList\";\r\n\r\n /* required constants for Standard Rate Card Screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 13th Oct 2020\r\n */\r\n\r\n GET_STATIC_SERVICE_RATE_SAMPLE = \"GetStaticServiceRateSample\";\r\n DELETE_STATIC_SERVICE_RATE_BY_ID = \"DeleteStaticServiceRateSampleByID\";\r\n SAVE_UPDATE_STATIC_SERVICE_RATE_SAMPLE = \"SaveUpdateStaticServiceRateSample\";\r\n\r\n SPLIT_ORDER_MARK_DELIVERY_AS_DELIVERED = \"SplitOrderMarkDeliveryAsDelivered\";\r\n\r\n /* required constants for Partial Order Received Screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 15th April 2021\r\n */\r\n\r\n GET_PARTIAL_ORDER_RECEIVED_LIST = \"GetPartialOrderReceivedList\";\r\n\r\n /* required constants for Email Verification\r\n *\r\n * @author Payal Bharakhda\r\n * @created 27th April 2021\r\n */\r\n CUSTOMER_EMAIL_VERIFICATION = \"CustomerEmailVerification\";\r\n\r\n /* required constants for Factory Mapping Screen inside Store Master Screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 28th April 2021\r\n */\r\n GET_FACTORY_OFFERED_SERVICES_BY_FACTORY_ID =\r\n \"GetFactoryOfferedServicesByFactoryID\";\r\n GET_STORE_FACTORY_MAPPING = \"GetStoreFactoryMappings\";\r\n GET_STORE_FACTORY_MAPPING_BY_ID = \"GetStoreFactoryMappingByMappingID\";\r\n SAVE_UPDATE_STORE_FACTORY_MAPPING = \"SaveUpdateStoreFactoryMapping\";\r\n DELETE_STORE_FACTORY_MAPPING_BY_ID = \"DeleteStoreFactoryMappingByMappingID\";\r\n\r\n /* required constants for Paytm EDC Machine Configuration Screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 5th May 2021\r\n */\r\n\r\n GET_PAYTM_EDC_MASTER = \"GetPaytmEDCMaster\";\r\n GET_PAYTM_EDC_MASTER_BY_ID = \"GetPaytmEDCMasterByEDCInfoID\";\r\n ADD_UPDATE_PAYTM_EDC_MACHINE_INFO = \"AddUpdatePaytmEDCMachineInfo\";\r\n DELETE_PAYTM_EDC_MACHINE_MASTER = \"DeletePaytmEDCMachineMaster\";\r\n\r\n GET_ACTIVE_USER_LIST = \"GetActiveUserList\";\r\n QR_CODE_GENERATOR = \"QRCodeGenerator\";\r\n QR_CODE_STATUS_CHECK = \"QRCodeStatusCheck\";\r\n CHECK_PAYMENT_TRANSACTION_STATUS=\"CheckPaymentTransactionStatus\";\r\n QR_CODE_STATUS_UPDATE = \"SaveUpdateQRCodeStatus\"; \r\n\r\n /* @auther Hasti Tilva\r\n @created 17/09/2021\r\n */\r\n SETTLE_INVOICE_WITHOUT_PAYMENT =\"SettleInvoiceWithoutPayment\";\r\n GET_ORDER_HISTORY=\"GetOrderHistory\";\r\n GET_ORDERLISTBYMOBILENO=\"GetOrderListByMobileNo\";\r\n GET_ORDER_HISTORY_FROM_SPLITEORDERNUMBER =\"GetOrderHistoryFromSplitOrderNumber\";\r\n GET_ORDER_HISTORY_LOADMOREDATA =\"GetOrderHistoryLoadMoreData\";\r\n\r\n GET_BULK_NOTIFICATION_MASTER=\"GetBulkPushNotiMaster\";\r\n GET_BULK_PUSH_NOTIFICATION_FILE_REPORT=\"GetBulkPushNotiFileReport\";\r\n UPLOAD_BULK_PUSH_NOTIFICATION=\"UploadBulkPushNotification\";\r\n\r\n GET_STORE_IN_PENDING_LIST=\"GetStoreInPendingList\";\r\n GET_FACTORY_IN_PENDING_LIST=\"GetFactoryInPendingList\";\r\n GET_FACTORY_GARMENT_PROCESS_DETAIL=\"GetFactoryGarmentProcessDetail\"\r\n FACTORY_SET_PROCESS_GARMENT=\"FactorySetProcessGarment\"\r\n GET_PROCESS_LIST=\"GetProcessList\"\r\n\r\n TERMS_AND_CONDITIONS_LIST = \"GetTermsAndConditionInfoList\";\r\n ADD_UPDATE_TERMS_AND_CONDITIONS=\"SaveUpdateTermsAndConditions\";\r\n DELETE_TERMS_AND_CONDITIONS=\"DeleteTermsAndConditionByID\";\r\n\r\n GET_DELIVERY_MANAGEMENT=\"GetDeliveryManagmnet\";\r\n GET_DELIVERYDATA_FROM_SPLITORDERSTATUS=\"GetDeliveryDataFromSplitOrderStatus\"\r\n\r\n UPDATE_DELIVERY_DATE=\"UpdateDeliveryDate\";\r\n\r\n GET_FAQ_LIST =\"GetfaqList\";\r\n SAVE_UPDATE_FAQ=\"SaveUpdateFaq\";\r\n DELETE_FAQ=\"DeleteFaqByID\";\r\n\r\n\r\n UPDATE_INVOICE_REMARK =\"UpdateInvoiceRemark\";\r\n\r\n GET_PENDING_CASH_SUMMARY=\"GetPendingCashSummary\";\r\n GET_PENDING_CASH_SUMMARY_DETAIL=\"GetPendingCashSummaryDetail\";\r\n ESCALATEDELIVERY=\"EscalateDelivery\";\r\n GET_ORDER_SUMMARY_REPORT=\"OrderSummaryReport\";\r\n\r\n GET_INVENTORY_SUMMARY=\"GetInventorySummary\";\r\n GET_ROLEACCESS_DROPDOWN = \"GetRoleAccessList\";\r\n\r\n GET_OUT_OF_COVERAGE=\"OutOfCoverage\";\r\n GET_PICKUP_DELIVERY_ASSIGNMENT_LIST=\"GetPickupAndDeliveryExecutive\";\r\n CDA_ADD_ALT_NUMBER_FOR_CUSTOMER=\"CDAAddAltNumberForCustomer\";\r\n CDA_SEND_RESEND_CUSTOMEROTP=\"CDASendResendCustomerOTP\";\r\n\r\n DYNAMICQR_CODE_GENERATOR =\"DynamicQRCodeGenerator\";\r\n GET_PAYMENT_LOG_DATA=\"GetPaymentLogdata\";\r\n\r\n INSERT_PAYMENT_PROCESSLOG=\"InsertPaytmprocesslog\";\r\n GET_TODAY_PICKUP_LIST=\"GetTodayPickupList\";\r\n GET_TODAY_DELIVERY_LIST=\"GetTodayDeliveryList\";\r\n RESEND_DELIVERY_OTP =\"ResendDeliveryOTP\"\r\n DAILY_ORDER_SUMMARY =\"DailyOrderSummary\";\r\n DAILY_PICKUP_SUMMARY =\"DailyPickupSummary\";\r\n MONTHLY_PICKUP_SUMMARY=\"MonthlyPickupSummary\";\r\n UPDATE_VERIFIED_OTP_DATETIME=\"UpdateVerifiedOTPDateTime\";\r\n MONTHLY_ORDER_SUMMARY =\"MonthlyOrderSummary\";\r\n\r\n UPDATE_PICKUP_STOREID=\"UpdatePickupStoreID\";\r\n GETAPPFLYERDATA=\"GetAppflyerData\";\r\n\r\n CHECK_PHONEPE_STATUS =\"CheckPhonePeStatus\";\r\n SAVE_UPDATE_PHONEPE_STATUS=\"SaveUpdatePhonePeStatus\";\r\n\r\n GET_DAILY_EXPRESSORDER_DATA=\"GetDailyExpressOrderData\";\r\n GET_DAILY_REWASHORDER_DATA=\"GetDailyRewashOrderData\";\r\n GET_DAILY_FIVESTARORDER_DATA=\"GetDailyFiveStarOrderData\";\r\n ADD_URGENT_ORDER=\"AddUrgentOrder\";\r\n \r\n}\r\n\r\nexport default EndPointEntity;\r\n","import { } from \"./authservice\";\r\n\r\nexport function authHeader() {\r\n // return authorization header with jwt token\r\n const currentUser = JSON.parse(localStorage.getItem(\"currentuser\"));\r\n if (currentUser && currentUser.token) {\r\n return { Authorization: `Bearer ${currentUser.token}` };\r\n } else {\r\n return {};\r\n }\r\n}\r\n\r\nexport function IsAuthenticated() {\r\n const currentUser = JSON.parse(localStorage.getItem(\"currentuser\"));\r\n if (currentUser && currentUser.token) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n","import { authHeader } from \"../services/auth-header\";\r\n// import { throwError } from \"rxjs\";\r\nconst axios = require(\"axios\");\r\n\r\nfunction kebabCaseToCamel(str) {\r\n return str.replace(/(\\-\\w)/g, (matches) => matches[1].toUpperCase());\r\n}\r\n\r\nclass API {\r\n constructor({ url }) {\r\n this.url = url;\r\n this.endpoints = {};\r\n }\r\n /**\r\n * Create and store a single entity's endpoints\r\n * @param {A entity Object} entity\r\n */\r\n createEntity(entity) {\r\n const name = kebabCaseToCamel(entity.name);\r\n this.endpoints[name] = this.createBasicCRUDEndpoints(entity);\r\n }\r\n\r\n createEntities(arrayOfEntity) {\r\n arrayOfEntity.forEach(this.createEntity.bind(this));\r\n }\r\n /**\r\n * Create the basic endpoints handlers for CRUD operations\r\n * @param {A entity Object} entity\r\n */\r\n createBasicCRUDEndpoints({ name }) {\r\n var endpoints = {};\r\n let auth_header = authHeader();\r\n const resourceURL = `${this.url}/${name}`;\r\n\r\n endpoints.postAllWithoutToken = (params = {}, config = {}) =>\r\n axios.post(resourceURL, params, config);\r\n\r\n endpoints.getAll = (params = {}, config = {}) => {\r\n return auth_header\r\n ? axios.get(resourceURL, { ...params, headers: auth_header, ...config })\r\n : false;\r\n };\r\n\r\n endpoints.getByIdWithoutToken = (id, config = {}) =>\r\n axios.get(`${resourceURL}${id}`, { headers: auth_header, ...config })\r\n\r\n endpoints.getAllPost = (toCreate, config = {}) => {\r\n let { headers, ...rest } = config;\r\n let sendHeaders = { ...auth_header, ...headers };\r\n return auth_header\r\n ? axios.post(resourceURL, toCreate, {\r\n headers: sendHeaders,\r\n ...rest,\r\n })\r\n : false;\r\n };\r\n\r\n endpoints.getOne = (id, config = {}) =>\r\n auth_header\r\n ? axios.get(`${resourceURL}${id}`, { headers: auth_header, ...config })\r\n : false;\r\n\r\n endpoints.create = (toCreate, config = {}) =>\r\n auth_header\r\n ? axios.post(resourceURL, toCreate, { headers: auth_header, ...config })\r\n : false;\r\n\r\n endpoints.update = (toUpdate, config = {}) =>\r\n auth_header\r\n ? axios.put(`${resourceURL}/${toUpdate.id}`, toUpdate, {\r\n headers: auth_header,\r\n ...config,\r\n })\r\n : false;\r\n\r\n endpoints.patch = (id, toPatch, config = {}) =>\r\n auth_header\r\n ? axios.patch(`${resourceURL}/${id}`, toPatch, {\r\n headers: auth_header,\r\n ...config,\r\n })\r\n : false;\r\n\r\n endpoints.delete = ({ id }, config = {}) =>\r\n auth_header\r\n ? axios.delete(`${resourceURL}/${id}`, {\r\n headers: auth_header,\r\n ...config,\r\n })\r\n : false;\r\n endpoints.deleteById = (id, config = {}) =>\r\n auth_header\r\n ? axios.post(\r\n `${resourceURL}${id}`,\r\n {},\r\n { headers: auth_header, ...config }\r\n )\r\n : false; //added by PB\r\n\r\n endpoints.getDropdown = (config = {}) =>\r\n auth_header\r\n ? axios.get(`${resourceURL}`, { headers: auth_header, ...config })\r\n : false;\r\n\r\n endpoints.getById = (id, config = {}) =>\r\n auth_header\r\n ? axios.get(`${resourceURL}${id}`, { headers: auth_header, ...config })\r\n : false;\r\n endpoints.uploadFile = (id, postData, config = {}) =>\r\n auth_header\r\n ? axios.post(`${resourceURL}${id}`, postData, {\r\n headers: auth_header,\r\n ...config,\r\n })\r\n : false;\r\n\r\n endpoints.getOneCoupon = (id, CouponID, config = {}) =>\r\n auth_header\r\n ? axios.post(`${resourceURL}/${id}`, CouponID, {\r\n headers: auth_header,\r\n ...config,\r\n })\r\n : false;\r\n\r\n endpoints.getOneDiscount = (id, DiscountID, config = {}) =>\r\n auth_header\r\n ? axios.post(`${resourceURL}/${id}`, DiscountID, {\r\n headers: auth_header,\r\n ...config,\r\n })\r\n : false;\r\n\r\n return endpoints;\r\n }\r\n}\r\n\r\nexport default API;\r\n","//var allLabels = require(\"../../public/files/language.json\")\r\n\r\nimport { faMehRollingEyes } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n// const allLabels = data.map((res) => {\r\n// return res;\r\n// })\r\n\r\nconst allLabels = {\r\n ENGLISH: {\r\n SELECT_SERVICE: \"Select Service\",\r\n SELECT_FACTORY: \"Select Factory\",\r\n SPLIT_ORDER: \"Split Order\",\r\n CUSTOMER_NAME: \"Customer Name\",\r\n ORDER_DATE: \"Order Date\",\r\n TOTAL_GARMENTS: \"Total Garments\",\r\n SPLIT_ORDER_NUMBER: \"Split Order Number\",\r\n TAG_NUMBER: \"Tag Number\",\r\n GARMENT_NAME: \"Garment Name\",\r\n GARMENT_DEFECT : \"Garment Defect\",\r\n ADD_ON_SERVICES: \"Add-on Services\",\r\n GENERATE_GATE_PASS: \"Generate Gate Pass\",\r\n GATE_PASS_NUMBER: \"Gate pass Number\",\r\n STORE_NAME: \"Store Name\",\r\n FACTORY_NAME: \"Factory Name\",\r\n STORE_GARMENTS_OUT: \"Store Garments Out\",\r\n TOTAL_SPLIT_NUMBER: \"Total Split number\",\r\n GATE_PASS_DATE: \"Gate Pass Date\",\r\n STIKER_NUMBER: \"Sticker Number\",\r\n PLEASESCAN_ADD_STICKER: \"Please Scan/Add Sticker\",\r\n ENTER_SCAN_STICKER: \"Enter/Scan Sticker\",\r\n CUSTOMER_CONTACT: \"Customer Contact\",\r\n DELIVERY_TYPE: \"Delivery Type\",\r\n SPLIT_ORDER_NO: \"Split Order No\",\r\n GATE_PASS_NO: \"Gate Pass No\",\r\n DELIVERY_DATE: \"Delivery Date\",\r\n GARMENTS_IN_PROCESS: \"Garments In Process\",\r\n PACKED_GARMENTS: \"Packed Garments\",\r\n PACKING_MATERIAL: \"Packing Material\",\r\n STICKER_STATUS: \"Sticker Status\",\r\n SPLIT_ORDER_STATUS: \"Split Order Status\",\r\n GARMENTS_PACKED_INFORMATION: \"Garments Packed Information\",\r\n USER_EXPENSE_ENTRY: \"User Expense Entry\",\r\n USER_NAME: \"User Name\",\r\n EXPENSE_DATE: \"Expense Date\",\r\n AMOUNT: \"Amount\",\r\n REMARKS: \"Remarks\",\r\n ARE_YOU_SURE: \"Are you sure ?\",\r\n ADD_EXPENSE: \"Add Expense\",\r\n APPLY: \"Apply\",\r\n SELECT_EXPENSE_TYPE: \"Select Expense Type\",\r\n PLEASE_ENTER_AMOUNT: \"Please Enter Amount\",\r\n ENTER_AMOUNT: \"Enter Amount\",\r\n ENTER_REMARKS: \"Enter Remarks\",\r\n GARMENTS_PENDING_TO_SEND_TO_FACTORY: \"Garments Pending to send to Factory\",\r\n ORDERS_PENDING_TO_SEND_TO_FACTORY: \"Orders Pending to send to Factory\",\r\n SPILT_ORDERS_RECEIVED_FROM_FACTORY: \"Spilt Orders Received from Factory\",\r\n PENDING_FOR_NO_OF_DAYS: \"Pending for No of Days\",\r\n STORE_GARMENT_INVENTORY: \"Store Garment Inventory\",\r\n GARMENTS_RECEIVED_FROM_FACTORY: \"Garments Received from Factory\",\r\n FACTORY_TRANSFER_IN: \"Factory Transfer-In\",\r\n SELECT_STORE: \"Select Store\",\r\n GET_MISSING_GARMENTS: \"Get Missing Garments\",\r\n TAGS_FROM_STORES: \"Tags From Stores\",\r\n SCANNING: \"Scanning\",\r\n TAGS_TO_THE_FACTORY: \"Tags To The Factory\",\r\n MISSING_GARMENTS: \"Missing Garments\",\r\n SCAN_COMPLETE: \"Scan Complete\",\r\n SEARCH_HERE: \"Search Here\",\r\n RESORTING_AND_PACKAGING: \"Resorting & Packaging\",\r\n ORDER_NUMBER: \"Order Number\",\r\n SRORE_NAME: \"Store Name\",\r\n NO_OF_GARMENTS: \"No Of Garments\",\r\n GARMENT_LEVEL_INFO: \"Garment Level Info\",\r\n SELECTED_PENDING_GARMENT: \"Selected Pending Garment\",\r\n PREVIOUSLY_GARMENTS_PACKED_IN: \"Previously Garments Packed In\",\r\n PENDING_GARMENTS_TO_BE_PACKED_IN: \"Pending Garments To Be Packed In\",\r\n GENERATE_STICKER: \"Generate Sticker\",\r\n PRINT_GENERATE_STICKER: \"Print Generate Sticker\",\r\n SR_NO: \"Sr. No\",\r\n GARMENTS_PACKED: \"Garments Packed\",\r\n PENDING_GARMENTS: \"Pending Garments\",\r\n PACKING_GARMENTS: \"Packing Garments\",\r\n FACTORY_TRANSFER_OUT: \"Factory Transfer Out\",\r\n FACTORY_GATE_PASS_NUMBER: \"Factory Gate Pass Number :\",\r\n STORE_ADDRESS: \"Store Address\",\r\n CREATED_BY: \"Created By\",\r\n S_NO: \"S. No\",\r\n SPLIT_ORDER_ID: \"Split Order Id\",\r\n NUMBER_OF_GARMENTS: \"Number Of Garments\",\r\n PACKED: \"Packed\",\r\n ORDER_LOT_SIZE: \"Order Lot Size\",\r\n PREVIOUSLY_SENT: \"Previously Sent\",\r\n SENDING_TODAY: \"Sending Today\",\r\n PENDING: \"Pending\",\r\n BAG: \"Bag\",\r\n HANGER: \"Hanger\",\r\n BLANKET: \"Blanket\",\r\n SHOE: \"Shoe\",\r\n CARPET: \"Carpet\",\r\n CURTAIN: \"Curtain\",\r\n OTHERS: \"Others\",\r\n STICKER_NO: \"Sticker No\",\r\n SPLLIT_ORDER_NO: \"Split Order No\",\r\n PACKING_MATERIAL_NAME: \"Packing Material Name\",\r\n PRE_QC_RESPONSE_LIST: \"Pre-QC Response List\",\r\n SELECT_QC_STATUS: \"Select QC Status\",\r\n TAG: \"Tag\",\r\n CONTACT: \"Contact\",\r\n QC_REQUEST: \"Qc Request\",\r\n TIME: \"Time\",\r\n QC_REASON: \"QC Reason\",\r\n REMARK: \"Remark\",\r\n QC_PENDING_FROM: \"QC Pending From\",\r\n QC_STATUS: \"QC Status\",\r\n ENTER_SCAN_TAG_NUMBER: \"Enter/Scan Tag Number\",\r\n GARMENT_HISTORY: \"Garment History\",\r\n GARMENT_INFORMATION: \"Garment Information\",\r\n GARMENT_STATUS: \"Garment Status\",\r\n GATE_PASS: \"Gate Pass\",\r\n BRAND: \"Brand\",\r\n COLOR: \"Color\",\r\n ADD_ON_SERVICE: \"Add On Service\",\r\n SPECIAL_INSTRUCTION: \"Special Instruction\",\r\n LATEST_QC_DETAILS: \"Latest QC Details\",\r\n IMAGES: \"Images\",\r\n REASON: \"Reason\",\r\n SELECT_REASON: \"Select Reason\",\r\n COMMUNICATION_HISTORY: \"Communication History\",\r\n SELECT_SCAN_GARMENT: \"Select/Scan Garment\",\r\n GARMENT_FOR_QC: \"Garment for QC\",\r\n SCANNED_ITEM: \"Scanned Item\",\r\n ADDON_SERVICE: \"AddOn Service\",\r\n CONTACT_NO: \"Contact No\",\r\n STICKER_INFORMATION: \"Sticker Information\",\r\n DOWNLOAD_GATE_PASS: \"Download Gate Pass\",\r\n STORE_GATE_PASS_NUMBER: \"Store Gate Pass Number\",\r\n FACTORY_ADDRESS: \"Factory Address\",\r\n PICKUP_DATE: \"Pickup Date\",\r\n REFFERAL_PROGRAM_NAME: \"Refferal Program Name\",\r\n REFFERAL_BONUS_AMOUNT: \"Refferal Bonus Amount\",\r\n REFEREE_BONUS_AMOUNT: \"Referee Bonus Amount\",\r\n YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM:\r\n \"You can only update the last added program\",\r\n UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA:\r\n \"Unable to get list of refferal bonus configuration data\",\r\n UNABLE_TO_SUBMIT_THE_DATA: \"Unable to submit the data\",\r\n ADD_REFFERAL_BONUS_CONFIGURATION: \"Add Refferal Bonus Configuration\",\r\n VIEW_REFFERAL_BONUS_CONFIGURATION: \"View Refferal Bonus Configuration\",\r\n EDIT_REFFERAL_BONUS_CONFIGURATION: \"Edit Refferal Bonus Configuration\",\r\n PLEASE_ENTER_REFFERAL_PROGRAM_NAME: \"Please Enter Refferal Program Name\",\r\n ENTER_REFFERAL_PROGRAM_NAME: \"Enter Refferal Program Name\",\r\n PLEASE_ENTER_REFERRAL_BONUS_AMOUNT: \"Please Enter Refferal Bonus Amount\",\r\n ENTER_REFERRAL_BONUS_AMOUNT: \"Enter Refferal Bonus Amount\",\r\n PLEASE_ENTER_REFEREE_BONUS_AMOUNT: \"Please Enter Referee Bonus Amount\",\r\n ENTER_REFEREE_BONUS_AMOUNT: \"Enter Referee Bonus Amount\",\r\n ENTER_BONUS_AMOUNT_VALIDITY_DAYS: \"Enter Bonus Amount Validity (Days)\",\r\n ARE_YOU_SURE_YOU_WANT_TO_CREATE_THIS_PROGRAM_AS_PREVIOUS_PROGRAMS_WILL_GET_DEACTIVATED:\r\n \"Are you sure you want to create this program as previous programs will get deactivated\",\r\n FILE_NAME: \"File Name\",\r\n TOTAL_RECORDS: \"Total Records\",\r\n SUCCEEDED: \"Succeeded\",\r\n DOWNLOAD: \"Download\",\r\n FAILED: \"Failed\",\r\n UPLOADED_BY: \"Uploaded By\",\r\n UPLOADED_ON: \"Uploaded On\",\r\n UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA:\r\n \"Unable to get list of employee credit data\",\r\n UNABLE_TO_UPLOAD_THE_FILE: \"Unable to upload the file\",\r\n DOWNLOAD_FORMAT: \"Download Format\",\r\n UPLOAD_FILE: \"Upload File\",\r\n ADD_EMPLOYEE_CREDITS: \"Add Employee Credits\",\r\n VIEW_EMPLOYEE_CREDITS: \"View Employee Credits\",\r\n EDIT_EMPLOYEE_CREDITS: \"Edit Employee Credits\",\r\n UPLOAD_EMPLOYEE_CREDIT_CONFIGURATION_FILE:\r\n \"Upload Employee Credit Configuration File\",\r\n\r\n ADD_CUSTOMER_BULK_CREDIT: \"Add Customer Bulk Credit\",\r\n VIEW_CUSTOMER_BULK_CREDIT: \"View Customer Bulk Credit\",\r\n EDIT_CUSTOMER_BULK_CREDIT: \"Edit Customer Bulk Credit\",\r\n UPLOAD_CUSTOMER_BULK_CREDIT_CONFIGURATION_FILE:\r\n \"Upload Customer Bulk Credit Configuration File\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMER_BULK_CREDIT_DATA:\r\n \"Unable to get list of customer bulk credit data\",\r\n\r\n ADD_CUSTOMER_BULK_DEBIT: \"Add Customer Bulk Debit\",\r\n VIEW_CUSTOMER_BULK_DEBIT: \"View Customer Bulk Debit\",\r\n EDIT_CUSTOMER_BULK_DEBIT: \"Edit Customer Bulk Debit\",\r\n UPLOAD_CUSTOMER_BULK_DEBIT_CONFIGURATION_FILE:\r\n \"Upload Customer Bulk Debit Configuration File\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMER_BULK_DEBIT_DATA:\r\n \"Unable to get list of customer bulk debit data\",\r\n\r\n ADD_BULK_UPLOAD_COUPON_CODES: \"Add Bulk Upload Coupon Codes\",\r\n VIEW_BULK_UPLOAD_COUPON_CODES: \"View Bulk Upload Coupon Codes\",\r\n EDIT_BULK_UPLOAD_COUPON_CODES: \"Edit Bulk Upload Coupon Codes\",\r\n UPLOAD_BULK_UPLOAD_COUPON_CODES_CONFIGURATION_FILE:\r\n \"Upload Bulk Upload Coupon Codes Configuration File\",\r\n UNABLE_TO_GET_LIST_OF_BULK_UPLOAD_COUPON_CODES_DATA:\r\n \"Unable to get list of Bulk Upload Coupon Codes data\",\r\n\r\n PLEASE_SELECT_FILE: \"Please select File\",\r\n CLICK_TO_UPLOAD: \"Click to Upload\",\r\n UPLOAD: \"Upload\",\r\n UNABLE_TO_LOAD_PACKAGES: \"Unable to Load Packages\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMERS: \"Unable to get list of customers\",\r\n TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED:\r\n \"Transaction has been successfully processed\",\r\n UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN:\r\n \"Unable to Process transaction,please try again\",\r\n UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM:\r\n \"Unable to Process. Please contact technical team\",\r\n PACKAGE_PURCHASED_SUCCESSFULLY: \"Package purchased successfully\",\r\n UNABLE_TO_BUY_PACKAGE: \"Unable to buy package\",\r\n BUY: \"Buy\",\r\n PLEASE_SELECT_CUSTOMER: \"Please Select Customer\",\r\n SEARCH_CUSTOMER: \"Search Customer\",\r\n MONEY_TYPE: \"Money Type\",\r\n ADDED_BY: \"Added By\",\r\n ADDED_ON: \"Added On\",\r\n UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA:\r\n \"Unable to get list of advance payment data\",\r\n ADVANCE_COLLECTED_SUCCESSFULLY: \"Advance collected successfully\",\r\n UNABLE_TO_ADD_AMOUNT_TO_LKWALLET: \"Unable to add amount to LKWallet\",\r\n ADD_ADVANCE_PAYMENT: \"Add Advance Payment\",\r\n VALID_FROM: \"Valid From\",\r\n VALID_TO: \"Valid To\",\r\n UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA:\r\n \"Unable to get list of compensation configuration data\",\r\n UNABLE_TO_ADD_THE_DATA: \"Unable to add the data\",\r\n COMPENSATION_CONFIGURATION: \"Compensation Configuration\",\r\n ADD_COMPENSATION_CONFIGURATION: \"Add Compensation Configuration\",\r\n VIEW_COMPENSATION_CONFIGURATION: \"View Compensation Configuration\",\r\n EDIT_COMPENSATION_CONFIGURATION: \"Edit Compensation Configuration\",\r\n VALID_FROM_AND_TO_DATE: \"Valid From And To Date\",\r\n PLEASE_SELECT_VALID_FROM_AND_TO_DATE:\r\n \"Please Select Valid From And To Date\",\r\n PLEASE_ENTER_REMARK: \"Please Enter Remark\",\r\n ENTER_REMARK: \"Enter Remark\",\r\n UNABLE_TO_GET_LIST_OF_REFUND_DATA: \"Unable to get list of refund data\",\r\n UNABLE_TO_ADD_REFUND_DATA: \"Unable to add refund data\",\r\n ADD_REFUND: \"Add Refund\",\r\n VIEW_REFUND: \"View Refund\",\r\n DATA_SUCCESSFULLY_SUBMITTED: \"Data successfully submitted\",\r\n UNABLE_TO_SUBMIT_TAG_DATA: \"Unable to submit tag data\",\r\n UNABLE_TO_LOAD_TAG_DATA: \"Unable to Load tag data\",\r\n UNABLE_TO_GET_TAG_DATA: \"Unable to get tag data\",\r\n PLEASE_ENTER_TAG_NO: \"Please enter tag no\",\r\n FACTORY_POST_QC: \"Factory Post-QC\",\r\n PLEASE_SCAN_ADD_TAG_NUMBER: \"Please scan/add tag number\",\r\n SELECT_STATUS: \"Select Status\",\r\n PLEASE_ENTER_REMARKS: \"Please Enter Remarks\",\r\n UNABLE_TO_LOAD_PRE_QC_RESPONSES: \"Unable to load pre-qc responses\",\r\n FACTORY_PRE_QC: \"Factory Pre-QC\",\r\n ADD_GARMENT_FOR_QC: \"Add Garment for QC\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"Data is successfully saved\",\r\n GARMENT_SHOULD_BE_IN_FACTORY_TO_BE_ADDED_FOR_QC:\r\n \"Garment should be in factory to be added for QC\",\r\n UNABLE_TO_GET_GARMENT_DETAILS: \"Unable to get garment details\",\r\n GET_GARMENT_HISTORY: \"Get Garment History\",\r\n PLEASE_SELECT_REASON: \"Please Select Reason\",\r\n UNABLE_TO_GET_CORPORATE_DATA: \"Unable to get corporate data\",\r\n GARMENTS_AT_QC: \"Garments At QC\",\r\n GARMENTS_IN_POST_QC: \"Garments in Post QC\",\r\n UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA:\r\n \"Unable to get Factory Garments Inventory Data\",\r\n GARMENT_INVENTORY_AT_FACTORY: \"Garment Inventory At Factory\",\r\n DASHBOARD: \"Dashboard\",\r\n CUSTOMERS: \"Customers\",\r\n MANAGE_CUSTOMERS: \"Manage Customers\",\r\n PACKAGE_CONFIGURATION: \"Package Configuration\",\r\n REFERRAL_BONUS_CONFIGURATION: \"Refferal Bonus Configuration\",\r\n EMPLOYEE_CREDITS: \"Employee Credits\",\r\n MISSING: \"Missing\",\r\n DAMAGE: \"Damage\",\r\n\r\n BUY_PACKAGE: \"Buy Package\",\r\n CUSTOMER_BULK_CREDIT: \"Customer Bulk Credit\",\r\n CUSTOMER_BULK_DEBIT: \"Customer Bulk Debit\",\r\n ADVANCE_PAYMENTS: \"Advance Payments\",\r\n COMPENSATION: \"Compensation\",\r\n REFUND: \"Refund\",\r\n MASTER: \"Master\",\r\n STORE: \"Store\",\r\n FACTORY: \"Factory\",\r\n CORPORATE: \"Corporate\",\r\n CITY: \"City\",\r\n STATE: \"State\",\r\n DESIGNATION: \"Designation\",\r\n GARMENT_BRAND: \"Garment Brand\",\r\n GARMENT_SIZE: \"Garment Size\",\r\n KYC_DOCUMENT_TYPE: \"KYC Document Type\",\r\n SERVICE: \"Service\",\r\n GARMENT: \"Garment\",\r\n REWASH_REASON: \"Rewash Reason\",\r\n OPERATION_INSTRUCTION: \"Operation Instruction\",\r\n EXPENSE_TYPE: \"Expense Type\",\r\n ORDERS: \"Orders\",\r\n PICKUPS: \"Pickups\",\r\n MANAGE_ORDERS: \"Manage Orders\",\r\n READY_FOR_DELIVERY_OR_INVOICE: \"Ready for Delivery/Invoice\",\r\n DELIVERIES: \"Deliveries\",\r\n TRANSFER_IN_OUT: \"Transfer In/Out\",\r\n TRANSFER_OUT: \"Transfer Out\",\r\n GATE_PASS_LIST: \"Gate Pass List\",\r\n TRANSFER_IN: \"Transfer In\",\r\n PRE_QC_RESPONSES: \"Pre-QC Response\",\r\n USER_EXPENSES: \"User Expenses\",\r\n INVENTORY: \"Inventory\",\r\n SETTINGS: \"Settings\",\r\n AUTHENTICATION: \"Authentication\",\r\n USERS: \"Users\",\r\n ROLES: \"Roles\",\r\n ROLE_OPERATIONS: \"Role Operations\",\r\n CONFIGURATION: \"Configuration\",\r\n TIME_CARD: \"Time Card\",\r\n RATE_CARD: \"Rate Card\",\r\n DISCOUNT: \"Discount\",\r\n CASH_COUPON: \"Cash Coupon\",\r\n UPLOAD_CUSTOMER_TO_COUPON_MAPPING: \"Upload Customer to Coupon Mapping\",\r\n PACKAGING_CHARGES: \"Packaging Charges\",\r\n DELIVERY_CHARGES: \"Delivery Charges\",\r\n REWARDS_CONFIG: \"Rewards Config\",\r\n BANNER: \"Banner\",\r\n NOTICE_BOARD: \"Notice Board\",\r\n FINGER_SCAN: \"Finger Scan\",\r\n COLLECT_FINGERPRINTS: \"Collect Fingerprints\",\r\n QC_RESPONSES: \"QC Responses\",\r\n PRE_QC: \"Pre QC\",\r\n POST_QC: \"Post QC\",\r\n TODAYS_HIGHLIGHTS: \"Today's Highlights\",\r\n ORDER_VS_ORDER_AMOUNT: \"Orders/Order Amount\",\r\n INVOICE_VS_INVOICE_AMOUNT: \"Invoice/Invoice Amount\",\r\n STORE_INVENTORY: \"Store Inventory\",\r\n OTHER_STATASTICS: \"Other Statistics\",\r\n PROCESSED: \"Processed\",\r\n SOILED: \"Soiled\",\r\n AMOUNT_DUE_FOR_COLLECTION: \"Amount Due for collection\",\r\n ORDERS_READY_FOR_INVOICE: \"Orders Ready for Invoice\",\r\n DELIVERY_PERSON: \"Delivery Person\",\r\n WALK_IN: \"Walk-in\",\r\n PENDING_TO_TRANSFER_OUT_TO_FACTORY: \"Pending to transfer out to factory\",\r\n NO_OF_ORDERS: \"No. of Orders\",\r\n PENDING_PICKUPS: \"Pending Pickups\",\r\n DATE: \"Date\",\r\n ORDERS_DUE_FOR_DELIVERY: \"Orders due for delivery\",\r\n FIRST_NAME: \"First Name\",\r\n LAST_NAME: \"Last Name\",\r\n GENDER: \"Gender\",\r\n EMAIL: \"Email\",\r\n PHONE: \"Phone\",\r\n TYPE: \"Type\",\r\n BILLING_CYCLE: \"Biling Cycle\",\r\n ACTIONS: \"Actions\",\r\n VIEW: \"View\",\r\n EDIT: \"Edit\",\r\n DELETE: \"Delete\",\r\n SEARCH: \"Search\",\r\n ADD_CUSTOMER: \"Add Customer\",\r\n ADD: \"Add\",\r\n CUSTOMER: \"Customer\",\r\n WALLET_CASH: \"Wallet Cash\",\r\n WALLET_BONUS: \"Wallet Bonus\",\r\n GENERAL: \"General\",\r\n GENERAL_CUSTOMER_INFORMATION: \"General Customer Information\",\r\n ADDRESS: \"Address\",\r\n CUSTOMER_ADDRESSES: \"Customer Addresses\",\r\n VERIFICATION: \"Verification\",\r\n VERIFY_PHONE_AND_EMAIL: \"Verfiy Phone and Email\",\r\n PLEASE: \"Please\",\r\n SELECT: \"Select\",\r\n ENTER: \"Enter\",\r\n VALID: \"Valid\",\r\n PHONE_NUMBER: \"Phone Number\",\r\n DATE_OF_BIRTH: \"Date of Birth\",\r\n ANNIVERSARY_DATE: \"Anniversary Date\",\r\n REFERRAL_CODE: \"Referral Code\",\r\n CUSTOMER_TYPE: \"Customer Type\",\r\n GSTIN: \"GSTIN\",\r\n ACTIVE: \"Active\",\r\n STATUS: \"Status\",\r\n YES: \"Yes\",\r\n NO: \"No\",\r\n CANCEL: \"Cancel\",\r\n SUBMIT: \"Submit\",\r\n ID: \"ID\",\r\n PINCODE: \"Pincode\",\r\n ADRESSES_OF: \"Addresses of \",\r\n HOME: \"Home\",\r\n OFFICE: \"Office\",\r\n OTHER: \"Other\",\r\n LONGITUDE: \"Longitude\",\r\n LATITUDE: \"Latitude\",\r\n IS_DEFAULT: \"Set this as Default\",\r\n PLEASE_ENTER_FIRST_NAME: \"Please Enter First Name\",\r\n ENTER_FIRST_NAME: \"Enter First Name\",\r\n PLEASE_ENTER_LAST_NAME: \"Please Enter Last Name\",\r\n ENTER_LAST_NAME: \"Enter Last Name\",\r\n PLEASE_ENTER_EMAIL: \"Please Enter Email\",\r\n PLEASE_ENTER_VALID_EMAIL: \"Please Enter Valid Email\",\r\n ENTER_EMAIL: \"Enter Email\",\r\n PLEASE_ENTER_PHONE_NUMBER: \"Please Enter Phone Number\",\r\n PLEASE_ENTER_VALID_PHONE_NUMBER: \"Please Enter Valid Phone Number\",\r\n ENTER_PHONE_NUMBER: \"Enter Phone Number\",\r\n PLEASE_SELECT_GENDER: \"Please Select Gender\",\r\n SELECT_DATE: \"Select Date\",\r\n ENTER_REFERRAL_CODE: \"Enter Referral Code\",\r\n PLEASE_SELECT_CUSTOMER_TYPE: \"Please Select Customer Type\",\r\n SELECT_CUSTOMER_TYPE: \"Select Customer Type\",\r\n SELECT_CORPORATE: \"Select Corporate\",\r\n PLEASE_SELECT_BILLING_CYCLE: \"Please Select Billing Cycle\",\r\n SELECT_BILLING_CYCLE: \"Select Billing Cycle\",\r\n ENTER_VALID_GSTIN: \"Enter valid GSTIN\",\r\n ENTER_GSTIN: \"Enter GSTIN\",\r\n PLEASE_SELECT_STATUS: \"Please Select Status\",\r\n PLEASE_SELECT_WALKIN: \"Please Select Walkin\",\r\n ADD_ADDRESS: \"Add Address\",\r\n VIEW_ADDRESS: \"View Address\",\r\n EDIT_ADDRESS: \"Edit Address\",\r\n PLEASE_SELECT_ADDRESS_TYPE: \"Please Select Address Type\",\r\n SELECT_TYPE: \"Select Type\",\r\n ENTER_LONGITUDE: \"Enter Longitude\",\r\n ENTER_LATITUDE: \"Enter Latitude\",\r\n PLEASE_SELECT_STATE: \"Please Select State\",\r\n SELECT_STATE: \"Select State\",\r\n PLEASE_SELECT_CITY: \"Please Select City\",\r\n SELECT_CITY: \"Select City\",\r\n PLEASE_ENTER_PINCODE: \"Please Enter Pincode\",\r\n ENTER_PINCODE: \"Enter Pincode\",\r\n HOUSE_NO: \"House No./Flat No./Floor/Street\",\r\n PLEASE_ENTER_HOUSE_NO: \"Please Enter House No./Flat No./Floor/Street\",\r\n ENTER_HOUSE_NO: \"Enter House No./Flat No./Floor/Street\",\r\n LANDMARK: \"Landmark\",\r\n ENTER_LANDMARK: \"Enter Landmark\",\r\n HOW_TO_REACH: \"How To Reach\",\r\n ENTER_HOW_TO_REACH: \"Enter How To Reach\",\r\n PLEASE_ENTER_ADDRESS: \"Please Enter Address\",\r\n ENTER_ADDRESS: \"Enter Address\",\r\n UPDATE: \"Update\",\r\n PLEASE_ENTER_OTP: \"Please Enter OTP\",\r\n ENTER_OTP: \"Enter OTP\",\r\n VERIFY: \"Verify\",\r\n DIDNT_RECIEVED_ANYTHIG: \"Didn't Received Anything ?\",\r\n RESEND_OTP: \"Resend OTP\",\r\n NOT_VERIFIED: \"Not Verified\",\r\n VERIFY_PHONE_NUMBER: \"Verify Phone Number\",\r\n VERIFIED: \"Verified\",\r\n PACKAGE_NAME: \"Package Name\",\r\n PACKAGE_AMOUNT: \"Package Amount\",\r\n BONUS_AMOUNT: \"Bonus Amount\",\r\n BONUS_VALIDITY: \"Bonus Validity\",\r\n TITLE: \"Title\",\r\n DESCRIPTION: \"Description\",\r\n ADD_PACKAGE_CONFIGURATION: \"Add Package Configuration\",\r\n DELETE_SELECTED: \"Delete Selected\",\r\n VIEW_PACKAGE_CONFIGURATION: \"View Package Configuration\",\r\n EDIT_PACKAGE_CONFIGURATION: \"Edit Package Configuration\",\r\n PLEASE_ENTER_PACKAGE_NAME: \"Please Enter Package Name\",\r\n ENTER_PACKAGE_NAME: \"Enter Package Name\",\r\n PLEASE_ENTER_PACKAGE_AMOUNT: \"Please Enter Package Amount\",\r\n ENTER_PACKAGE_AMOUNT: \"Enter Package Amount\",\r\n PLEASE_ENTER_BONUS_AMOUNT: \"Please Enter Bonus Amount\",\r\n ENTER_BONUS_AMOUNT: \"Enter Bonus Amount\",\r\n BONUS_AMOUNT_VALIDITY_DAYS: \"Bonus Amount Validity (Days)\",\r\n PLEASE_ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"Please Enter Bonus Amount Validity (Days)\",\r\n ENTER_BONUS_VALIDITY_DAYS: \"Enter Bonus Validity (Days)\",\r\n DESCRIPTION_TITLE: \"Description Title\",\r\n ENTER_DESCRIPTION_TITLE: \"Enter Description Title\",\r\n PLEASE_ENTER_DESCRIPTION_TITLE: \"Please Enter Description Title\",\r\n PLEASE_ENTER_DESCRIPTION: \"Please Enter Description\",\r\n ENTER_DESCRIPTION: \"Enter Description\",\r\n PICKUP_ID: \"Pickup ID\",\r\n PROMOCODE: \"Promocode\",\r\n ASSIGNED_USER_NAME: \"Assigned User Name\",\r\n ORDER: \"Order\",\r\n REASSIGN: \"Reassign\",\r\n ADD_PICKUP: \"Add Pickup\",\r\n REASSIGN_PICKUP_EXECUTIVE: \"Reassign Pickup Executive\",\r\n PICKUP_EXECUTIVE: \"Pickup Executive\",\r\n PLEASE_SELECT_ANY_PICKUP_EXECUTIVE: \"Please Select Any Pickup Executive\",\r\n SELECT_PICKUP_EXECUTIVE: \"Select Pickup Executive\",\r\n PICKUP: \"Pickup\",\r\n HISTORY: \"History\",\r\n GENERAL_PICKUP_INFORMATION: \"General Pickup Information\",\r\n HISTORY_OF_RESCHEDULED_PICKUPS: \"History Of Rescheduled Pickups\",\r\n PICKUP_STATUS: \"Pickup Status\",\r\n SELECT_PICKUP_STATUS: \"Select Pickup Status\",\r\n PLEASE_SELECT_PICKUP_DATE: \"Please Select Pickup Date\",\r\n PICKUP_TIMESLOT: \"Pickup TimeSlot\",\r\n PLEASE_SELECT_TIMESLOT: \"Please Select TimeSlot\",\r\n SELECT_TIMESLOT: \"Select Timeslot\",\r\n SELECT_ADDRESS: \"Select Address\",\r\n PLEASE_SELECT_DELIVERY_TYPE: \"Please Select Delivery Type\",\r\n SELECT_DELIVERY_TYPE: \"Select Delivery Type\",\r\n ENTER_NO_OF_GARMENTS: \"Enter No. Of Garments\",\r\n ENTER_PROMOCODE: \"Enter Promocode\",\r\n SERVICES: \"Services\",\r\n PLEASE_SELECT_SERVICES: \"Please Select Services\",\r\n SELECT_SERVICES: \"Select Services\",\r\n DELIVERY_TIMESLOT: \"Delivery TimeSlot\",\r\n CANCELLATION_REASON: \"Cancellation Reason\",\r\n SELECT_OPERATION_INSTRUCTION: \"Select Operation Instruction\",\r\n RESCHEDULED_PICKUP_HISTORY: \"Rescheduled Pickup History\",\r\n ON_DEMAND_WALK_IN: \"On Demand/Walk-in\",\r\n GARMENTS: \"Garments\",\r\n CREATE_ORDER: \"Create Order\",\r\n PRINT_TAGS: \"Print Tags\",\r\n CANCEL_ORDER: \"Cancel Order\",\r\n CANCEL_ORDER_BY_ADMIN: \"Cancel Order By Admin\",\r\n CANCEL_REASON: \"Cancel Reason\",\r\n PLEASE_ENTER_REASON: \"Please Enter Reason\",\r\n ENTER_REASON_TO_CANCEL_THE_ORDER: \"Enter Reason to Cancel The Order\",\r\n CUSTOMER_DETAILS: \"Customer Details\",\r\n NAME: \"Name\",\r\n TYPE_OF_SERVICE: \"Type Of Service\",\r\n PICKUP_REQUEST: \"Pickup Request\",\r\n TYPE_OF_CUSTOMER: \"Type of customer\",\r\n WALLET_CREDIT: \"Wallet Credit\",\r\n FILTER: \"Filter\",\r\n ORDER_SUMMARY: \"Order Summary\",\r\n DETAILS: \"Details\",\r\n QTY: \"Qty\",\r\n RATES: \"Rates\",\r\n FEES: \"Fees\",\r\n SUBTOTAL: \"Subtotal\",\r\n TAXES_AND_CHARGES: \"Taxes & Charges\",\r\n PROMO_DISCOUNT: \"Promo Discount\",\r\n SGST: \"SGST\",\r\n CGST: \"CGST\",\r\n IGST: \"IGST\",\r\n TOTAL: \"TOTAL\",\r\n ORDER_REMARKS: \"Order Remarks\",\r\n REVIEW_ORDER: \"Review Order\",\r\n MEDIUM: \"Medium\",\r\n REQUIRED: \"Required\",\r\n WEIGHT: \"Weight\",\r\n SELECT_ADD_ON_SERVICES: \"Select Add-on Services\",\r\n DARNING_SIZE: \"Darning Size\",\r\n SMALL: \"Small\",\r\n LARGE: \"Large\",\r\n DYING_COLORS: \"Dying Color(s)\",\r\n SIZE: \"Size\",\r\n PRICE: \"Price\",\r\n NOTES: \"Notes\",\r\n ONLY_3_IMAGES_ARE_ALLOWED: \"Only 3 Images Are Allowed\",\r\n LOGISTICS_INSTRUCTION: \"Logistics Instruction\",\r\n ON_DEMAND_DELIVERY: \"On Demand Delivery\",\r\n REPRINT_TAGS: \"Reprint Tags\",\r\n REPRINT_ESTIMATED_ORDER: \"Reprint Estimated Order\",\r\n REWASH_REQUESTED_BY: \"Rewash Requested By\",\r\n PLACE_ORDER: \"Place Order\",\r\n COLLECT_ADVANCE_PAYMENT: \"Collect Advance Payment\",\r\n UPDATE_ORDER: \"Update Order\",\r\n CONFIRM_ORDER: \"Confirm Order\",\r\n TAG_IN_GARMENTS: \"Tag In Garments\",\r\n CREATE_REWASH_ORDER: \"Create Rewash Order\",\r\n PAYMENT_METHOD: \"Payment Method\",\r\n COLLECT: \"Collect\",\r\n PROCESSING: \"Processing\",\r\n INVOICE_NUMBER: \"Invoice Number\",\r\n GENERATE: \"Generate\",\r\n SETTLE: \"Settle\",\r\n READY_FOR_DELIVERY_ORDERS: \"Ready For Delivery Orders\",\r\n HIDE_FILTERS: \"Hide Filters\",\r\n SHOW_FILTERS: \"Show Filters\",\r\n PLEASE_SELECT_FROM_DATE: \"Please Select From Date\",\r\n FROM_DATE: \"From Date\",\r\n PLEASE_SELECT_TO_DATE: \"Please Select To Date\",\r\n TO_DATE: \"To Date\",\r\n ENTER_SPLIT_ORDER_NUMBER: \"Enter Split Order number\",\r\n PROFORMA_INVOICE_NUMBER: \"Proforma Invoice Number\",\r\n PROFORMA_INVOICE_DATE: \"Proforma Invoice Date\",\r\n INVOICE_DATE: \"Invoice Date\",\r\n INVOICE: \"Invoice\",\r\n ORDER_TYPE: \"Order Type\",\r\n PICKUP_BY: \"Pickup by\",\r\n ADJUSTED_LK_BONUS_AMOUNT: \"Adjusted LK Bonus Amount\",\r\n PROFORMA_INVOICE: \"Proforma Invoice\",\r\n TOTAL_AMOUNT: \"Total Amount\",\r\n ADD_ON_SERVICE_CHARGES: \"Add-on Service Charges\",\r\n ADHOC_CHARGES: \" Adhoc Charges\",\r\n PAIDLESS_AMOUNT: \"Adjusted By Admin\",\r\n ADJUSTED_AMOUNT: \"Paid Less\",\r\n AMOUNT_TO_COLLECT: \"Amount to Collect\",\r\n ADD_REMARKS: \"Add Remarks\",\r\n UPDATE_PROFORMA_INVOICE: \"Update Proforma Invoice\",\r\n CREATE_PROFORMA_INVOICE: \"Create Proforma Invoice\",\r\n USE_LK_WALLET: \"Use LK Wallet\",\r\n GENERATE_TAX_INVOICE: \"Generate Tax Invoice\",\r\n DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET:\r\n \"Do you want to add the excess amount to the LKWallet\",\r\n SETTLE_LESS_PAID_INVOICE: \"Settle Less Paid Invoice\",\r\n SLOT: \"Slot\",\r\n ASSIGNED_TO: \"Assigned To\",\r\n RESCHEDULE: \"Reschedule\",\r\n DELIVERY_LIST: \"Delivery List\",\r\n REASSIGN_DELIVERY: \"Reassign Delivery\",\r\n PLEASE_SELECT_ASSIGNEE: \"Please select Assignee\",\r\n SELECT_ASSIGNEE: \"Select Assignee\",\r\n DELIVERY_ID: \"Delivery ID\",\r\n RESCHEDULE_DELIVERY: \"Reschedule Delivery\",\r\n CANCEL_DELIVERY: \"Cancel Delivery\",\r\n PLEASE_SELECT_DELIVERY_DATE: \"Please select delivery date\",\r\n PLEASE_ENTER_CANCEL_REASON: \"Please Enter Cancel Reason\",\r\n ENTER_CANCEL_REASON: \"Enter Cancel Reason\",\r\n PLEASE_SELECT_EXPENSE_TYPE: \"Please select Expense Type\",\r\n PLEASE_SELECT_EXPENSE_DATE: \"Please select Expense Date\",\r\n PLEASE_SELECT_QC_STATUS: \"Please select QC Status\",\r\n VIEW_ON_MAP:\"View On Map\",\r\n // OVERDUE_GARMENTS: \"Overdue Garments\",\r\n OVERDUE_ORDERS: \"Overdue Orders\", // changed by pb on 23/11/2020 for C15180\r\n GARMENT_COUNTS: \"Garment Counts\",\r\n ORDER_COUNTS: \"Order Counts\",\r\n TOTAL_PENDING_GARMENTS_ORDERS: \"Total pending garments/Orders\",\r\n TODAYS_DUE: \"Today’s Due\",\r\n TICKETS_COUNTS: \"Tickets Counts\",\r\n ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE:\r\n \"Order can not be created using closed store\",\r\n THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE:\r\n \"This type of order can not be created from this store\",\r\n AMOUNT_IS_REQUIRED: \"Amount is required\",\r\n AMOUNT_SHOULD_BE_GREATER_THAN_0: \"Amount should be greater than 0\",\r\n IS_LAUNDROKART_EMPLOYEE: \"Is Laundrokart Employee\",\r\n IS_WALK_IN : \"Walkin\",\r\n REWASH_ORDER: \"Rewash Order\",\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"Please Enter Only Digits Starting With 1 to 9\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"Please Enter Only Alphabets\",\r\n MISSING_TAG_NOS: \"Missing Tag Nos\",\r\n //store dashboard\r\n UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY:\r\n \"Unable to get orders due for delivery\",\r\n UNABLE_TO_GET_PENDING_PICKUPS: \"Unable to get Pending Pickups\",\r\n UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"Unable to load orders pending to transfer out to factory\",\r\n UNABLE_TO_GET_DATA_FOR_DASHBOARD: \"Unable to get data for dashboard\",\r\n // delivery list\r\n UNABLE_TO_GET_DATA_FOR_TIMESLOT: \"Unable to get data for timeSlot\",\r\n CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER:\r\n \"Cannot reassign delivery as it is already proceeded further\",\r\n DELIVERY_REASSIGNED_SUCCESSFULLY: \"Delivery reassigned successfully\",\r\n UNABLE_TO_REASSIGN_DELIVERY_REQUEST: \"Unable to reassign delivery request\",\r\n DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED:\r\n \"Delivery Status Must Be Delivery Scheduled or Assigned\",\r\n DELIVERY_RESCHEDULED_SUCCESSFULLY: \"Delivery rescheduled successfully\",\r\n UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST:\r\n \"Unable to reschedule delivery request\",\r\n REQUEST_CANCELLED_SUCCESSFULLY: \"Request cancelled successfully\",\r\n UNABLE_TO_CANCEL_DELIVERY_REQUEST: \"Unable to cancel delivery request\",\r\n UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA:\r\n \"Unable to get list of delivery list data\",\r\n //Expense type\r\n EXPENSE_DELETED_SUCCESSFULLY: \"Expense deleted successfully\",\r\n UNABLE_TO_DELETE_EXPENSE: \"Unable to delete expense\",\r\n EXPENSE_ADDED_SUCCESSFULLY: \"Expense added successfully\",\r\n EXPENSE_UPDATED_SUCCESSFULLY: \"Expense updated successfully\",\r\n UNABLE_TO_SUBMIT_DATA: \"Unable to submit data\",\r\n UNABLE_TO_GET_LIST_OF_EXPENSES: \"Unable to get list of expenses\",\r\n //gate pass list\r\n UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA:\r\n \"Unable to get list of gate pass data\",\r\n // store Inventory\r\n UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA:\r\n \"Unable to get store garment inventory data\",\r\n //Invoice\r\n UNABLE_TO_GET_SPLIT_ORDER_DETAILS: \"Unable to get split order details\",\r\n INVOICE_GENERATED_SUCCESSFULLY: \"Invoice generated successfully\",\r\n UNABLE_TO_GENERATE_INVOICE: \"Unable to generate invoice\",\r\n INVOICE_DATA_SUBMITTED_SUCCESSFULLY: \"Invoice data submitted successfully\",\r\n UNABLE_TO_SUBMIT_INVOICE_DATA: \"Unable to submit invoice data\",\r\n INVOICE_SETTLED_SUCCESSFULLY: \"Invoice settled successfully\",\r\n UNABLE_TO_SETTLE_INVOICE: \"Unable to settle invoice\",\r\n //orders\r\n UNABLE_TO_GET_LIST_OF_ORDERS: \"Unable to get list of orders\",\r\n UNABLE_TO_GENERATE_ESTIMATED_ORDER: \"Unable to generate estimated order\",\r\n UNABLE_TO_GET_LIST_OF_SERVICES: \"Unable to get list of services\",\r\n UNABLE_TO_GET_STORE_DATA: \"Unable to get store data\",\r\n UNABLE_TO_GET_PICKUP_DATA: \"Unable to get pickup data\",\r\n TAGS_GENERATED_SUCCESSFULLY: \"Tags generated successfully\",\r\n UNABLE_TO_GENERATE_TAGS: \"Unable to generate tags\",\r\n UNABLE_TO_GET_ORDER_INFORMATION: \"Unable to get order information\",\r\n UNABLE_TO_GET_TIME_CARD: \"Unable to get time card\",\r\n UNABLE_TO_LOAD_ADD_ON_SERVICES: \"Unable to load add on services\",\r\n UNABLE_TO_GET_PACKAGING_CHARGES: \"Unable to get packaging charges\",\r\n UNABLE_TO_GET_DELIVERY_CHARGES: \"Unable to get delivery charges\",\r\n UNABLE_TO_GET_LIST_OF_GARMENTS: \"Unable to get list of garments\",\r\n UNABLE_TO_GET_RATES: \"Unable to get rates\",\r\n ORDER_SUCCESSFULLY_CREATED: \"Order successfully created\",\r\n UNABLE_TO_CREATE_THE_ORDER: \"Unable to create the order\",\r\n PLEASE_ENTER_THE_PROMOCODE: \"Please enter the promocode\",\r\n PROMOCODE_APPLIED_SUCCESSFULLY: \"Promocode applied successfully\",\r\n PROMOCODE_IS_INVALID: \"Promocode is invalid\",\r\n UNABLE_TO_VALIDATE_PROMOCODE: \"Unable to validate promocode\",\r\n ORDER_SUCCESSFULLY_UPDATED: \"Order successfully updated\",\r\n UNABLE_TO_UPDATE_THE_ORDER: \"Unable to update the order\",\r\n ORDER_SUCCESSFULLY_CANCELLED: \"Order successfully cancelled\",\r\n UNABLE_TO_CANCEL_ORDER: \"Unable to cancel order\",\r\n //Pickups\r\n UNABLE_TO_GET_LIST_OF_PICKUP_DATA: \"Unable to get list of pickup data\",\r\n UNABLE_TO_GET_LIST_OF_USER_DATA: \"Unable to get list of user data\",\r\n UNABLE_TO_REASSIGN_THE_PICKUP: \"Unable to reassign the pickup\",\r\n UNABLE_TO_GET_DATA_FOR_HISTORY: \"Unable to get data for history\",\r\n UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES:\r\n \"Unable to get data for delivery types\",\r\n UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS:\r\n \"Unable to get data for pickup status\",\r\n UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA:\r\n \"Unable to get list of operation instruction data\",\r\n UNABLE_TO_GET_SERVICES_DATA: \"Unable to get services data\",\r\n UNABLE_TO_GET_LIST_OF_REASONS_DATA: \"Unable to get list of reasons data\",\r\n UNABLE_TO_GET_DATA_FOR_CUSTOMER: \"Unable to get data for customer\",\r\n UNABLE_TO_GET_CUSTOMER_ADDRESSES: \"Unable to get customer addresses\",\r\n UNABLE_TO_GET_DATA: \"Unable to get data\",\r\n PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE:\r\n \"Please input CustomerName/Address/Services/Promocode\",\r\n PICKUP_IS_UPDATED: \"Pickup is updated\",\r\n PICKUP_IS_SCHEDULED: \"Pickup is scheduled\",\r\n PICKUP_IS_RESCHEDULED_SUCCESSFULLY: \"Pickup is rescheduled successfully\",\r\n UNABLE_TO_RESCHEDULE_THE_PICKUP: \"Unable to reschedule the pickup\",\r\n PICKUP_IS_CANCELLED_SUCCESSFULLY: \"Pickup is cancelled successfully\",\r\n UNABLE_TO_CANCEL_PICKUP: \"Unable to cancel pickup\",\r\n SELECTED_DATE_IS_HOLIDAY: \"Selected date is a holiday\",\r\n //pre qc response\r\n UNABLE_TO_GET_PRE_QC_RESPONSE_LIST: \"Unable to get pre-qc response list\",\r\n QC_RESPONSE_SUBMITTED_SUCCESSFULLY: \"QC response submitted successfully\",\r\n UNABLE_TO_SUBMIT_QC_RESPONSE: \"Unable to submit QC response\",\r\n //ready for delivery/invoice\r\n UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA:\r\n \"Unable to get list of ready for delivery/invoice data\",\r\n //store transfer in\r\n UNABLE_TO_SUBMIT_STICKER_DATA: \"Unable to submit sticker data\",\r\n UNABLE_TO_GET_STICKER_DATA: \"Unable to get sticker data\",\r\n PLEASE_ENTER_STICKER_ID: \"Please enter sticker id\",\r\n //store transfer out\r\n UNABLE_TO_GET_LIST_OF_SERVICE_DATA: \"Unable to get list of service data\",\r\n UNABLE_TO_GET_SPLIT_ORDER_NUMBERS: \"Unable to get split order numbers\",\r\n UNABLE_TO_GET_LIST_OF_FACTORY_DATA: \"Unable to get list of factory data\",\r\n GATE_PASS: \"Gate pass \",\r\n HAS_BEEN_GENERATED: \"has been generated\",\r\n UNABLE_TO_GET_LIST_OF_STICKER_DATA: \"Unable to get list of sticker data\",\r\n //packageconfiguration\r\n UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA:\r\n \"Unable to get list of package configuration data\",\r\n PLEASE_SELECT_ATLEAST_ONE_ROW: \"Please Select Atleast One Row\",\r\n //review order\r\n UNABLE_TO_LOAD_REWASH_REASONS: \"Unable to load rewash reasons\",\r\n UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST:\r\n \"Unable to load rewash requested by list\",\r\n UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS:\r\n \"Unable to load operation instructions\",\r\n UNABLE_TO_LOAD_BRANDS: \"Unable to load brands\",\r\n UNABLE_TO_LOAD_SIZES: \"Unable to load sizes\",\r\n UNABLE_TO_LOAD_COLORS: \"Unable to load colors\",\r\n UNABLE_TO_LOAD_GARMENT_DEFECT: \"Unable to load garment defect\",\r\n\r\n //resorting and packaging 29/10/2020\r\n PREVIOUSLY_PACKED_ON: \"Previously Packed On\",\r\n\r\n //sidebar.json 29/10/2020\r\n CASH_COLLECTION: \"Cash Collection\",\r\n\r\n //Server Masages\r\n CUSTOMER_IS_SUCCESSFULLY_REGISTERED: \"Customer is successfully registered\",\r\n DATA_IS_SUCCESSFULLY_RETRIEVED: \"Data is successfully retrieved \",\r\n DATA_IS_SUCCESSFULLY_DELETED: \"Data is successfully deleted \",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"Data is successfully saved \",\r\n DATA_IS_SUCCESSFULLY_UPDATED: \"Data is successfully updated \",\r\n RECORD_IS_ALREADY_EXISTS: \"Record is already exists\",\r\n INTERNAL_SERVER_ERROR: \"Internal Server Error\",\r\n DATA_IS_SUCCESSFULLY_UPLOADED: \"Data is successfully uploaded \",\r\n DISCOUNT_IS_SUCCESSFULLY_BLOCKED: \"Discount is successfully blocked\",\r\n DISCOUNT_IS_SUCCESSFULLY_AUTHORIZED: \"Discount is successfully authorized\",\r\n DISCOUNT_IS_SUCCESSFULLY_GENERATED: \"Discount is successfully generated\",\r\n OTP_HAS_BEEN_SUCCESSFULLY_RESENT: \"OTP has been successfully re-sent\",\r\n PICKUP_IS_SUCCESSFULLY_RESCHEDULED: \"Pickup is successfully rescheduled \",\r\n PICKUP_IS_SUCCESSFULLY_SCHEDULED: \"Pickup is successfully scheduled \",\r\n PICKUP_IS_SUCCESSFULLY_CANCELLED: \"Pickup is successfully cancelled \",\r\n PICKUP_IS_SUCCESSFULLY_REASSIGNED: \"Pickup is successfully reassigned \",\r\n ERROR_WHILE_SENDING_CALL_BACK_REQUEST_NOTIFICATION:\r\n \"Error while sending Call back request notification\",\r\n ORDER_IS_SUCCESSFULLY_CANCELLED: \"Order is successfully cancelled \",\r\n ORDER_IS_SUCCESSFULLY_CREATED_PLEASE_CONFIRM_ORDER_TO_PROCEED_FURTHER:\r\n \"Order is successfully created please confirm order to proceed further\",\r\n ORDER_IS_SUCCESSFULLY_UPDATED: \"Order is successfully updated \",\r\n GENERATE_TAGS_FOR_ORDER_SUCCESSFULLY:\r\n \"Generate tags for order successfully \",\r\n GETEPASS_IS_SUCCESSFULLY_GENERATED: \"Getepass is successfully Generated\",\r\n PROMOCODE_VALIDATED_SUCCESSFULLY: \"Promocode validated successfully\",\r\n INVALID_PROMOCODE: \"Invalid Promocode\",\r\n DELIVERY_IS_SUCCESSFULLY_REASSIGNED:\r\n \"Delivery is successfully reassigned \",\r\n AMOUNT_SUCCESSFULLY_BLOCKED: \"Amount Successfully Blocked\",\r\n USER_IS_VALID: \"User is valid \",\r\n USER_IS_INVALID: \"User is Invalid\",\r\n ALREADY_IN_USED: \"Already In Used\",\r\n PDF_FILE_IS_GENERATED_SUCCESSFULLY: \"PDF file is generated successfully\",\r\n OLD_PASSWORD_DOES_NOT_MATCH: \"Old password does not match\",\r\n NOTIFICATION_HAS_BEEN_SENT_SUCCESSFULLY:\r\n \"Notification has been sent Successfully\",\r\n ERROR_WHILE_SENDING_NOTIFICATION: \"Error while sending notification\",\r\n NOTIFICATION_IS_SUCCESSFULLY_DISMISS:\r\n \"Notification is successfully dismiss\",\r\n THERE_WAS_AN_INTERNAL_ERROR_PLEASE_CONTACT_TO_TECHNICAL_SUPPORT:\r\n \"There was an internal error please contact to technical support\",\r\n // EMAIL_SENT_SUCCESSFULLY: \"Email Sent Successfully!\",\r\n TAGS_NOT_FOUND: \"Tags Not Found\",\r\n UNABLE_TO_GET_LIST_OF_STORE_DATA: \"Unable to get list of store data\",\r\n UNABLE_TO_GET_MISSING_TAG_DATA: \"Unable to get missing tag data\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG:\r\n \"Please select store before scanning the tag\",\r\n PLEASE_ENTER_THE_TAG_TO_SCAN: \"Please enter the tag to scan\",\r\n TAG_ALREADY_SCANNED: \"Tag already scanned\",\r\n PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS:\r\n \"Please select factory tag no for transferin process\",\r\n UNABLE_TO_SCAN_THE_TAG: \"Unable to scan the tag\",\r\n TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY:\r\n \"Tags are transferred in successfully\",\r\n GENERATING_GATE_PASS: \"Generating Gate Pass\",\r\n PLEASE_SELECT_STICKERS: \"Please Select Stickers\",\r\n UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT: \"No stickers found to transfer out\",\r\n INFO: \"Info\",\r\n ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS:\r\n \"Entered number should be smaller then no of pending garments\",\r\n PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"Please select atleast one pending garments to be packed in\",\r\n STICKER_SUCCESSFULLY_GENERATED: \"Sticker successfully generated\",\r\n UNABLE_TO_GET_STICKERID: \"Unable to get stickerID\",\r\n GARMENT_ALREADY_PACKED:\r\n \"Some of garments from this order is already packed , Please refresh and try again\",\r\n REDIRECTING: \"Redirecting\",\r\n SUCCESS: \"Success\",\r\n FAIL: \"Fail\",\r\n WALLET_BALANCE: \"Wallet Balance\",\r\n INVALID: \"Invalid\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK:\r\n \"SplitOrderNumber should not be blank\",\r\n VALID: \"Valid\",\r\n ADJUSTMENTAMOUNT_SHOULD_BE_BETWEEN_0_AND_10:\r\n \"AdjustmentAmount should be between 0 and 10.\",\r\n SERVICE_RATE_NOT_AVAILABLE: \"Service rate not available.\",\r\n ADDON_SERVICE_RATE_NOT_AVAILABLE: \"Addon Service rate not available.\",\r\n SCAN_GARMENT: \"Scan Garment\",\r\n CLEAR: \"Clear\",\r\n SCAN_TAG: \"Scan Tag\",\r\n PLEASE_SCAN_TAG: \"Please scan tag\",\r\n TAG_ALREADY_EXISTS: \"This tag already exists\",\r\n READY_FOR_TRANSFER_OUT: \"Ready for Transfer Out\",\r\n SCANNED_GARMENT_LIST: \"Scanned Garment List\",\r\n THIS_STICKER_BELONGS_TO_ANOTHER_STORE:\r\n \"This sticker belongs to another store\",\r\n PLEASE_ENTER_VALID_STICKER_NUMBER: \"Please enter valid sticker number\",\r\n ALL: \"All\",\r\n ESCALATED_DELIVERY: \"Escalated Delivery\",\r\n THIS_TAG_ALREADY_EXISTS: \"This tag already exists\",\r\n PREVIOUSLY_PACKE_ON: \"Previously packed on\",\r\n CASH_COLLECTION: \"Cash collection\",\r\n ALREADY_EXISTS: \"Already exists\",\r\n USER_PUNCHIN_NOT_FOUND: \"User punch in not foud\",\r\n IT_IS_ALREADY_BLOCKED: \"It is already blocked\",\r\n AUTHORIZED: \"Authorized\",\r\n BLOCKED: \"Blocked\",\r\n INVALID_OTP: \"Invalid otp\",\r\n PLEASE_CHECK_THE_PROVIDED_BANNERID: \"Please check the provided banner id\",\r\n ALREADY_IN_USE: \"Already in use\",\r\n ALREADY_EXISTS: \"Already exists\",\r\n DATE_OVERLAPPING: \"date overlapping\",\r\n REFERRAL_CODE_DOES_NOT_EXISTS: \"Referral code does not exists\",\r\n REFERRAL_CODE_IS_ALREADY_USED: \"Referral code is already used\",\r\n USER_NAME_IS_INVALID: \"User name is invalid\",\r\n PASSWORD_IS_INVALID: \"Password is invalid\",\r\n USER_NAME_AND_PASSWORD_DOES_NOT_MATCH:\r\n \"Username and password does not match\",\r\n USER_IS_NOT_EXISTS: \"User is not exists\",\r\n SPLIT_ORDER_NUMBER_IS_REQUIRED: \"Split order number is required\",\r\n INVALID_SPLIT_ORDER_NUMBER: \"Invalid split order number\",\r\n IT_IS_ALREADY_INACTIVATED: \"It is already inactivated\",\r\n COUPON_CODE_NOT_EXISTS: \"Cash coupon not exists\",\r\n CASH_COUPON_EXPIRED: \"Cash coupon expired\",\r\n IT_IS_APPLICABLE_FOR_ONLY_FIRST_TIME_USERS:\r\n \"It is applicable for only first time users\",\r\n YOU_HAVE_ALREADY_USED_THIS_COUPON: \"You have already used this coupon\",\r\n INVALID_COUPON: \"Invalid coupon\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK:\r\n \"Split order number should bot be blank\",\r\n THIS_PICKUP_IS_ALREADY_IN_PROGRESS: \"This pickup is already in process\",\r\n YOU_HAVE_ALREADY_RESCHEDULED_THIS_PICKUP_3_TIMES:\r\n \"You have already rescheduled this pickup 3 times\",\r\n PLEASE_CHECK_WITH_DELIVERYID: \"Please cheeck with delivery id\",\r\n PLEASE_ASSIGN_IT_TO_SOMEONE_FIRST: \"Please assign it to someone first\",\r\n CANNOT_REASSIGN_DELIVERY_AS_ALREADY_PROCEED_FURTHER:\r\n \"Cannot reassign delivery as already proceed further\",\r\n PLEASE_CHECK_WITH_STATUS: \"Please check with status\",\r\n STICKER_ID: \"Sticker ID\",\r\n PACKED_On: \"Packed On\",\r\n PACKING_IDS: \"Packing Ids\",\r\n RESORTING_AND_PACKAGING: \"Resorting And Packaging\",\r\n RESORTING_AND_PACKAGING_List: \"Resorting And Packaging List\",\r\n PADING_QC_RESPONSE: \"Pending Pre-Qc response count\",\r\n LANGUAGE: \"Language\",\r\n CHANGE_PASSWORD: \"Change Password\",\r\n LOGOUT: \"Logout\",\r\n TAG_NUMBER_NOT_FOUND: \"Tag number not found\",\r\n TAG_NO: \"Tag No\",\r\n\r\n //factory pre qc added on 09/11/2020 by PB\r\n YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE:\r\n \"You can only upload JPG/PNG/JPEG file\",\r\n IMAGE_MUST_BE_SMALLER_THAN_5_MB: \"Image must be smaller than 5 MB\",\r\n GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC:\r\n \"Garment should be in factory to be added for QC\",\r\n ORDER_ALREADY_CONFIRMED: \"Order already confirmed\",\r\n PENDING_PAYMENT: \"Pending Payment\",\r\n\r\n IT_SEEMS_LIKE_FEW_OF_THE_SERVICES_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"It seems like few of the services are not exists into system. Please check details in service master screen and try again\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_GARMENTS_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"It seems like few of the garments are not exists into system. Please check details in garment master screen and try again\",\r\n SERVICE_TAX_DETAIL_IS_MISSING_IN_SECOND_SHEET:\r\n \"Service tax detail is missing in second sheet\",\r\n PENDING_PAYMENT: \"Pending Payment\",\r\n\r\n PLATFORM: \"Platform\",\r\n ORDER_COUNT: \"Order Count\",\r\n PROMO_CODE: \"Promo Code\",\r\n PICK_BOY: \"Pickup Boy\",\r\n CUST_MO_No: \"Customer Mobile No\",\r\n SERVICE_ICONS: \"Service Icons\",\r\n REQUEST_CREATED_DATE: \"Request Created date & time\",\r\n PICKUP_REQUEST_DATE: \"Pickup Requested Date & Slot\",\r\n ORDER_CREATED_DATE: \"Order Created Date & Time\",\r\n\r\n REPRINT_TAX_INVOICE: \"Reprint Tax Invoice\",\r\n SEMI_EXPRESS_RATE: \"(Semi Express - 1.5x)\",\r\n EXPRESS_RATE: \"(Express - 2x)\",\r\n TOTAL_STICKERS: \"Total Stickers\",\r\n DELIVERY_BOY: \"Delivery Boy\",\r\n\r\n //added by PB\r\n // 25th november;\r\n // factory post qc\r\n POST_QC: \"Post QC\",\r\n UNABLE_TO_GET_POST_QC_DATA: \"Unable to get post qc data\",\r\n GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS:\r\n \"Garment proceeded further for post qc process\",\r\n POST_QC_STATUS: \"PostQC Status\",\r\n POST_QC_REMARK: \"PostQC Remark\",\r\n POST_QC_DATETIME: \"Post QC DateTime\",\r\n POSTED_BY: \"Posted By\",\r\n ADD_GARMENT_FOR_POST_QC: \"Add Garment For Post QC\",\r\n LATEST_POSTQC_DETAILS: \"Latest PostQc Details\",\r\n PICKUP_TIMESLOT: \"Pickup TimeSlot\",\r\n\r\n // 30th november\r\n //pickuplist\r\n UNABLE_TO_GET_STORE_NAME: \"Unable to get store name\",\r\n CANCEL_REASON_IS_REQUIRED: \"The CancelReason field is required\",\r\n //added by PB on 01th dec\r\n FACTORY_GATE_PASS: \"Factory Gate Pass List\",\r\n CUSTOMER_REMARK: \"Customer Remark\",\r\n UNABLE_TO_GET_HOLIDAYLIST: \"Unable to get HolidayList\",\r\n\r\n //02/12/2020\r\n //factory in screen\r\n STORE_OUT_DATE: \"Store Out Date\",\r\n\r\n //pre qc response list\r\n LAST_UPDATED_ON: \"Last Updated On\",\r\n LAST_UPDATED_BY: \"Last Updated By\",\r\n\r\n //on 08/11/2020\r\n //factory inventory\r\n FACTORY_IN_DATETIME: \"Factory In DateTime\",\r\n GARMENTS_FACTORY_IN: \"Garments Factory In\",\r\n GARMENTS_MISSING: \"Garments Missing\",\r\n BALANCED_GARMENTS: \"Balanced Garments\",\r\n FACTORY_IN_DATE: \"Factory In Date\",\r\n LOT_SIZE: \"Lot Size\",\r\n\r\n //added on 13/11/2020\r\n STANDARD_RATE_CARD: \"Standard Rate Card\",\r\n ORDER_STATUS: \"Order status\",\r\n INVOICE_STATUS: \"Invoice Status\",\r\n STORE_STATUS : \"Store Status\",\r\n\r\n //on 15/12/2020\r\n //for deliveries list screen\r\n STOREINDATE: \"Store In Date\",\r\n FACTORYOUTDATE: \"Factory Out Date\",\r\n PLEASE_SELECT_PAYMENT_MODE: \"Please select payment mode\",\r\n\r\n //ended by PB\r\n\r\n SELECT_PACKING_MATERIAL: \"You can only select packing material up to 99\",\r\n SOMETHING_WENT_WRONG: \"Something went wrong\",\r\n UNABLE_TO_GET_PAYMENT_METHOD_DATA: \"Unable to get payment method data\",\r\n\r\n ARE_YOU_SURE_YOU_WANT_TO_MARK_ORDER_AS_COMPLETED:\r\n \"Are you sure you want to mark order as completed?\",\r\n\r\n ORDER_MARKED_AS_COMPLETED: \"Order marked as completed\",\r\n UNABLE_TO_MARK_ORDER_AS_COMPLETED: \"Unable to mark order as completed\",\r\n EDC_CONFIGURATION: \"EDC device is not linked with this store\",\r\n\r\n ATTENDANCE: \"Attendance\",\r\n ATTENDANCE_REPORT: \"Attendance Report\",\r\n REPORTS: \"Reports\",\r\n OTHER_TYPE: \"Other Type\",\r\n PLEASE_ENTER_OTHER_TYPE: \"Please Enter Other Type\",\r\n ENTER_OTHER_TYPE: \"Enter Other Type\",\r\n\r\n CANCEL_REMARK: \"Cancel Remark\",\r\n REGISTERED_ON: \"Registered On\",\r\n CASH: \"Cash\",\r\n LKBONUS: \"LKBonus\",\r\n LKWALLET: \"LKWallet\",\r\n PAYTM: \"Paytm\",\r\n BAG_COUNT: \"Bag Count\",\r\n PARTIAL_ORDER_RECEIVED: \"Partial Order Received\",\r\n SPILT_ORDER_ID: \"SplitOrderID\",\r\n STORE_OUT_GATE_PASS: \"StoreOut GatePassNo\",\r\n STORE_OUT_GATEPASS_TIME: \"StoreOut GatePassTime\",\r\n FACTORY_IN_DATE: \"FactoryInDate\",\r\n RECENT_STORE_IN_DATES: \"Recent StoreIn Dates\",\r\n ORDER_LOT_SIZE: \"OrderLotSize\",\r\n STORE_IN_GARMENTS: \"StoreIn Garments\",\r\n STORE_IN_STICKER_ID: \"StoreIn StickerID\",\r\n BALANCE_GARMENTS: \"Balance Garments\",\r\n UNABLE_TO_GET_LIST_OF_PARTIAL_ORDER_DATE:\r\n \"Unable to get list of partial order received data\",\r\n\r\n PAYTM_EDC_MACHINE_CONFING: \"Paytm EDC Machine Configuration\",\r\n\r\n //Added By Hasti\r\n\r\n //Rewards\r\n CASHBACK_IN_PERCENTAGE: \"CashBack In %\",\r\n VALIDITY_IN_DAYS: \"Validity(In Days)\",\r\n EFFECTIVE_FROM: \"Effective From\",\r\n PREVIOUS_REWARDS_CAN_NOT_BE_UPDATED: \"Previous Rewards can't be updated !\",\r\n UNABLE_TO_GET_LIST_OF_REWARDS_DATA: \"Unable to get list of Rewards data\",\r\n ADD_REWARDS_CONFIG: \"Add Rewards Config\",\r\n VIEW_REWARDS_CONFIG: \"View Rewards Config\",\r\n EDIT_REWARDS_CONFIG: \"Edit Rewards Config\",\r\n\r\n //Holiday Calendar\r\n HOLIDAY_CONFIGURATION: \"Holiday Configuration\",\r\n SETTLE_WITHOUT_PAYMENT: \"Settle Without Payment\",\r\n INVOICE_SETTLED_WITH_OUT_PAYMEN_SUCCESSFULLY:\r\n \"Invoice Settled WithOut Payment Successfully\",\r\n UNABLE_TO_SETTLE_INVOICE_WITH_OUT_PAYMENT:\r\n \"Unable to Settle Invoice Without Payment\",\r\n CREATED_ON: \"Created On\",\r\n\r\n //Order History\r\n ORDER_HISTORY: \"Order History\",\r\n\r\n //Custom Bulk Notification Upload.\r\n CUSTOM_BULK_NOTIFICATION_UPLOAD: \"Custom Bulk Notification Upload\",\r\n DATE_TIME_FOR_EXECUTION: \"Date & Time Of Execution\",\r\n ADD_CUSTOM_BULK_NOTIFICATION: \"Add Custom Bulk Notification\",\r\n VIEW_CUSTOM_BULK_NOTIFICATION: \"View Custom Bulk Notification\",\r\n EDIT_CUSTOM_BULK_NOTIFICATION: \"Edit Custom Bulk Notification\",\r\n UPLOAD_CUSTOM_BULK_NOTIFICATION_CONFIGURATION_FILE:\r\n \"Upload Custom Bulk Notification Configuration File\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOM_BULK_NOTIFICATION_DATA:\r\n \"Unable to get list of custom bulk Notification data\",\r\n\r\n //factory Inventory\r\n FACTORY_OUT: \"Factory Out\",\r\n PACKED: \"Packed\",\r\n PACKING_DUE: \"Packing Due\",\r\n STORECODE: \"StoreCode\",\r\n\r\n //Factory Dashboadr\r\n FACTORY_INVENTORY: \"Factory Inventory\",\r\n FACTORY_GARMENT_INVENTORY: \"Factory Garment Inventory\",\r\n INVENTORY_SUMMARY: \"Inventory Summary\",\r\n OVERDUE_GARMENTS: \"Overdue Garments\",\r\n PACKED_GATEPASS_NOT_GENERATED: \"Packed Gate pass not generated\",\r\n TODAYS_DUE_GARMENT_ORDER: \"Todays Due Garments/Orders\",\r\n PREVIOUS_DUE: \"Previous Due\",\r\n MISSING_DAMAGE: \"Missing/Damage\",\r\n //Store In Pending on 18 Nov 2021\r\n STORE_IN_PENDING: \"Store In Pending\",\r\n UNABLE_TO_GET_LIST_OF_STORE_IN_PENDING:\r\n \"Unable to get list of store In Pending\",\r\n PACKAGING_ID: \"Packaging ID\",\r\n GATEPASSNUMBER: \"Gate Pass No.\",\r\n STORE_CODE: \"Store Short Code\",\r\n PACKED_ON_DATE: \"Packed On Date & Time \",\r\n FACTORY_OUT_DATE: \"Factory Out Date & Time\",\r\n DELAY_DAYS: \"Delay Days\",\r\n\r\n //Factory In Pending On 18 Nov 2021\r\n FACTORY_IN_PENDING: \"Factory In Pending\",\r\n STORE_OUT_DATE: \"Store Out Date & Time\",\r\n TAG_NO_PENDING: \"Tag Nos(Pending)\",\r\n FACTORY_IN_GARMENTS: \"Factory In Garments\",\r\n PENDING_FACTORY_IN: \"Pending Factory In\",\r\n UNABLE_TO_GET_LIST_OF_FACTORY_IN_PENDING:\r\n \"Unable to get list of factory In Pending\",\r\n\r\n //Processing\r\n PROCESSING: \"Processing\",\r\n GARMENT_PROCESSING: \"Garment Processing\",\r\n PROCESSING_LIST: \"Processing List\",\r\n SCAN_TAG: \"Scan Tag\",\r\n ENTER_TAG: \"Enter/Scan Tag\",\r\n UNABLE_TO_GET_TAG_DATA: \"Unable To get Tag Number Data.\",\r\n NO_OF_GARMENT_ALLREADY_PROCEED: \"No of garment already proceed\",\r\n LAST_PROCEED_DATETIME: \"Last proceed datetime\",\r\n PLEASE_ENTER_GARMENT: \"Please Enter Garment\",\r\n UNABLE_TO_GET_LIST_OF_PROCESSING_DATA:\r\n \"Unable to get list of Processing Data.\",\r\n FACTORY_IN_DATETIME: \"Factory In Date & Time\",\r\n PROCESSING_IN_DATE_TIME: \"Processing In Date & Time\",\r\n NO_OF_ITEMS_PENDING_FOR_PROCESSING: \"No.of Items Pending for Processing\",\r\n LOT_SIZE_FACTORY_IN: \"Lot Size/Factory In\",\r\n ROLL: \"Roll\",\r\n WASH_TYPE: \"Wash Type\",\r\n REWASH_REASON: \" Rewash Reason\",\r\n\r\n //Terms And Condition\r\n TERMS_AND_CONDITIONS: \"Terms And Conditions\",\r\n\r\n //Delivery Dashboard\r\n DELIVERY_DASHBORAD: \"Delivery\",\r\n\r\n //Rewars\r\n PLATFORM: \"PlatForm\",\r\n SELECT_PLATFORM: \"select PlatForm\",\r\n\r\n //Faq\r\n FAQ: \"Faq\",\r\n UPDATE_INVOICE_REMARK: \"Update Invoice Remark\",\r\n\r\n INVOICE_REMARK_UPDATED_SUCCESSFULLY: \"Invoice Remark Updated Successfully\",\r\n UNABLE_TO_UPDATE_INVOICE_REMARK: \"Unable To Update Invoice Remark\",\r\n\r\n //Audit\r\n AUDIT: \"Audit\",\r\n PENDING_CASH_SUMMARY: \"Pending Cash Summary\",\r\n\r\n CS_ACTION: \"CS Action\",\r\n ARE_YOU_SURE_YOU_WANT_ESCALATE_DELIVERY:\r\n \"Are you sure you want Escalate Delivery?\",\r\n UNABLE_TO_ESCALATE_DELIVERY: \"Unable to Escalate Delivery\",\r\n ESCALATED_SUCCESSFULLY: \"Escalated Successfully\",\r\n\r\n //Orders Summary\r\n\r\n ORDERS_SUMMARY: \"Orders Summary\",\r\n\r\n //Factory Inventory Summary\r\n SERVICE_TYPE: \"Service Type\",\r\n ORDER_COUNT: \"Orders Count\",\r\n NO_OF_GARMENT_DUE_FOR_PACKAGING: \"No. of Garments Due for Packaging \",\r\n\r\n // PickUP screen\r\n CANCEL_REQUESTED_BY: \"Cancel Requested By\",\r\n CANCEL_REQUESTED_REASON: \"Cancel Requested Reason\",\r\n CANCELLED_REASON: \"Cancelled Reason\",\r\n CANCELLED_BY: \"Cancelled By\",\r\n ORIGINAL_PICKUPID: \"Original PickupID\",\r\n PLEASE_ENTER_ORIGINAL_PICKUP: \"Please Enter Original Pickup\",\r\n\r\n OUT_OF_COVERAGE: \"Out Of Coverage\",\r\n PICKUP_DELIVERY_ASSIGNMENT: \"Pickup Delivery Assignment\",\r\n GENERATE_OTP: \"Generate OTP\",\r\n ALT_NUMBER_ADDED_SUCCESSFULLY: \"Alternative Number Added Successfully\",\r\n UNABLE_TO_ADD_ALT_NUMBER: \"Unable to Add Alternative Number\",\r\n OTP_SENT_SUCCESSFULLY: \"OTP sent Successfully\",\r\n UNABLE_TO_SENT_OTP: \"Unable to sent OTP\",\r\n\r\n ALTER_PHONE_NUMBER: \"Alternative Phone Number\",\r\n ALT_NUMBER_DELETED_SUCCESSFULLY: \"Alternative Number Deleted Successfully\",\r\n UNABLE_TO_DELETE_ALT_NUMBER: \"Unable to Deleted Alternative Number\",\r\n VIEW_ON_MAP: \"View On Map\",\r\n DAILY_ORDER_SUMMARY: \"Daily Order Summary\",\r\n MONTHLY_ORDER_SUMMARY: \"Monthly Order Summary\",\r\n DAILY_PICKUP_SUMMARY: \"Daily Pickup Summary\",\r\n MONTHLY_PICKUP_SUMMARY: \"Monthly Pickup Summary\",\r\n\r\n STOREID_UPDATED_SUCCESSFULLY: \"StoreID Updated Successfully\",\r\n UNABLE_TO_UPDATE_STOREID: \"Unable To Update StoreID\",\r\n REASSIGN_STORE: \"Reassign Store\",\r\n PLEASE_SELECT_STORE: \"Please Select Store\",\r\n APPSFLYER: \"AppsFlyer\",\r\n\r\n ORDER_ALREADY_SCANNED: \"Order already scanned\",\r\n ORDER_NOT_FOUND: \"Order Not Found\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_ORDER:\r\n \"Please select store before scanning the order\",\r\n\r\n DAILY_SHEETS: \"Daily Sheets\",\r\n EXPRESS_URGENT: \"Express/Urgent\",\r\n REWASH: \"Rewash\",\r\n FIVE_STARE: \"5 Star\",\r\n\r\n UNABLE_TO_GET_EXPRESS_URGENT_DATA:\r\n \"Unable to get Express/Semi-Express/Urgent Data\",\r\n UNABLE_TO_GET_REWASH_DATA:\r\n \"Unable to get Rewash Data\",\r\n UNABLE_TO_GET_FIVESTAR_DATA:\r\n \"Unable to get Five Star Data\",\r\n\r\n GARMENT_DEFECT:\"Garment Defect\",\r\n STORE_STATUS : \"Store Status\",\r\n },\r\n HINDI: {\r\n SELECT_SERVICE: \"सेवा का चयन करें\",\r\n SELECT_FACTORY: \"फैक्टरी का चयन करें\",\r\n SPLIT_ORDER: \"स्प्लिट ऑर्डर\",\r\n CUSTOMER_NAME: \"ग्राहक का नाम\",\r\n ORDER_DATE: \"आदेश की तारीख\",\r\n TOTAL_GARMENTS: \"कुल वस्त्र\",\r\n SPLIT_ORDER_NUMBER: \"स्प्लिट ऑर्डर नंबर\",\r\n TAG_NUMBER: \"संख्या मार्क करना\",\r\n GARMENT_NAME: \"परिधान का नाम\",\r\n ADD_ON_SERVICES: \"सेवाओं पर जोड़ें\",\r\n GENERATE_GATE_PASS: \"गेट पास उत्पन्न करें\",\r\n GATE_PASS_NUMBER: \"गेट पास नंबर\",\r\n STORE_NAME: \"स्टोर नाम\",\r\n FACTORY_NAME: \"फैक्टरी का नाम\",\r\n STORE_GARMENTS_OUT: \"स्टोर गारमेंट्स आउट\",\r\n TOTAL_SPLIT_NUMBER: \"कुल विभाजन संख्या\",\r\n GATE_PASS_DATE: \"गेट पास की तारीख\",\r\n STIKER_NUMBER: \"स्टीकर नंबर\",\r\n PLEASESCAN_ADD_STICKER: \"कृपया स्कैन करें / स्टिकर जोड़ें\",\r\n ENTER_SCAN_STICKER: \"स्टिकर दर्ज करें / स्कैन करें\",\r\n CUSTOMER_CONTACT: \"ग्राहक से संपर्क\",\r\n DELIVERY_TYPE: \"वितरण के प्रकार\",\r\n SPLIT_ORDER_NO: \"स्प्लिट ऑर्डर नं\",\r\n GATE_PASS_NO: \"गेट पास नं\",\r\n DELIVERY_DATE: \"डिलीवरी की तारीख\",\r\n GARMENTS_IN_PROCESS: \"प्रक्रिया में वस्त्र\",\r\n PACKED_GARMENTS: \"पैक किए गए वस्त्र\",\r\n PACKING_MATERIAL: \"पैकिंग सामग्री\",\r\n STICKER_STATUS: \"स्टिकर की स्थिति\",\r\n SPLIT_ORDER_STATUS: \"स्प्लिट ऑर्डर की स्थिति\",\r\n GARMENTS_PACKED_INFORMATION: \"गारमेंट्स पैक की गई जानकारी\",\r\n USER_EXPENSE_ENTRY: \"उपयोगकर्ता व्यय प्रविष्टि\",\r\n USER_NAME: \"उपयोगकर्ता नाम\",\r\n EXPENSE_DATE: \"व्यय तिथि\",\r\n AMOUNT: \"रकम\",\r\n REMARKS: \"टिप्पणियों\",\r\n ARE_YOU_SURE: \"क्या आपको यकीन है ?\",\r\n ADD_EXPENSE: \"व्यय जोड़ें\",\r\n APPLY: \"लागू\",\r\n SELECT_EXPENSE_TYPE: \"व्यय प्रकार का चयन करें\",\r\n PLEASE_ENTER_AMOUNT: \"कृपया राशि दर्ज करें\",\r\n ENTER_AMOUNT: \"राशी डालें\",\r\n ENTER_REMARKS: \"टिप्पणी दर्ज करें\",\r\n GARMENTS_PENDING_TO_SEND_TO_FACTORY:\r\n \"कारखाने में भेजने के लिए लंबित वस्त्र\",\r\n ORDERS_PENDING_TO_SEND_TO_FACTORY: \"फैक्टरी भेजने के लिए लंबित आदेश\",\r\n SPILT_ORDERS_RECEIVED_FROM_FACTORY: \"फैक्ट्री से प्राप्त आदेश\",\r\n PENDING_FOR_NO_OF_DAYS: \"नो दिनों के लिए लंबित\",\r\n STORE_GARMENT_INVENTORY: \"स्टोर परिधान सूची\",\r\n GARMENTS_RECEIVED_FROM_FACTORY: \"कारखाने से प्राप्त वस्त्र\",\r\n FACTORY_TRANSFER_IN: \"फैक्टरी ट्रांसफर-इन\",\r\n SELECT_STORE: \"स्टोर का चयन करें\",\r\n GET_MISSING_GARMENTS: \"लापता गारमेंट्स प्राप्त करें\",\r\n TAGS_FROM_STORES: \"स्टोर से टैग\",\r\n SCANNING: \"स्कैनिंग\",\r\n TAGS_TO_THE_FACTORY: \"कारखाने के लिए टैग\",\r\n MISSING_GARMENTS: \"लापता वस्त्र\",\r\n SCAN_COMPLETE: \"स्कैन पूरा करें\",\r\n SEARCH_HERE: \"यहाँ ढूँढे\",\r\n RESORTING_AND_PACKAGING: \"रिज़ॉर्टिंग और पैकेजिंग\",\r\n ORDER_NUMBER: \"क्रम संख्या\",\r\n SRORE_NAME: \"श्रीहर नाम\",\r\n NO_OF_GARMENTS: \"गारमेंट्स की नहीं\",\r\n GARMENT_LEVEL_INFO: \"परिधान स्तर की जानकारी\",\r\n SELECTED_PENDING_GARMENT: \"चयनित परिधान\",\r\n PREVIOUSLY_GARMENTS_PACKED_IN: \"इससे पहले परिधानों में पैक किया जाता है\",\r\n PENDING_GARMENTS_TO_BE_PACKED_IN: \"लंबित परिधानों को पैक किया जाना है\",\r\n GENERATE_STICKER: \"स्टिकर उत्पन्न करें\",\r\n PRINT_GENERATE_STICKER: \"स्टिकर जनरेट करें\",\r\n SR_NO: \"अनु क्रमांक\",\r\n GARMENTS_PACKED: \"गारमेंट्स पैक किया\",\r\n PENDING_GARMENTS: \"लंबित वस्त्र\",\r\n PACKING_GARMENTS: \"पैकिंग वस्त्र\",\r\n FACTORY_TRANSFER_OUT: \"फैक्ट्री ट्रांसफर आउट\",\r\n FACTORY_GATE_PASS_NUMBER: \"फैक्टरी गेट पास संख्या:\",\r\n STORE_ADDRESS: \"स्टोर का पता\",\r\n CREATED_BY: \"के द्वारा बनाई गई\",\r\n S_NO: \"एस। नहीं\",\r\n SPLIT_ORDER_ID: \"स्प्लिट ऑर्डर आईडी\",\r\n NUMBER_OF_GARMENTS: \"गारमेंट्स की संख्या\",\r\n PACKED: \"पैक्ड\",\r\n ORDER_LOT_SIZE: \"ऑर्डर लॉट साइज\",\r\n PREVIOUSLY_SENT: \"पहले भेजा गया\",\r\n SENDING_TODAY: \"आज भेजा जा रहा है\",\r\n PENDING: \"विचाराधीन\",\r\n BAG: \"बैग\",\r\n HANGER: \"कांटा\",\r\n BLANKET: \"कंबल\",\r\n SHOE: \"जूता\",\r\n CARPET: \"गलीचा\",\r\n BLAZER: \"रंगीन जाकेट\",\r\n OTHERS: \"अन्य\",\r\n STICKER_NO: \"स्टीकर नं\",\r\n SPLLIT_ORDER_NO: \"स्प्लिट्ल ऑर्डर नं\",\r\n PACKING_MATERIAL_NAME: \"पैकिंग सामग्री का नाम\",\r\n PRE_QC_RESPONSE_LIST: \"प्री-क्यूसी रिस्पांस लिस्ट\",\r\n SELECT_QC_STATUS: \"क्यूसी स्थिति का चयन करें\",\r\n TAG: \"टैग\",\r\n CONTACT: \"संपर्क करें\",\r\n QC_REQUEST: \"Qc अनुरोध\",\r\n TIME: \"समय\",\r\n QC_REASON: \"क्यूसी कारण\",\r\n REMARK: \"टिप्पणी\",\r\n QC_PENDING_FROM: \"क्यूसी लंबित\",\r\n QC_STATUS: \"क्यूसी स्थिति\",\r\n ENTER_SCAN_TAG_NUMBER: \"टैग संख्या दर्ज / स्कैन करें\",\r\n GARMENT_HISTORY: \"परिधान का इतिहास\",\r\n GARMENT_INFORMATION: \"परिधान जानकारी\",\r\n GARMENT_STATUS: \"परिधान की स्थिति\",\r\n GATE_PASS: \"गेट पास\",\r\n BRAND: \"ब्रांड\",\r\n COLOR: \"रंग\",\r\n ADD_ON_SERVICE: \"सेवा पर जोड़ें\",\r\n SPECIAL_INSTRUCTION: \"विशेष निर्देश\",\r\n LATEST_QC_DETAILS: \"नवीनतम QC विवरण\",\r\n IMAGES: \"इमेजिस\",\r\n REASON: \"कारण\",\r\n SELECT_REASON: \"कारण चुनें\",\r\n COMMUNICATION_HISTORY: \"संचार इतिहास\",\r\n SELECT_SCAN_GARMENT: \"परिधान का चयन / स्कैन करें\",\r\n GARMENT_FOR_QC: \"क्यूसी के लिए परिधान\",\r\n SCANNED_ITEM: \"स्कैन की गई वस्तु\",\r\n ADDON_SERVICE: \"AddOn सेवा\",\r\n CONTACT_NO: \"संपर्क नंबर\",\r\n STICKER_INFORMATION: \"स्टीकर की जानकारी\",\r\n DOWNLOAD_GATE_PASS: \"गेट पास डाउनलोड करें\",\r\n STORE_GATE_PASS_NUMBER: \"स्टोर गेट पास नंबर\",\r\n FACTORY_ADDRESS: \"फैक्टरी का पता\",\r\n PICKUP_DATE: \"तारीख ले लो\",\r\n REFFERAL_PROGRAM_NAME: \"रेफ़रल प्रोग्राम का नाम\",\r\n REFFERAL_BONUS_AMOUNT: \"रेफ़रल बोनस राशि\",\r\n REFEREE_BONUS_AMOUNT: \"रेफरी बोनस राशि\",\r\n YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM:\r\n \"आप केवल अंतिम जोड़े गए प्रोग्राम को अपडेट कर सकते हैं\",\r\n UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA:\r\n \"रेफ़रल बोनस कॉन्फ़िगरेशन डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_SUBMIT_THE_DATA: \"डेटा जमा करने में असमर्थ\",\r\n ADD_REFFERAL_BONUS_CONFIGURATION: \"रेफ़रल बोनस कॉन्फ़िगरेशन जोड़ें\",\r\n VIEW_REFFERAL_BONUS_CONFIGURATION: \"रेफ़रल बोनस कॉन्फ़िगरेशन देखें\",\r\n EDIT_REFFERAL_BONUS_CONFIGURATION: \"रेफ़रल बोनस कॉन्फ़िगरेशन संपादित करें\",\r\n PLEASE_ENTER_REFFERAL_PROGRAM_NAME: \"कृपया Refferal Program Name दर्ज करें\",\r\n ENTER_REFFERAL_PROGRAM_NAME: \"रेफ़रल प्रोग्राम नाम दर्ज करें\",\r\n PLEASE_ENTER_REFERRAL_BONUS_AMOUNT: \"कृपया रीफ़रल बोनस राशि दर्ज करें\",\r\n ENTER_REFERRAL_BONUS_AMOUNT: \"रेफ़रल बोनस राशि दर्ज करें\",\r\n PLEASE_ENTER_REFEREE_BONUS_AMOUNT: \"कृपया रेफरी बोनस राशि दर्ज करें\",\r\n ENTER_REFEREE_BONUS_AMOUNT: \"रेफरी बोनस राशि दर्ज करें\",\r\n ENTER_BONUS_AMOUNT_VALIDITY_DAYS: \"बोनस राशि की वैधता (दिन) दर्ज करें\",\r\n ARE_YOU_SURE_YOU_WANT_TO_CREATE_THIS_PROGRAM_AS_PREVIOUS_PROGRAMS_WILL_GET_DEACTIVATED:\r\n \"क्या आप वाकई इस प्रोग्राम को बनाना चाहते हैं क्योंकि पिछले प्रोग्राम निष्क्रिय हो जाएंगे\",\r\n FILE_NAME: \"फ़ाइल का नाम\",\r\n TOTAL_RECORDS: \"कुल रिकॉर्ड\",\r\n SUCCEEDED: \"सफल हुए\",\r\n DOWNLOAD: \"डाउनलोड\",\r\n FAILED: \"अनुत्तीर्ण होना\",\r\n UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA:\r\n \"कर्मचारी क्रेडिट डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_UPLOAD_THE_FILE: \"फ़ाइल अपलोड करने में असमर्थ\",\r\n DOWNLOAD_FORMAT: \"प्रारूप डाउनलोड करें\",\r\n UPLOAD_FILE: \"दस्तावेज अपलोड करें\",\r\n ADD_EMPLOYEE_CREDITS: \"कर्मचारी क्रेडिट जोड़ें\",\r\n VIEW_EMPLOYEE_CREDITS: \"कर्मचारी क्रेडिट देखें\",\r\n EDIT_EMPLOYEE_CREDITS: \"कर्मचारी क्रेडिट संपादित करें\",\r\n UPLOAD_EMPLOYEE_CREDIT_CONFIGURATION_FILE:\r\n \"कर्मचारी क्रेडिट कॉन्फ़िगरेशन फ़ाइल अपलोड करें\",\r\n PLEASE_SELECT_FILE: \"कृपया फ़ाइल का चयन करें\",\r\n CLICK_TO_UPLOAD: \"अपलोड करने के लिए क्लिक करें\",\r\n UPLOAD: \"डालना\",\r\n UNABLE_TO_LOAD_PACKAGES: \"पैकेज लोड करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMERS: \"ग्राहकों की सूची प्राप्त करने में असमर्थ\",\r\n TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED:\r\n \"लेनदेन सफलतापूर्वक संसाधित किया गया है\",\r\n UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN:\r\n \"लेनदेन करने में असमर्थ फिर से प्रयास करें\",\r\n UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM:\r\n \"प्रोसेस करने में अक्षम। कृपया तकनीकी टीम से संपर्क करें\",\r\n PACKAGE_PURCHASED_SUCCESSFULLY: \"पैकेज सफलतापूर्वक खरीदा गया\",\r\n UNABLE_TO_BUY_PACKAGE: \"पैकेज खरीदने में असमर्थ\",\r\n BUY: \"खरीदें\",\r\n PLEASE_SELECT_CUSTOMER: \"कृपया ग्राहक चुनें\",\r\n SEARCH_CUSTOMER: \"ग्राहक खोजें\",\r\n MONEY_TYPE: \"पैसा प्रकार\",\r\n ADDED_BY: \"द्वारा जोड़ा\",\r\n ADDED_ON: \"पर जोड़ा\",\r\n UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA:\r\n \"अग्रिम भुगतान डेटा की सूची प्राप्त करने में असमर्थ\",\r\n ADVANCE_COLLECTED_SUCCESSFULLY: \"अग्रिम एकत्रित सफलतापूर्वक\",\r\n UNABLE_TO_ADD_AMOUNT_TO_LKWALLET: \"LKWallet में राशि जोड़ने में असमर्थ\",\r\n ADD_ADVANCE_PAYMENT: \"एडवांस भुगतान जोड़ें\",\r\n VALID_FROM: \"से मान्य\",\r\n VALID_TO: \"इस तक मान्य\",\r\n UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA:\r\n \"मुआवजा कॉन्फ़िगरेशन डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_ADD_THE_DATA: \"डेटा जोड़ने में असमर्थ\",\r\n COMPENSATION_CONFIGURATION: \"मुआवजा विन्यास\",\r\n ADD_COMPENSATION_CONFIGURATION: \"मुआवजा कॉन्फ़िगरेशन जोड़ें\",\r\n VIEW_COMPENSATION_CONFIGURATION: \"मुआवजा विन्यास देखें\",\r\n EDIT_COMPENSATION_CONFIGURATION: \"मुआवजा कॉन्फ़िगरेशन संपादित करें\",\r\n VALID_FROM_AND_TO_DATE: \"से मान्य और आज तक\",\r\n PLEASE_SELECT_VALID_FROM_AND_TO_DATE: \"कृपया तिथि से मान्य चुनें\",\r\n PLEASE_ENTER_REMARK: \"कृपया टिप्पणी दर्ज करें\",\r\n ENTER_REMARK: \"टिप्पणी दर्ज करें\",\r\n UNABLE_TO_GET_LIST_OF_REFUND_DATA:\r\n \"धनवापसी डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_ADD_REFUND_DATA: \"धनवापसी डेटा जोड़ने में असमर्थ\",\r\n ADD_REFUND: \"रिफंड जोड़ें\",\r\n VIEW_REFUND: \"रिफंड देखें\",\r\n DATA_SUCCESSFULLY_SUBMITTED: \"डेटा सफलतापूर्वक सबमिट किया गया\",\r\n UNABLE_TO_SUBMIT_TAG_DATA: \"टैग डेटा सबमिट करने में असमर्थ\",\r\n UNABLE_TO_LOAD_TAG_DATA: \"टैग डेटा लोड करने में असमर्थ\",\r\n UNABLE_TO_GET_TAG_DATA: \"टैग डेटा प्राप्त करने में असमर्थ\",\r\n PLEASE_ENTER_TAG_NO: \"कृपया टैग नं दर्ज करें\",\r\n FACTORY_POST_QC: \"फैक्टरी पोस्ट-क्यूसी\",\r\n PLEASE_SCAN_ADD_TAG_NUMBER: \"कृपया टैग नंबर को स्कैन / जोड़ें\",\r\n SELECT_STATUS: \"स्थिति का चयन करें\",\r\n PLEASE_ENTER_REMARKS: \"कृपया टिप्पणी दर्ज करें\",\r\n UNABLE_TO_LOAD_PRE_QC_RESPONSES:\r\n \"प्री-क्यूसी प्रतिक्रियाओं को लोड करने में असमर्थ\",\r\n FACTORY_PRE_QC: \"फैक्टरी प्री-क्यूसी\",\r\n ADD_GARMENT_FOR_QC: \"QC के लिए परिधान जोड़ें\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"डेटा सफलतापूर्वक सहेजा गया है\",\r\n GARMENT_SHOULD_BE_IN_FACTORY_TO_BE_ADDED_FOR_QC:\r\n \"परिधान कारखाने में होना चाहिए क्यूसी के लिए जोड़ा जा सकता है\",\r\n UNABLE_TO_GET_GARMENT_DETAILS: \"परिधान विवरण प्राप्त करने में असमर्थ\",\r\n GET_GARMENT_HISTORY: \"परिधान इतिहास प्राप्त करें\",\r\n PLEASE_SELECT_REASON: \"कृपया कारण चुनें\",\r\n UNABLE_TO_GET_CORPORATE_DATA: \"कॉर्पोरेट डेटा प्राप्त करने में असमर्थ\",\r\n GARMENTS_AT_QC: \"क्यूसी में वस्त्र\",\r\n GARMENTS_IN_POST_QC: \"डाक QC में गारमेंट्स\",\r\n UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA:\r\n \"फैक्ट्री गारमेंट्स इन्वेंटरी डेटा प्राप्त करने में असमर्थ\",\r\n GARMENT_INVENTORY_AT_FACTORY: \"फैक्ट्री में गारमेंट इन्वेंटरी\",\r\n DASHBOARD: \"डैशबोर्ड\",\r\n CUSTOMERS: \"ग्राहकों\",\r\n MANAGE_CUSTOMERS: \"ग्राहकों को प्रबंधित करें\",\r\n PACKAGE_CONFIGURATION: \"पैकेज कॉन्फ़िगरेशन\",\r\n REFERRAL_BONUS_CONFIGURATION: \"रेफ़रल बोनस कॉन्फ़िगरेशन\",\r\n EMPLOYEE_CREDITS: \"कर्मचारी क्रेडिट\",\r\n BUY_PACKAGE: \"पैकेज खरीदें\",\r\n ADVANCE_PAYMENTS: \"अग्रिम भुगतान\",\r\n COMPENSATION: \"नुकसान भरपाई\",\r\n REFUND: \"धन की वापसी\",\r\n MASTER: \"गुरुजी\",\r\n STORE: \"दुकान\",\r\n FACTORY: \"फ़ैक्टरी\",\r\n CORPORATE: \"कॉर्पोरेट\",\r\n CITY: \"Faridabad\",\r\n STATE: \"राज्य\",\r\n DESIGNATION: \"पद\",\r\n GARMENT_BRAND: \"परिधान ब्रांड\",\r\n GARMENT_SIZE: \"परिधान का आकार\",\r\n KYC_DOCUMENT_TYPE: \"केवाईसी दस्तावेज़ प्रकार\",\r\n SERVICE: \"सेवा\",\r\n GARMENT: \"परिधान\",\r\n REWASH_REASON: \"रीवाश कारण\",\r\n OPERATION_INSTRUCTION: \"ऑपरेशन निर्देश\",\r\n EXPENSE_TYPE: \"व्यय प्रकार\",\r\n ORDERS: \"आदेश\",\r\n PICKUPS: \"पिकप\",\r\n MANAGE_ORDERS: \"आदेश प्रबंधित करें\",\r\n READY_FOR_DELIVERY_OR_INVOICE: \"डिलीवरी / चालान के लिए तैयार\",\r\n DELIVERIES: \"वितरण\",\r\n TRANSFER_IN_OUT: \"में / बाहर स्थानांतरण\",\r\n TRANSFER_OUT: \"बाहर स्थानांतरण\",\r\n GATE_PASS_LIST: \"गेट पास सूची\",\r\n TRANSFER_IN: \"में स्थानांतरण\",\r\n PRE_QC_RESPONSES: \"प्री-क्यूसी प्रतिक्रिया\",\r\n USER_EXPENSES: \"उपयोगकर्ता व्यय\",\r\n INVENTORY: \"इन्वेंटरी\",\r\n SETTINGS: \"समायोजन\",\r\n AUTHENTICATION: \"प्रमाणीकरण\",\r\n USERS: \"उपयोगकर्ता\",\r\n ROLES: \"भूमिकाएँ\",\r\n ROLE_OPERATIONS: \"भूमिका संचालन\",\r\n CONFIGURATION: \"विन्यास\",\r\n TIME_CARD: \"टाइम कार्ड\",\r\n RATE_CARD: \"दर कार्ड\",\r\n DISCOUNT: \"छूट\",\r\n CASH_COUPON: \"कैश कूपन\",\r\n PACKAGING_CHARGES: \"पैकेजिंग शुल्क\",\r\n DELIVERY_CHARGES: \"पहुंचाने का शुल्क\",\r\n BANNER: \"बैनर\",\r\n NOTICE_BOARD: \"सूचना पट्ट\",\r\n FINGER_SCAN: \"अंगुलि स्कैन\",\r\n COLLECT_FINGERPRINTS: \"उंगलियों के निशान ले लीजिए\",\r\n QC_RESPONSES: \"QC प्रतिक्रियाएँ\",\r\n PRE_QC: \"प्री क्यूसी\",\r\n POST_QC: \"क्यूसी पोस्ट करें\",\r\n TODAYS_HIGHLIGHTS: \"आज की मुख्य बातें\",\r\n ORDER_VS_ORDER_AMOUNT: \"आदेश / आदेश राशि\",\r\n INVOICE_VS_INVOICE_AMOUNT: \"चालान / चालान राशि\",\r\n STORE_INVENTORY: \"स्टोर इन्वेंटरी\",\r\n OTHER_STATASTICS: \"अन्य आँकड़े\",\r\n PROCESSED: \"प्रसंस्कृत\",\r\n SOILED: \"गंदे\",\r\n AMOUNT_DUE_FOR_COLLECTION: \"संग्रह के लिए देय राशि\",\r\n ORDERS_READY_FOR_INVOICE: \"चालान के लिए तैयार आदेश\",\r\n DELIVERY_PERSON: \"डिलिवरी करने वाला व्यक्ति\",\r\n WALK_IN: \"बिना नियोजित भेंट के चला आने वाला\",\r\n PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"फ़ैक्टरी से बाहर स्थानांतरित करने के लिए लंबित\",\r\n NO_OF_ORDERS: \"आदेशों की संख्या\",\r\n PENDING_PICKUPS: \"लंबित पिकअप\",\r\n DATE: \"तारीख\",\r\n ORDERS_DUE_FOR_DELIVERY: \"प्रसव के कारण आदेश\",\r\n FIRST_NAME: \"पहला नाम\",\r\n LAST_NAME: \"उपनाम\",\r\n GENDER: \"लिंग\",\r\n EMAIL: \"ईमेल\",\r\n PHONE: \"फ़ोन\",\r\n TYPE: \"प्रकार\",\r\n BILLING_CYCLE: \"साइकिल चलाना\",\r\n ACTIONS: \"क्रिया\",\r\n VIEW: \"राय\",\r\n EDIT: \"संपादित करें\",\r\n DELETE: \"हटाएं\",\r\n SEARCH: \"खोज\",\r\n ADD_CUSTOMER: \"ग्राहक जोड़ें\",\r\n ADD: \"जोड़ना\",\r\n CUSTOMER: \"ग्राहक\",\r\n WALLET_CASH: \"बटुआ नकद\",\r\n WALLET_BONUS: \"वॉलेट बोनस\",\r\n GENERAL: \"सामान्य\",\r\n GENERAL_CUSTOMER_INFORMATION: \"सामान्य ग्राहक जानकारी\",\r\n ADDRESS: \"पता\",\r\n CUSTOMER_ADDRESSES: \"ग्राहक के पते\",\r\n VERIFICATION: \"सत्यापन\",\r\n VERIFY_PHONE_AND_EMAIL: \"Verfiy फोन और ईमेल\",\r\n PLEASE: \"कृप्या\",\r\n SELECT: \"चुनते हैं\",\r\n ENTER: \"दर्ज\",\r\n VALID: \"मान्य\",\r\n PHONE_NUMBER: \"फ़ोन नंबर\",\r\n DATE_OF_BIRTH: \"जन्म की तारीख\",\r\n ANNIVERSARY_DATE: \"सालगिरह की तिथि\",\r\n REFERRAL_CODE: \"रेफरल कोड\",\r\n CUSTOMER_TYPE: \"ग्राहक प्रकार\",\r\n GSTIN: \"GSTIN\",\r\n ACTIVE: \"सक्रिय\",\r\n STATUS: \"स्थिति\",\r\n YES: \"हाँ\",\r\n NO: \"नहीं\",\r\n CANCEL: \"रद्द करना\",\r\n SUBMIT: \"प्रस्तुत\",\r\n ID: \"आईडी\",\r\n PINCODE: \"पिन कोड\",\r\n ADRESSES_OF: \"के पते\",\r\n HOME: \"घर\",\r\n OFFICE: \"कार्यालय\",\r\n OTHER: \"अन्य\",\r\n LONGITUDE: \"देशान्तर\",\r\n LATITUDE: \"अक्षांश\",\r\n IS_DEFAULT: \"इसे डिफ़ॉल्ट के रूप में सेट करें\",\r\n PLEASE_ENTER_FIRST_NAME: \"कृपया पहला नाम दर्ज करें\",\r\n ENTER_FIRST_NAME: \"पहला नाम दर्ज करें\",\r\n PLEASE_ENTER_LAST_NAME: \"कृपया अंतिम नाम दर्ज करें\",\r\n ENTER_LAST_NAME: \"अंतिम नाम दर्ज करो\",\r\n PLEASE_ENTER_EMAIL: \"कृपया ईमेल दर्ज करें\",\r\n PLEASE_ENTER_VALID_EMAIL: \"कृपया वैध ईमेल दर्ज़ करें\",\r\n ENTER_EMAIL: \"ईमेल दर्ज करें\",\r\n PLEASE_ENTER_PHONE_NUMBER: \"कृपया फ़ोन नंबर दर्ज करें\",\r\n PLEASE_ENTER_VALID_PHONE_NUMBER: \"कृपया एक वैध नंबर डालें\",\r\n ENTER_PHONE_NUMBER: \"फोन नंबर दर्ज\",\r\n PLEASE_SELECT_GENDER: \"कृपया लिंग चुनें\",\r\n SELECT_DATE: \"तारीख़ चुनें\",\r\n ENTER_REFERRAL_CODE: \"रेफ़रल कोड दर्ज करें\",\r\n PLEASE_SELECT_CUSTOMER_TYPE: \"कृपया ग्राहक प्रकार चुनें\",\r\n SELECT_CUSTOMER_TYPE: \"ग्राहक प्रकार का चयन करें\",\r\n SELECT_CORPORATE: \"कॉर्पोरेट का चयन करें\",\r\n PLEASE_SELECT_BILLING_CYCLE: \"कृपया बिलिंग चक्र का चयन करें\",\r\n SELECT_BILLING_CYCLE: \"बिलिंग साइकिल का चयन करें\",\r\n ENTER_VALID_GSTIN: \"मान्य GSTIN दर्ज करें\",\r\n ENTER_GSTIN: \"GSTIN दर्ज करें\",\r\n PLEASE_SELECT_STATUS: \"कृपया स्थिति चुनें\",\r\n ADD_ADDRESS: \"पता जोड़ें\",\r\n VIEW_ADDRESS: \"पता देखें\",\r\n EDIT_ADDRESS: \"पता संपाद��त करें\",\r\n PLEASE_SELECT_ADDRESS_TYPE: \"कृपया पता प्रकार चुनें\",\r\n SELECT_TYPE: \"प्रकार चुनें\",\r\n ENTER_LONGITUDE: \"देशांतर दर्ज करें\",\r\n ENTER_LATITUDE: \"अक्षांश दर्ज करें\",\r\n PLEASE_SELECT_STATE: \"कृपया राज्य चुनें\",\r\n SELECT_STATE: \"राज्य चुनें\",\r\n PLEASE_SELECT_CITY: \"कृपया शहर चुनें\",\r\n SELECT_CITY: \"शहर चुनें\",\r\n PLEASE_ENTER_PINCODE: \"कृपया पिनकोड दर्ज करें\",\r\n ENTER_PINCODE: \"पिनकोड दर्ज करें\",\r\n HOUSE_NO: \"हाउस नं ./Flat No./Floor/Street\",\r\n PLEASE_ENTER_HOUSE_NO: \"कृपया हाउस नं ./Flat No./Floor/Street दर्ज करें\",\r\n ENTER_HOUSE_NO: \"घर का नंबर नं। दर्ज करें। नं\",\r\n LANDMARK: \"सीमा चिन्ह\",\r\n ENTER_LANDMARK: \"मील का पत्थर दर्ज करें\",\r\n HOW_TO_REACH: \"कैसे पहुंचा जाये\",\r\n ENTER_HOW_TO_REACH: \"कैसे पहुँचें\",\r\n PLEASE_ENTER_ADDRESS: \"कृपया पता दर्ज करें\",\r\n ENTER_ADDRESS: \"पता लिखिए\",\r\n UPDATE: \"अपडेट करें\",\r\n PLEASE_ENTER_OTP: \"कृपया OTP दर्ज करें\",\r\n ENTER_OTP: \"OTP दर्ज करें\",\r\n VERIFY: \"सत्यापित करें\",\r\n DIDNT_RECIEVED_ANYTHIG: \"कुछ भी नहीं मिला?\",\r\n RESEND_OTP: \"ओटीपी पुनः भेजें\",\r\n NOT_VERIFIED: \"प्रमाणित नहीं है\",\r\n VERIFY_PHONE_NUMBER: \"फ़ोन नंबर सत्यापित करें\",\r\n VERIFIED: \"सत्यापित\",\r\n PACKAGE_NAME: \"पैकेज का नाम\",\r\n PACKAGE_AMOUNT: \"पैकेज राशि\",\r\n BONUS_AMOUNT: \"बोनस राशि\",\r\n BONUS_VALIDITY: \"बोनस की वैधता\",\r\n TITLE: \"शीर्षक\",\r\n DESCRIPTION: \"विवरण\",\r\n ADD_PACKAGE_CONFIGURATION: \"पैकेज कॉन्फ़िगरेशन जोड़ें\",\r\n DELETE_SELECTED: \"चयनित मिटाएं\",\r\n VIEW_PACKAGE_CONFIGURATION: \"पैकेज कॉन्फ़िगरेशन देखें\",\r\n EDIT_PACKAGE_CONFIGURATION: \"पैकेज कॉन्फ़िगरेशन संपादित करें\",\r\n PLEASE_ENTER_PACKAGE_NAME: \"कृपया पैकेज का नाम दर्ज करें\",\r\n ENTER_PACKAGE_NAME: \"पैकेज का नाम दर्ज करें\",\r\n PLEASE_ENTER_PACKAGE_AMOUNT: \"कृपया पैकेज राशि दर्ज करें\",\r\n ENTER_PACKAGE_AMOUNT: \"पैकेज राशि दर्ज करें\",\r\n PLEASE_ENTER_BONUS_AMOUNT: \"कृपया बोनस राशि दर्ज करें\",\r\n ENTER_BONUS_AMOUNT: \"बोनस राशि दर्ज करें\",\r\n BONUS_AMOUNT_VALIDITY_DAYS: \"बोनस राशि की वैधता (दिन)\",\r\n PLEASE_ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"कृपया बोनस राशि की वैधता दर्ज करें (दिन)\",\r\n ENTER_BONUS_VALIDITY_DAYS: \"बोनस वैधता (दिन) दर्ज करें\",\r\n DESCRIPTION_TITLE: \"विवरण शीर्षक\",\r\n ENTER_DESCRIPTION_TITLE: \"विवरण शीर्षक दर्ज करें\",\r\n PLEASE_ENTER_DESCRIPTION_TITLE: \"कृपया विवरण शीर्षक दर्ज करें\",\r\n PLEASE_ENTER_DESCRIPTION: \"कृपया विवरण दर्ज करें\",\r\n ENTER_DESCRIPTION: \"विवरण दर्ज करें\",\r\n PICKUP_ID: \"पिकअप आई.डी.\",\r\n PROMOCODE: \"प्रचार कोड\",\r\n ASSIGNED_USER_NAME: \"सौंपा गया उपयोगकर्ता नाम\",\r\n ORDER: \"गण\",\r\n REASSIGN: \"पुनः असाइन\",\r\n ADD_PICKUP: \"पिकअप जोड़ें\",\r\n REASSIGN_PICKUP_EXECUTIVE: \"पुनः पिक पिक कार्यकारी\",\r\n PICKUP_EXECUTIVE: \"पिक कार्यकारी\",\r\n PLEASE_SELECT_ANY_PICKUP_EXECUTIVE: \"कृपया कोई भी पिक कार्यकारी चुनें\",\r\n SELECT_PICKUP_EXECUTIVE: \"पिक कार्यकारी चुनें\",\r\n PICKUP: \"उठाना\",\r\n HISTORY: \"इतिहास\",\r\n GENERAL_PICKUP_INFORMATION: \"सामान्य पिकअप जानकारी\",\r\n HISTORY_OF_RESCHEDULED_PICKUPS: \"पुनर्निर्धारित पिकअप का इतिहास\",\r\n PICKUP_STATUS: \"पिक की स्थिति\",\r\n SELECT_PICKUP_STATUS: \"पिकअप स्थिति चुनें\",\r\n PLEASE_SELECT_PICKUP_DATE: \"कृपया पिक तिथि चुनें\",\r\n PICKUP_TIMESLOT: \"पिकअप टाइमस्लेट\",\r\n PLEASE_SELECT_TIMESLOT: \"कृपया TimeSlot का चयन करें\",\r\n SELECT_TIMESLOT: \"Timeslot का चयन करें\",\r\n SELECT_ADDRESS: \"पता चुनें\",\r\n PLEASE_SELECT_DELIVERY_TYPE: \"कृपया वितरण प्रकार चुनें\",\r\n SELECT_DELIVERY_TYPE: \"वितरण प्रकार चुनें\",\r\n ENTER_NO_OF_GARMENTS: \"गारमेंट्स की संख्या दर्ज करें\",\r\n ENTER_PROMOCODE: \"प्रचार कि नियमावली दर्ज करो\",\r\n SERVICES: \"सेवाएं\",\r\n PLEASE_SELECT_SERVICES: \"कृपया सेवाओं का चयन करें\",\r\n SELECT_SERVICES: \"सेवाओं का चयन करें\",\r\n DELIVERY_TIMESLOT: \"डिलीवरी का समय\",\r\n CANCELLATION_REASON: \"रद्द करने का कारण\",\r\n SELECT_OPERATION_INSTRUCTION: \"ऑपरेशन इंस्ट्रक्शन का चयन करें\",\r\n RESCHEDULED_PICKUP_HISTORY: \"पुनर्निर्धारित पिकअप इतिहास\",\r\n ON_DEMAND_WALK_IN: \"डिमांड / वॉक-इन पर\",\r\n GARMENTS: \"गारमेंट्स\",\r\n CREATE_ORDER: \"आदेश बनाएँ\",\r\n PRINT_TAGS: \"प्रिंट टैग\",\r\n CANCEL_ORDER: \"आदेश रद्द\",\r\n CANCEL_REASON: \"कारण रद्द करें\",\r\n PLEASE_ENTER_REASON: \"कृपया कारण दर्ज करें\",\r\n ENTER_REASON_TO_CANCEL_THE_ORDER: \"ऑर्डर रद्द करने का कारण दर्ज करें\",\r\n CUSTOMER_DETAILS: \"उपभोक्ता विवरण\",\r\n NAME: \"नाम\",\r\n TYPE_OF_SERVICE: \"सेवा का प्रकार\",\r\n PICKUP_REQUEST: \"पिक अनुरोध\",\r\n TYPE_OF_CUSTOMER: \"ग्राहक का प्रकार\",\r\n WALLET_CREDIT: \"वॉलेट क्रेडिट\",\r\n FILTER: \"फ़िल्टर\",\r\n ORDER_SUMMARY: \"आदेश सारांश\",\r\n DETAILS: \"विवरण\",\r\n QTY: \"मात्रा\",\r\n RATES: \"दरें\",\r\n FEES: \"फीस\",\r\n SUBTOTAL: \"उप-योग\",\r\n TAXES_AND_CHARGES: \"कर और शुल्क\",\r\n PROMO_DISCOUNT: \"प्रोमो डिस्काउंट\",\r\n SGST: \"एसजीएसटी\",\r\n CGST: \"सीजीएसटी\",\r\n IGST: \"IGST\",\r\n TOTAL: \"कुल\",\r\n ORDER_REMARKS: \"आदेश\",\r\n REVIEW_ORDER: \"अादेश का पुनः निरिक्षण\",\r\n MEDIUM: \"मध्यम\",\r\n REQUIRED: \"अपेक्षित\",\r\n WEIGHT: \"वजन\",\r\n SELECT_ADD_ON_SERVICES: \"ऐड-ऑन सेवाओं का चयन करें\",\r\n DARNING_SIZE: \"डारिंग आकार\",\r\n SMALL: \"छोटा\",\r\n LARGE: \"विशाल\",\r\n DYING_COLORS: \"मरने का रंग\",\r\n SIZE: \"आकार\",\r\n PRICE: \"कीमत\",\r\n NOTES: \"टिप्पणियाँ\",\r\n ONLY_3_IMAGES_ARE_ALLOWED: \"केवल 3 छवियां अनुमत हैं\",\r\n LOGISTICS_INSTRUCTION: \"रसद निर्देश\",\r\n ON_DEMAND_DELIVERY: \"डिमांड डिलीवरी पर\",\r\n REPRINT_TAGS: \"पुनर्मुद्रण टैग\",\r\n REPRINT_ESTIMATED_ORDER: \"पुनर्मुद्रित अनुमानित आदेश\",\r\n REWASH_REQUESTED_BY: \"रिवाश रिक्वेस्ट बाय\",\r\n PLACE_ORDER: \"आदेश देना\",\r\n COLLECT_ADVANCE_PAYMENT: \"एडवांस पेमेंट लीजिए\",\r\n UPDATE_ORDER: \"आर्डर का अद्यतन करें\",\r\n CONFIRM_ORDER: \"आदेश की पुष्टि करें\",\r\n TAG_IN_GARMENTS: \"गारमेंट्स में टैग\",\r\n CREATE_REWASH_ORDER: \"रीवाश ऑर्डर बनाएं\",\r\n PAYMENT_METHOD: \"भुगतान का तरीका\",\r\n COLLECT: \"कलेक्ट\",\r\n PROCESSING: \"प्रसंस्करण\",\r\n INVOICE_NUMBER: \"बीजक संख्या\",\r\n GENERATE: \"उत्पन्न\",\r\n SETTLE: \"रुकना\",\r\n READY_FOR_DELIVERY_ORDERS: \"डिलीवरी ऑर्डर के लिए तैयार\",\r\n HIDE_FILTERS: \"फिल्टर छुपाएँ\",\r\n SHOW_FILTERS: \"फिल्टर दिखाएं\",\r\n PLEASE_SELECT_FROM_DATE: \"कृपया तारीख से चयन करें\",\r\n FROM_DATE: \"तारीख से\",\r\n PLEASE_SELECT_TO_DATE: \"कृपया तिथि का चयन करें\",\r\n TO_DATE: \"तारीख तक\",\r\n ENTER_SPLIT_ORDER_NUMBER: \"स्प्लिट ऑर्डर नंबर दर्ज करें\",\r\n PROFORMA_INVOICE_NUMBER: \"प्रोफार्मा चालान नंबर\",\r\n PROFORMA_INVOICE_DATE: \"प्रोफार्मा चालान तिथि\",\r\n INVOICE_DATE: \"चालान की तारीख\",\r\n INVOICE: \"बीजक\",\r\n ORDER_TYPE: \"आदेश प्रकार\",\r\n PICKUP_BY: \"द्वारा पिकअप\",\r\n ADJUSTED_LK_BONUS_AMOUNT: \"समायोजित एलके बोनस राशि\",\r\n PROFORMA_INVOICE: \"प्रोफार्मा चालान\",\r\n TOTAL_AMOUNT: \"कुल रकम\",\r\n ADD_ON_SERVICE_CHARGES: \"सेवा शुल्क जोड़ें\",\r\n ADHOC_CHARGES: \" एडहॉक शुल्क\",\r\n PAIDLESS_AMOUNT: \"Adjusted By Admin\",\r\n ADJUSTED_AMOUNT: \"Paid Less\",\r\n AMOUNT_TO_COLLECT: \"इकट्ठा करने के लिए राशि\",\r\n ADD_REMARKS: \"रिमार्क्स जोड़ें\",\r\n UPDATE_PROFORMA_INVOICE: \"अद्यतन प्रोफार्मा चालान\",\r\n CREATE_PROFORMA_INVOICE: \"प्रोफार्मा चालान बनाएँ\",\r\n USE_LK_WALLET: \"एलके वॉलेट का उपयोग करें\",\r\n GENERATE_TAX_INVOICE: \"कर चालान जनरेट करें\",\r\n DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET:\r\n \"क्या आप LKWallet में अतिरिक्त राशि जोड़ना चाहते हैं\",\r\n SETTLE_LESS_PAID_INVOICE: \"सेटल कम पेड इनवॉइस\",\r\n SLOT: \"स्लॉट\",\r\n ASSIGNED_TO: \"को सौंपना\",\r\n RESCHEDULE: \"पुनर्निर्धारित\",\r\n DELIVERY_LIST: \"वितरण सूची\",\r\n REASSIGN_DELIVERY: \"रीसाइन डिलीवरी\",\r\n PLEASE_SELECT_ASSIGNEE: \"कृपया असाइन करें चुनें\",\r\n SELECT_ASSIGNEE: \"असाइन करें का चयन करें\",\r\n DELIVERY_ID: \"डिलीवरी आईडी\",\r\n RESCHEDULE_DELIVERY: \"पुनर्निर्धारित वितरण\",\r\n CANCEL_DELIVERY: \"वितरण रद्द करें\",\r\n PLEASE_SELECT_DELIVERY_DATE: \"कृपया डिलीवरी की तारीख चुनें\",\r\n PLEASE_ENTER_CANCEL_REASON: \"कृपया कारण रद्द करें दर्ज करें\",\r\n ENTER_CANCEL_REASON: \"कारण रद्द करें दर्ज करें\",\r\n PLEASE_SELECT_EXPENSE_TYPE: \"कृपया व्यय प्रकार चुनें\",\r\n PLEASE_SELECT_EXPENSE_DATE: \"कृपया व्यय तिथि चुनें\",\r\n // OVERDUE_GARMENTS: \"गारमेंट्स पर काबू\",\r\n OVERDUE_ORDERS: \"अतिदेय आदेश\",\r\n GARMENT_COUNTS: \"परिधान मायने रखता है\",\r\n ORDER_COUNTS: \"आदेश मायने रखता है\",\r\n TOTAL_PENDING_GARMENTS_ORDERS: \"कुल लंबित वस्त्र / आदेश\",\r\n TODAYS_DUE: \"आज का दिन\",\r\n TICKETS_COUNTS: \"टिकट मायने रखता है\",\r\n ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE:\r\n \"बंद स्टोर का उपयोग करके ऑर्डर नहीं बनाया जा सकता है\",\r\n THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE:\r\n \"इस स्टोर से इस तरह का ऑर्डर नहीं बनाया जा सकता है\",\r\n AMOUNT_IS_REQUIRED: \"राशि की आवश्यकता है\",\r\n AMOUNT_SHOULD_BE_GREATER_THAN_0: \"राशि 0 से अधिक होनी चाहिए\",\r\n IS_LAUNDROKART_EMPLOYEE: \"लॉन्ड्रोकार्ट कर्मचारी है\",\r\n REWASH_ORDER: \"रीवाश ऑर्डर\",\r\n\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"कृपया केवल 1 से 9 तक के अंकों को दर्ज करें\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"कृपया केवल अक्षर दर्ज करें\",\r\n MISSING_TAG_NOS: \"लापता टैग नं\",\r\n\r\n //Server Message\r\n CUSTOMER_IS_SUCCESSFULLY_REGISTERED: \"ग्राहक सफलतापूर्वक पंजीकृत है\",\r\n DATA_IS_SUCCESSFULLY_RETRIEVED:\r\n \"डेटा सफलतापूर्वक पुनर्प्राप्त किया जाता है\",\r\n DATA_IS_SUCCESSFULLY_DELETED: \"डेटा सफलतापूर्वक हटा दिया गया है\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"डेटा सफलतापूर्वक सहेजा गया है\",\r\n DATA_IS_SUCCESSFULLY_UPDATED: \"डेटा सफलतापूर्वक अपडेट किया गया है\",\r\n RECORD_IS_ALREADY_EXISTS: \"रिकॉर्ड पहले से मौजूद है\",\r\n INTERNAL_SERVER_ERROR: \"आंतरिक सर्वर त्रुटि\",\r\n DATA_IS_SUCCESSFULLY_UPLOADED: \"डेटा सफलतापूर्वक अपलोड किया गया है\",\r\n DISCOUNT_IS_SUCCESSFULLY_BLOCKED: \"छूट सफलतापूर्वक अवरुद्ध है\",\r\n DISCOUNT_IS_SUCCESSFULLY_AUTHORIZED: \"छूट सफलतापूर्वक अधिकृत है\",\r\n DISCOUNT_IS_SUCCESSFULLY_GENERATED: \"छूट सफलतापूर्वक उत्पन्न होती है\",\r\n OTP_HAS_BEEN_SUCCESSFULLY_RESENT: \"ओटीपी को सफलतापूर्वक भेजा गया है\",\r\n PICKUP_IS_SUCCESSFULLY_RESCHEDULED:\r\n \"पिकअप सफलतापूर्वक पुनर्निर्धारित किया गया है\",\r\n PICKUP_IS_SUCCESSFULLY_SCHEDULED: \"पिकअप सफलतापूर्वक निर्धारित है\",\r\n PICKUP_IS_SUCCESSFULLY_CANCELLED: \"पिकअप सफलतापूर्वक रद्द कर दिया गया है\",\r\n PICKUP_IS_SUCCESSFULLY_REASSIGNED:\r\n \"पिकअप सफलतापूर्वक पुन: असाइन किया गया है\",\r\n ERROR_WHILE_SENDING_CALL_BACK_REQUEST_NOTIFICATION:\r\n \"कॉल बैक अनुरोध सूचना भेजते समय त्रुटि\",\r\n ORDER_IS_SUCCESSFULLY_CANCELLED: \"आदेश सफलतापूर्वक रद्द कर दिया गया है\",\r\n ORDER_IS_SUCCESSFULLY_CREATED_PLEASE_CONFIRM_ORDER_TO_PROCEED_FURTHER:\r\n \"आदेश सफलतापूर्वक बनाया गया है कृपया आगे बढ़ने के लिए आदेश की पुष्टि करें\",\r\n ORDER_IS_SUCCESSFULLY_UPDATED: \"आदेश सफलतापूर्वक अपडेट किया गया है\",\r\n GENERATE_TAGS_FOR_ORDER_SUCCESSFULLY: \"आदेश के लिए टैग सफलतापूर्वक बनाएं\",\r\n GETEPASS_IS_SUCCESSFULLY_GENERATED: \"गेटपास सफलतापूर्वक जनरेट किया गया है\",\r\n PROMOCODE_VALIDATED_SUCCESSFULLY: \"प्रोमोकोड सफलतापूर्वक सत्यापित किया गया\",\r\n INVALID_PROMOCODE: \"अमान्य प्रचार\",\r\n DELIVERY_IS_SUCCESSFULLY_REASSIGNED:\r\n \"वितरण सफलतापूर्वक पुन: असाइन किया गया है\",\r\n AMOUNT_SUCCESSFULLY_BLOCKED: \"राशि सफलतापूर्वक ब्लॉक की गई\",\r\n USER_IS_VALID: \"उपयोगकर्ता मान्य है\",\r\n USER_IS_INVALID: \"उपयोगकर्ता अमान्य है\",\r\n ALREADY_IN_USED: \"पहले से ही इस्तेमाल में है\",\r\n PDF_FILE_IS_GENERATED_SUCCESSFULLY:\r\n \"पीडीएफ फाइल सफलतापूर्वक उत्पन्न होती है\",\r\n OLD_PASSWORD_DOES_NOT_MATCH: \"पुराना पासवर्ड मेल नहीं खाता\",\r\n NOTIFICATION_HAS_BEEN_SENT_SUCCESSFULLY:\r\n \"अधिसूचना को सफलतापूर्वक भेज दिया गया है\",\r\n ERROR_WHILE_SENDING_NOTIFICATION: \"सूचना भेजते समय त्रुटि\",\r\n NOTIFICATION_IS_SUCCESSFULLY_DISMISS:\r\n \"अधिसूचना सफलतापूर्वक खारिज कर दी जाती है\",\r\n THERE_WAS_AN_INTERNAL_ERROR_PLEASE_CONTACT_TO_TECHNICAL_SUPPORT:\r\n \"एक आंतरिक त्रुटि थी कृपया तकनीकी सहायता से संपर्क करें\",\r\n EMAIL_SENT_SUCCESSFULLY: \"सफलतापूर्वक भेजा गया ईमेल!\",\r\n TAGS_NOT_FOUND: \"टैग नहीं मिला\",\r\n UNABLE_TO_GET_LIST_OF_STORE_DATA:\r\n \"स्टोर डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_MISSING_TAG_DATA: \"लापता टैग डेटा प्राप्त करने में असमर्थ\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG:\r\n \"टैग स्कैन करने से पहले कृपया स्टोर चुनें\",\r\n PLEASE_ENTER_THE_TAG_TO_SCAN: \"कृपया स्कैन करने के लिए टैग दर्ज करें\",\r\n TAG_ALREADY_SCANNED: \"टैग पहले से ही स्कैन किया गया\",\r\n PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS:\r\n \"कृपया ट्रांसफर प्रक्रिया के लिए फ़ैक्टरी टैग नं चुनें\",\r\n UNABLE_TO_SCAN_THE_TAG: \"टैग को स्कैन करने में असमर्थ\",\r\n TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY:\r\n \"टैग सफलतापूर्वक स्थानांतरित किए जाते हैं\",\r\n GENERATING_GATE_PASS: \"गेट पास का निर्माण\",\r\n PLEASE_SELECT_STICKERS: \"कृपया स्टिकर चुनें\",\r\n UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT:\r\n \"बाहर स्थानांतरित करने के लिए स्टिकर प्राप्त करने में असमर्थ\",\r\n INFO: \"जानकारी\",\r\n ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS:\r\n \"दर्ज संख्या छोटी होनी चाहिए फिर लंबित कपड़ों की नहीं\",\r\n PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"कृपया कम से कम एक लंबित कपड़ों का चयन करें\",\r\n STICKER_SUCCESSFULLY_GENERATED: \"स्टिकर सफलतापूर्वक उत्पन्न हुआ\",\r\n UNABLE_TO_GET_STICKERID: \"स्टिकर प्राप्त करने में असमर्थ\",\r\n GARMENT_ALREADY_PACKED:\r\n \"इस उपनियम के कुछ वस्त्र पहले ही पैक किए जा चुके हैं, कृपया ताज़ा करें और पुनः प्रयास करें\",\r\n REDIRECTING: \"पुन: निर्देशित\",\r\n SUCCESS: \"सफलता\",\r\n FAIL: \"विफल\",\r\n\r\n //11/06/2020\r\n CUSTOMER_IS_SUCCESSFULLY_REGISTERED: \"ग्राहक सफलतापूर्वक पंजीकृत है\",\r\n DATA_IS_SUCCESSFULLY_RETRIEVED:\r\n \"डेटा सफलतापूर्वक पुनर्प्राप्त किया जाता है\",\r\n DATA_IS_SUCCESSFULLY_DELETED: \"डेटा सफलतापूर्वक हटा दिया गया है\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"डेटा सफलतापूर्वक सहेजा गया है\",\r\n DATA_IS_SUCCESSFULLY_UPDATED: \"डेटा सफलतापूर्वक अपडेट किया गया है\",\r\n RECORD_IS_ALREADY_EXISTS: \"रिकॉर्ड पहले से मौजूद है\",\r\n INTERNAL_SERVER_ERROR: \"आंतरिक सर्वर त्रुटि\",\r\n DATA_IS_SUCCESSFULLY_UPLOADED: \"डेटा सफलतापूर्वक अपलोड किया गया है\",\r\n DISCOUNT_IS_SUCCESSFULLY_BLOCKED: \"छूट सफलतापूर्वक अवरुद्ध है\",\r\n DISCOUNT_IS_SUCCESSFULLY_AUTHORIZED: \"छूट सफलतापूर्वक अधिकृत है\",\r\n DISCOUNT_IS_SUCCESSFULLY_GENERATED: \"छूट सफलतापूर्वक उत्पन्न होती है\",\r\n OTP_HAS_BEEN_SUCCESSFULLY_RE_SENT: \"ओटीपी को सफलतापूर्वक भेजा गया है\",\r\n PICKUP_IS_SUCCESSFULLY_RESCHEDULED:\r\n \"पिकअप सफलतापूर्वक पुनर्निर्धारित किया गया है\",\r\n PICKUP_IS_SUCCESSFULLY_SCHEDULED: \"पिकअप सफलतापूर्वक निर्धारित है\",\r\n PICKUP_IS_SUCCESSFULLY_CANCELLED: \"पिकअप सफलतापूर्वक रद्द कर दिया गया है\",\r\n PICKUP_IS_SUCCESSFULLY_REASSIGNED:\r\n \"पिकअप सफलतापूर्वक पुन: असाइन किया गया है\",\r\n ERROR_WHILE_SENDING_CALL_BACK_REQUEST_NOTIFICATION:\r\n \"कॉल बैक अनुरोध सूचना भेजते समय त्रुटि\",\r\n ORDER_IS_SUCCESSFULLY_CANCELLED: \"आदेश सफलतापूर्वक रद्द कर दिया गया है\",\r\n ORDER_IS_SUCCESSFULLY_CREATED_PLEASE_CONFIRM_ORDER_TO_PROCEED_FURTHER:\r\n \"आदेश सफलतापूर्वक बनाया गया है कृपया आगे बढ़ने के लिए आदेश की पुष्टि करें\",\r\n ORDER_IS_SUCCESSFULLY_UPDATED: \"आदेश सफलतापूर्वक अपडेट किया गया है\",\r\n GENERATE_TAGS_FOR_ORDER_SUCCESSFULLY: \"आदेश के लिए टैग सफलतापूर्वक बनाएं\",\r\n GETEPASS_IS_SUCCESSFULLY_GENERATED: \"गेटपास सफलतापूर्वक जनरेट किया गया है\",\r\n PROMOCODE_VALIDATED_SUCCESSFULLY: \"प्रोमोकोड सफलतापूर्वक सत्यापित किया गया\",\r\n INVALID_PROMOCODE: \"अमान्य प्रचार\",\r\n DELIVERY_IS_SUCCESSFULLY_REASSIGNED:\r\n \"वितरण सफलतापूर्वक पुन: असाइन किया गया है\",\r\n AMOUNT_SUCCESSFULLY_BLOCKED: \"राशि सफलतापूर्वक ब्लॉक की गई\",\r\n USER_IS_VALID: \"उपयोगकर्ता मान्य है\",\r\n USER_IS_INVALID: \"उपयोगकर्ता अमान्य है\",\r\n ALREADY_IN_USED: \"पहले से ही इस्तेमाल में है\",\r\n PDF_FILE_IS_GENERATED_SUCCESSFULLY:\r\n \"पीडीएफ फाइल सफलतापूर्वक उत्पन्न होती है\",\r\n OLD_PASSWORD_DOES_NOT_MATCH: \"पुराना पासवर्ड मेल नहीं खाता\",\r\n NOTIFICATION_HAS_BEEN_SENT_SUCCESSFULLY:\r\n \"अधिसूचना को सफलतापूर्वक भेज दिया गया है\",\r\n ERROR_WHILE_SENDING_NOTIFICATION: \"सूचना भेजते समय त्रुटि\",\r\n NOTIFICATION_IS_SUCCESSFULLY_DISMISS:\r\n \"अधिसूचना सफलतापूर्वक खारिज कर दी जाती है\",\r\n THERE_WAS_AN_INTERNAL_ERROR_PLEASE_CONTACT_TO_TECHNICAL_SUPPORT:\r\n \"एक आंतरिक त्रुटि थी तकनीकी सहायता के लिए संपर्क करें\",\r\n //EMAIL_SENT_SUCCESSFULLY: 'सफलतापूर्वक भेजा गया ईमेल!',\r\n TAGS_NOT_FOUND: \"टैग नहीं मिला\",\r\n UNABLE_TO_GET_LIST_OF_STORE_DATA:\r\n \"स्टोर डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_MISSING_TAG_DATA: \"लापता टैग डेटा प्राप्त करने में असमर्थ\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG:\r\n \"टैग स्कैन करने से पहले कृपया स्टोर चुनें\",\r\n PLEASE_ENTER_THE_TAG_TO_SCAN: \"कृपया स्कैन करने के लिए टैग दर्ज करें\",\r\n TAG_ALREADY_SCANNED: \"टैग पहले से ही स्कैन किया गया\",\r\n PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS:\r\n \"कृपया ट्रांसफर प्रक्रिया के लिए फ़ैक्टरी टैग नं का चयन करें\",\r\n UNABLE_TO_SCAN_THE_TAG: \"टैग को स्कैन करने में असमर्थ\",\r\n TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY:\r\n \"टैग सफलतापूर्वक स्थानांतरित किए जाते हैं\",\r\n GENERATING_GATE_PASS: \"गेट पास का निर्माण\",\r\n PLEASE_SELECT_STICKERS: \"कृपया स्टिकर चुनें\",\r\n UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT:\r\n \"बाहर स्थानांतरित करने के लिए स्टिकर प्राप्त करने में असमर्थ\",\r\n INFO: \"जानकारी\",\r\n ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS:\r\n \"दर्ज संख्या छोटी होनी चाहिए फिर लंबित कपड़ों की नहीं\",\r\n PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"कृपया कम से कम एक लंबित कपड़ों का चयन करें\",\r\n STICKER_SUCCESSFULLY_GENERATED: \"स्टिकर सफलतापूर्वक उत्पन्न हुआ\",\r\n UNABLE_TO_GET_STICKERID: \"स्टिकर प्राप्त करने में असमर्थ\",\r\n REDIRECTING: \"पुन: निर्देशित\",\r\n SUCCESS: \"सफलता\",\r\n FAIL: \"विफल\",\r\n WALLET_BALANCE: \"वॉलेट शेष राशि\",\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"कृपया केवल 1 से 9 तक के अंकों को दर्ज करें\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"कृपया केवल अक्षर दर्ज करें\",\r\n MISSING_TAG_NOS: \"गुम टैग नग\",\r\n UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY:\r\n \"प्रसव के कारण आदेश प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_PENDING_PICKUPS: \"लंबित पिकअप प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"कारखाने से बाहर स्थानांतरित करने के लिए लंबित आदेशों को लोड करने में असमर्थ\",\r\n UNABLE_TO_GET_DATA_FOR_DASHBOARD:\r\n \"डैशबोर्ड के लिए डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_DATA_FOR_TIMESLOT:\r\n \"समयावधि के लिए डेटा प्राप्त करने में असमर्थ\",\r\n CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER:\r\n \"पुनः वितरण नहीं कर सकता क्योंकि यह पहले से ही आगे बढ़ चुका है\",\r\n DELIVERY_REASSIGNED_SUCCESSFULLY: \"डिलीवरी सफलतापूर्वक जारी की गई\",\r\n UNABLE_TO_REASSIGN_DELIVERY_REQUEST:\r\n \"वितरण अनुरोध को पुन: असाइन करने में असमर्थ\",\r\n DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED:\r\n \"डिलीवरी की स्थिति डिलिवरी शेड्यूल या असाइन की जानी चाहिए\",\r\n DELIVERY_RESCHEDULED_SUCCESSFULLY:\r\n \"वितरण सफलतापूर्वक पुनर्निर्धारित किया गया\",\r\n UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST:\r\n \"पुनर्निर्धारित वितरण अनुरोध करने में असमर्थ\",\r\n REQUEST_CANCELLED_SUCCESSFULLY: \"अनुरोध सफलतापूर्वक रद्द कर दिया गया\",\r\n UNABLE_TO_CANCEL_DELIVERY_REQUEST: \"वितरण अनुरोध रद्द करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA:\r\n \"वितरण सूची डेटा की सूची प्राप्त करने में असमर्थ\",\r\n EXPENSE_DELETED_SUCCESSFULLY: \"व्यय सफलतापूर्वक हटा दिया गया\",\r\n UNABLE_TO_DELETE_EXPENSE: \"व्यय हटाने में असमर्थ\",\r\n EXPENSE_ADDED_SUCCESSFULLY: \"व्यय सफलतापूर्वक जोड़ा गया\",\r\n EXPENSE_UPDATED_SUCCESSFULLY: \"व्यय सफलतापूर्वक अपडेट किया गया\",\r\n UNABLE_TO_SUBMIT_DATA: \"डेटा सबमिट करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_EXPENSES: \"खर्चों की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA:\r\n \"गेट पास डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA:\r\n \"स्टोर परिधान सूची डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_SPLIT_ORDER_DETAILS:\r\n \"विभाजन आदेश विवरण प्राप्त करने में असमर्थ\",\r\n INVOICE_GENERATED_SUCCESSFULLY: \"चालान सफलतापूर्वक उत्पन्न हुआ\",\r\n UNABLE_TO_GENERATE_INVOICE: \"चालान उत्पन्न करने में असमर्थ\",\r\n INVOICE_DATA_SUBMITTED_SUCCESSFULLY:\r\n \"चालान डेटा सफलतापूर्वक सबमिट किया गया\",\r\n UNABLE_TO_SUBMIT_INVOICE_DATA: \"चालान डेटा जमा करने में असमर्थ\",\r\n INVOICE_SETTLED_SUCCESSFULLY: \"चालान सफलतापूर्वक निपट गया\",\r\n UNABLE_TO_SETTLE_INVOICE: \"चालान का निपटान करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_ORDERS: \"आदेशों की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_UOM_LIST: \"यूओएम सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GENERATE_ESTIMATED_ORDER: \"अनुमानित क्रम उत्पन्न करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_SERVICES: \"सेवाओं की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_STORE_DATA: \"स्टोर डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_PICKUP_DATA: \"पिकअप डेटा प्राप्त करने में असमर्थ\",\r\n TAGS_GENERATED_SUCCESSFULLY: \"टैग सफलतापूर्वक उत्पन्न हुआ\",\r\n UNABLE_TO_GENERATE_TAGS: \"टैग उत्पन्न करने में असमर्थ\",\r\n UNABLE_TO_GET_ORDER_INFORMATION: \"आदेश की जानकारी प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_TIME_CARD: \"समय कार्ड प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_LOAD_ADD_ON_SERVICES: \"सेवाओं पर ऐड लोड करने में असमर्थ\",\r\n UNABLE_TO_GET_PACKAGING_CHARGES: \"पैकेजिंग शुल्क प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_DELIVERY_CHARGES: \"वितरण शुल्क प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_GARMENTS: \"वस्त्रों की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_RATES: \"दरें प्राप्त करने में असमर्थ\",\r\n ORDER_SUCCESSFULLY_CREATED: \"आदेश सफलतापूर्वक बनाया गया\",\r\n UNABLE_TO_CREATE_THE_ORDER: \"आदेश बनाने में असमर्थ\",\r\n PLEASE_ENTER_THE_PROMOCODE: \"कृपया प्रोमोकोड दर्ज करें\",\r\n PROMOCODE_APPLIED_SUCCESSFULLY: \"प्रोमोकोड सफलतापूर्वक लागू हुआ\",\r\n PROMOCODE_IS_INVALID: \"प्रोमोकोड अमान्य है\",\r\n UNABLE_TO_VALIDATE_PROMOCODE: \"प्रोमोकोड सत्यापित करने में असमर्थ\",\r\n ORDER_SUCCESSFULLY_UPDATED: \"आदेश सफलतापूर्वक अपडेट किया गया\",\r\n UNABLE_TO_UPDATE_THE_ORDER: \"आदेश अपडेट करने में असमर्थ\",\r\n ORDER_SUCCESSFULLY_CANCELLED: \"आदेश सफलतापूर्वक रद्द कर दिया गया\",\r\n UNABLE_TO_CANCEL_ORDER: \"आदेश रद्द करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_PICKUP_DATA:\r\n \"पिकअप डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_USER_DATA:\r\n \"उपयोगकर्ता डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_REASSIGN_THE_PICKUP: \"पिकअप को पुन: सौंपने में असमर्थ\",\r\n UNABLE_TO_GET_DATA_FOR_HISTORY:\r\n \"इतिहास के लिए डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES:\r\n \"वितरण प्रकारों के लिए डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS:\r\n \"पिकअप की स्थिति के लिए डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA:\r\n \"ऑपरेशन अनुदेश डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_SERVICES_DATA: \"सेवाएँ डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_REASONS_DATA:\r\n \"कारणों की सूची डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_DATA_FOR_CUSTOMER:\r\n \"ग्राहक के लिए डेटा प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_CUSTOMER_ADDRESSES: \"ग्राहक पते प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_DATA: \"डेटा प्राप्त करने में असमर्थ\",\r\n PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE:\r\n \"कृपया ग्राहक का नाम / पता / सेवा / प्रोमोकोड इनपुट करें\",\r\n PICKUP_IS_UPDATED: \"पिकअप अपडेट किया गया है\",\r\n PICKUP_IS_SCHEDULED: \"पिकअप निर्धारित है\",\r\n PICKUP_IS_RESCHEDULED_SUCCESSFULLY:\r\n \"पिकअप को सफलतापूर्वक पुनर्निर्धारित किया जाता है\",\r\n UNABLE_TO_RESCHEDULE_THE_PICKUP: \"पिकअप को पुनर्निर्धारित करने में असमर्थ\",\r\n PICKUP_IS_CANCELLED_SUCCESSFULLY: \"पिकअप सफलतापूर्वक रद्द कर दिया गया है\",\r\n UNABLE_TO_CANCEL_PICKUP: \"पिकअप को रद्द करने में असमर्थ\",\r\n UNABLE_TO_GET_PRE_QC_RESPONSE_LIST:\r\n \"प्री-क्यूसी प्रतिक्रिया सूची प्राप्त करने में असमर्थ\",\r\n QC_RESPONSE_SUBMITTED_SUCCESSFULLY:\r\n \"QC प्रतिक्रिया सफलतापूर्वक सबमिट की गई\",\r\n UNABLE_TO_SUBMIT_QC_RESPONSE: \"QC प्रतिक्रिया सबमिट करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA:\r\n \"डिलीवरी / चालान डेटा के लिए तैयार सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_SUBMIT_STICKER_DATA: \"स्टिकर डेटा सबमिट करने में असमर्थ\",\r\n UNABLE_TO_GET_STICKER_DATA: \"स्टिकर डेटा प्राप्त करने में असमर्थ\",\r\n PLEASE_ENTER_STICKER_ID: \"कृपया स्टिकर आईडी दर्ज करें\",\r\n UNABLE_TO_GET_LIST_OF_SERVICE_DATA:\r\n \"सेवा डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_SPLIT_ORDER_NUMBERS:\r\n \"स्प्लिट ऑर्डर नंबर प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_FACTORY_DATA:\r\n \"फ़ैक्टरी डेटा की सूची प्राप्त करने में असमर्थ\",\r\n HAS_BEEN_GENERATED: \"गेट पास जनरेट हो गया है\",\r\n UNABLE_TO_GET_LIST_OF_STICKER_DATA:\r\n \"स्टिकर डेटा की सूची प्राप्त करने में असमर्थ\",\r\n UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA:\r\n \"पैकेज कॉन्फ़िगरेशन डेटा की सूची प्राप्त करने में असमर्थ\",\r\n PLEASE_SELECT_ATLEAST_ONE_ROW: \"कृपया कम से कम एक पंक्ति का चयन करें\",\r\n UNABLE_TO_LOAD_REWASH_REASONS: \"रीवाश कारण लोड करने में असमर्थ\",\r\n UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST:\r\n \"सूची द्वारा अनुरोध किए गए रीवाश को लोड करने में असमर्थ\",\r\n UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS: \"ऑपरेशन निर्देश लोड करने में असमर्थ\",\r\n UNABLE_TO_LOAD_BRANDS: \"ब्रांडों को लोड करने में असमर्थ\",\r\n UNABLE_TO_LOAD_SIZES: \"आकार लोड करने में असमर्थ\",\r\n UNABLE_TO_LOAD_COLORS: \"रंगों को लोड करने में असमर्थ\",\r\n WALLET_BALANCE: \"वॉलेट शेष राशि\",\r\n INVALID: \"अमान्य\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK:\r\n \"SplitOrderNumber खाली नहीं होना चाहिए\",\r\n VALID: \"मान्य\",\r\n ADJUSTMENTAMOUNT_SHOULD_BE_BETWEEN_0_AND_10:\r\n \"AdjustmentAmount 0 और 10 के बीच होना चाहिए\",\r\n SERVICE_RATE_NOT_AVAILABLE: \"सेवा दर उपलब्ध नहीं\",\r\n ADDON_SERVICE_RATE_NOT_AVAILABLE: \"एड-ऑन सेवा दर उपलब्ध नहीं\",\r\n SCAN_GARMENT: \"स्कैन गारमेंट\",\r\n CLEAR: \"स्पष्ट\",\r\n SCAN_TAG: \"स्कैन टैग\",\r\n PLEASE_SCAN_TAG: \"कृपया टैग स्कैन\",\r\n READY_FOR_TRANSFER_OUT: \"स्थानांतरण आउट के लिए तैयार\",\r\n SCANNED_GARMENT_LIST: \"स्कैन किए गारमेंट सूची\",\r\n THIS_STICKER_BELONGS_TO_ANOTHER_STORE:\r\n \"इस स्टीकर एक और स्टोर के अंतर्गत आता है\",\r\n PLEASE_ENTER_VALID_STICKER_NUMBER: \"वैध स्टीकर संख्या दर्ज करें\",\r\n ALL: \"सब\",\r\n THIS_TAG_ALREADY_EXISTS: \"इस टैग को पहले से मौजूद है\",\r\n PREVIOUSLY_PACKE_ON: \"इससे पहले पर पैक्ड\",\r\n CASH_COLLECTION: \"नकद - संग्रह\",\r\n ALREADY_EXISTS: \"पहले से ही मौजूद है\",\r\n USER_PUNCHIN_NOT_FOUND: \"उपयोगकर्ता पंचिन नहीं मिला\",\r\n IT_IS_ALREADY_BLOCKED: \"यह पहले से ही अवरुद्ध है\",\r\n AUTHORIZED: \"अधिकार दिया गया\",\r\n BLOCKED: \"अवरोधित\",\r\n INVALID_OTP: \"अमान्य ओटीपी\",\r\n PLEASE_CHECK_THE_PROVIDED_BANNERID: \"कृपया दिए गए बैनर की जांच करें\",\r\n ALREADY_IN_USE: \"पहले से ही उपयोग में\",\r\n ALREADY_EXISTS: \"पहले से ही मौजूद है\",\r\n DATE_OVERLAPPING: \"ओवरलैपिंग की तारीख\",\r\n REFERRAL_CODE_DOES_NOT_EXISTS: \"रेफरल कोड मौजूद नहीं है\",\r\n REFERRAL_CODE_IS_ALREADY_USED: \"रेफरल कोड पहले से ही उपयोग किया जाता है\",\r\n USER_NAME_IS_INVALID: \"उपयोगकर्ता का नाम अमान्य है\",\r\n PASSWORD_IS_INVALID: \"पासवर्ड गलत है\",\r\n USER_NAME_AND_PASSWORD_DOES_NOT_MATCH:\r\n \"उपयोगकर्ता नाम और पासवर्ड मेल नहीं खाते हैं\",\r\n USER_IS_NOT_EXISTS: \"उपयोगकर्ता मौजूद नहीं है\",\r\n SPLIT_ORDER_NUMBER_IS_REQUIRED: \"स्प्लिट ऑर्डर नंबर आवश्यक है\",\r\n INVALID_SPLIT_ORDER_NUMBER: \"अमान्य विभाजन आदेश संख्या\",\r\n IT_IS_ALREADY_INACTIVATED: \"यह पहले से ही निष्क्रिय है\",\r\n COUPON_CODE_NOT_EXISTS: \"कूपन कोड मौजूद नहीं है\",\r\n CASH_COUPON_EXPIRED: \"कैश कूपन की समय सीमा समाप्त हो गई\",\r\n IT_IS_APPLICABLE_FOR_ONLY_FIRST_TIME_USERS:\r\n \"यह केवल पहली बार उपयोगकर्ताओं के लिए लागू है\",\r\n YOU_HAVE_ALREADY_USED_THIS_COUPON:\r\n \"आपने पहले ही इस कूपन का उपयोग कर लिया है\",\r\n INVALID_COUPON: \"अमान्य कूपन\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK:\r\n \"स्प्लिटऑर्डरनंबर खाली नहीं होना चाहिए\",\r\n THIS_PICKUP_IS_ALREADY_IN_PROGRESS: \"यह पिकअप पहले से ही प्रगति पर है\",\r\n YOU_HAVE_ALREADY_RESCHEDULED_THIS_PICKUP_3_TIMES:\r\n \"आपने पहले ही इस पिक को 3 बार पुनर्निर्धारित किया है\",\r\n PLEASE_CHECK_WITH_DELIVERYID: \"कृपया डिलीवरी के साथ जाँच करें\",\r\n PLEASE_ASSIGN_IT_TO_SOMEONE_FIRST: \"कृपया इसे पहले किसी को असाइन करें\",\r\n CANNOT_REASSIGN_DELIVERY_AS_ALREADY_PROCEED_FURTHER:\r\n \"पहले से ही आगे बढ़ने के रूप में पुन: वितरण नहीं कर सकता\",\r\n PLEASE_CHECK_WITH_STATUS: \"कृपया स्थिति की जाँच करें\",\r\n\r\n STICKER_ID: \"स्टिकर आईडी\",\r\n PACKED_On: \"पर पैक किया\",\r\n PACKING_IDS: \"पैकिंग Ids\",\r\n RESORTING_AND_PACKAGING: \"रिज़ॉर्टिंग और पैकेजिंग\",\r\n RESORTING_AND_PACKAGING_List: \"रिज़ॉर्टिंग और पैकेजिंग सूची\",\r\n PADING_QC_RESPONSE: \"लंबित प्री-क्यूसी प्रतिक्रिया गिनती\",\r\n LANGUAGE: \"भाषा:\",\r\n CHANGE_PASSWORD: \"पासवर्ड बदलें\",\r\n LOGOUT: \"लॉग आउट\",\r\n TAG_NUMBER_NOT_FOUND: \"टैग नंबर नहीं मिला\",\r\n TAG_NO: \"संख्या मार्क करना\",\r\n\r\n YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE:\r\n \"आप केवल JPG / PNG / JPEG फ़ाइल अपलोड कर सकते हैं\",\r\n IMAGE_MUST_BE_SMALLER_THAN_5_MB: \"छवि 5 एमबी से छोटी होनी चाहिए\",\r\n GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC:\r\n \"परिधान कारखाने में होना चाहिए क्यूसी के लिए जोड़ा जाए\",\r\n ORDER_ALREADY_CONFIRMED: \"आदेश पहले से ही पुष्टि की गई\",\r\n PENDING_PAYMENT: \"लंबित भुगतान\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_SERVICES_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"ऐसा लगता है कि कुछ सेवाएँ सिस्टम में मौजूद नहीं हैं। कृपया सेवा मास्टर स्क्रीन में विवरण देखें और पुनः प्रयास करें\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_GARMENTS_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"ऐसा लगता है कि कुछ वस्त्र प्रणाली में मौजूद नहीं हैं। कृपया परिधान मास्टर स्क्रीन में विवरण देखें और पुनः प्रयास करें\",\r\n SERVICE_TAX_DETAIL_IS_MISSING_IN_SECOND_SHEET:\r\n \"दूसरी शीट में सेवा कर विवरण गायब है\",\r\n PLATFORM: \"लंबित भुगतान\",\r\n ORDER_COUNT: \"मंच\",\r\n PROMO_CODE: \"प्रचार कोड\",\r\n PICK_BOY: \"पिकअप बॉय\",\r\n CUST_MO_No: \"ग्राहक मोबाइल नं\",\r\n SERVICE_ICONS: \"सेवा प्रतीक\",\r\n REQUEST_CREATED_DATE: \"अनुरोध तिथि और समय बनाया गया\",\r\n PICKUP_REQUEST_DATE: \"पिकअप अनुरोधित तिथि और स्लॉट\",\r\n ORDER_CREATED_DATE: \"आदेश दिनांक और समय बनाया गया\",\r\n REPRINT_TAX_INVOICE: \"पुनर्मुद्रण कर चालान\",\r\n SEMI_EXPRESS_RATE: \"(सेमी एक्सप्रेस - 1.5x)\",\r\n EXPRESS_RATE: \"(एक्सप्रेस - 2x)\",\r\n TOTAL_STICKERS: \"कुल स्टिकर\",\r\n DELIVERY_BOY: \"वितरण लड़का\",\r\n POST_QC: \"क्यूसी पोस्ट करें\",\r\n UNABLE_TO_GET_POST_QC_DATA: \"पोस्ट qc डेटा प्राप्त करने में असमर्थ\",\r\n GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS:\r\n \"परिधान पोस्ट क्यूसी प्रक्रिया के लिए आगे बढ़े\",\r\n POST_QC_STATUS: \"पोस्टक्यूसी स्थिति\",\r\n POST_QC_REMARK: \"PostQC रिमार्क\",\r\n POST_QC_DATETIME: \"क्यूसी डेटटाइम पोस्ट करें\",\r\n POSTED_BY: \"द्वारा प्रकाशित किया गया था\",\r\n ADD_GARMENT_FOR_POST_QC: \"पोस्ट QC के लिए परिधान जोड़ें\",\r\n LATEST_POSTQC_DETAILS: \"नवीनतम PostQc विवरण\",\r\n PICKUP_TIMESLOT: \"पिकअप टाइमस्लेट\",\r\n UNABLE_TO_GET_STORE_NAME: \"स्टोर नाम पाने में असमर्थ\",\r\n CANCEL_REASON_IS_REQUIRED: \"रद्द करने का क्षेत्र आवश्यक है\",\r\n FACTORY_GATE_PASS: \"फैक्टरी गेट पास सूची\",\r\n CUSTOMER_REMARK: \"ग्राहक\",\r\n STORE_OUT_DATE: \"स्टोर आउट डेट\",\r\n LAST_UPDATED_ON: \"पिछला नवीनीकरण\",\r\n LAST_UPDATED_BY: \"अंतिम अपडेट\",\r\n FACTORY_IN_DATETIME: \"फैक्ट्री में डेटाइम\",\r\n GARMENTS_FACTORY_IN: \"गारमेंट्स फैक्टरी में\",\r\n GARMENTS_MISSING: \"वस्त्र गुम होना\",\r\n BALANCED_GARMENTS: \"संतुलित वस्त्र\",\r\n FACTORY_IN_DATE: \"फैक्ट्री इन डेट\",\r\n LOT_SIZE: \"बड़ा आकार\",\r\n STANDARD_RATE_CARD: \"मानक दर कार्ड\",\r\n ORDER_STATUS: \"आदेश की स्थिति\",\r\n INVOICE_STATUS: \"चालान की स्थिति\",\r\n STOREINDATE: \"स्टोर इन डेट\",\r\n FACTORYOUTDATE: \"फैक्ट्री आउट डेट\",\r\n PLEASE_SELECT_PAYMENT_MODE: \"कृपया भुगतान मोड का चयन करें\",\r\n SELECT_PACKING_MATERIAL:\r\n \"आप केवल 99 तक की पैकिंग सामग्री का चयन कर सकते हैं\",\r\n SOMETHING_WENT_WRONG: \"कुछ गलत हो गया\",\r\n UNABLE_TO_GET_PAYMENT_METHOD_DATA:\r\n \"भुगतान विधि डेटा प्राप्त करने में असमर्थ\",\r\n ARE_YOU_SURE_YOU_WANT_TO_MARK_ORDER_AS_COMPLETED:\r\n \"क्या आप सुनिश्चित हैं कि आप आदेश को पूरा करना चाहते हैं?\",\r\n ORDER_MARKED_AS_COMPLETED: \"पूर्ण के रूप में चिह्नित किया गया आदेश\",\r\n UNABLE_TO_MARK_ORDER_AS_COMPLETED: \"आदेश को पूरा करने में असमर्थ\",\r\n EDC_CONFIGURATION: \"EDC डिवाइस इस स्टोर से लिंक नहीं है\",\r\n ALTER_PHONE_NUMBER: \"वैकल्पिक फोन नंबर\",\r\n // ATTENDANCE: \"उपस्थिति\",\r\n // ATTENDANCE_REPORT: \"उपस्थिति विवरण\",\r\n // OTHER_TYPE: \"अन्य प्रकार\",\r\n // PLEASE_ENTER_OTHER_TYPE: \"कृपया अन्य प्रकार दर्ज करें\",\r\n // ENTER_OTHER_TYPE: \"अन्य प्रकार दर्ज करें\",\r\n },\r\n KANNADA: {\r\n SELECT_SERVICE: \"ಸೇವೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_FACTORY: \"ಫ್ಯಾಕ್ಟರಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n SPLIT_ORDER: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್\",\r\n CUSTOMER_NAME: \"ಗ್ರಾಹಕ ಹೆಸರು\",\r\n ORDER_DATE: \"ಆದೇಶದ ದಿನಾಂಕ\",\r\n TOTAL_GARMENTS: \"ಒಟ್ಟು ಉಡುಪುಗಳು\",\r\n SPLIT_ORDER_NUMBER: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸಂಖ್ಯೆ\",\r\n TAG_NUMBER: \"ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ\",\r\n GARMENT_NAME: \"ಉಡುಪಿನ ಹೆಸರು\",\r\n ADD_ON_SERVICES: \"ಆಡ್-ಆನ್ ಸೇವೆಗಳು\",\r\n GENERATE_GATE_PASS: \"ಗೇಟ್ ಪಾಸ್ ರಚಿಸಿ\",\r\n GATE_PASS_NUMBER: \"ಗೇಟ್ ಪಾಸ್ ಸಂಖ್ಯೆ\",\r\n STORE_NAME: \"ಅಂಗಡಿ ಹೆಸರು\",\r\n FACTORY_NAME: \"ಕಾರ್ಖಾನೆಯ ಹೆಸರು\",\r\n STORE_GARMENTS_OUT: \"ಉಡುಪುಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ\",\r\n TOTAL_SPLIT_NUMBER: \"ಒಟ್ಟು ಸ್ಪ್ಲಿಟ್ ಸಂಖ್ಯೆ\",\r\n GATE_PASS_DATE: \"ಗೇಟ್ ಪಾಸ್ ದಿನಾಂಕ\",\r\n STIKER_NUMBER: \"ಸ್ಟಿಕ್ಕರ್ ಸಂಖ್ಯೆ\",\r\n PLEASESCAN_ADD_STICKER: \"ದಯವಿಟ್ಟು ಸ್ಕ್ಯಾನ್ / ಸ್ಟಿಕ್ಕರ್ ಸೇರಿಸಿ\",\r\n ENTER_SCAN_STICKER: \"ಸ್ಟಿಕ್ಕರ್ ಅನ್ನು ನಮೂದಿಸಿ / ಸ್ಕ್ಯಾನ್ ಮಾಡಿ\",\r\n CUSTOMER_CONTACT: \"ಗ್ರಾಹಕ ಸಂಪರ್ಕ\",\r\n DELIVERY_TYPE: \"ವಿತರಣಾ ಪ್ರಕಾರ\",\r\n SPLIT_ORDER_NO: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸಂಖ್ಯೆ\",\r\n GATE_PASS_NO: \"ಗೇಟ್ ಪಾಸ್ ನಂ\",\r\n DELIVERY_DATE: \"ವಿತರಣಾ ದಿನಾಂಕ\",\r\n GARMENTS_IN_PROCESS: \"ಉಡುಪುಗಳು ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿವೆ\",\r\n PACKED_GARMENTS: \"ಪ್ಯಾಕ್ ಮಾಡಿದ ಉಡುಪುಗಳು\",\r\n PACKING_MATERIAL: \"ಪ್ಯಾಕಿಂಗ್ ವಸ್ತು\",\r\n STICKER_STATUS: \"ಸ್ಟಿಕ್ಕರ್ ಸ್ಥಿತಿ\",\r\n SPLIT_ORDER_STATUS: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸ್ಥಿತಿ\",\r\n GARMENTS_PACKED_INFORMATION: \"ಗಾರ್ಮೆಂಟ್ಸ್ ಪ್ಯಾಕ್ ಮಾಡಿದ ಮಾಹಿತಿ\",\r\n USER_EXPENSE_ENTRY: \"ಬಳಕೆದಾರರ ಖರ್ಚು ಪ್ರವೇಶ\",\r\n USER_NAME: \"ಬಳಕೆದಾರ ಹೆಸರು\",\r\n EXPENSE_DATE: \"ಖರ್ಚು ದಿನಾಂಕ\",\r\n AMOUNT: \"ಮೊತ್ತ\",\r\n REMARKS: \"ಟೀಕೆಗಳು\",\r\n ARE_YOU_SURE: \"ನೀವು ಖಚಿತವಾಗಿರುವಿರಾ ?\",\r\n ADD_EXPENSE: \"ವೆಚ್ಚವನ್ನು ಸೇರಿಸಿ\",\r\n APPLY: \"ಅನ್ವಯಿಸು\",\r\n SELECT_EXPENSE_TYPE: \"ಖರ್ಚು ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_ENTER_AMOUNT: \"ದಯವಿಟ್ಟು ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_AMOUNT: \"ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_REMARKS: \"ಟೀಕೆಗಳನ್ನು ನಮೂದಿಸಿ\",\r\n GARMENTS_PENDING_TO_SEND_TO_FACTORY:\r\n \"ಫ್ಯಾಕ್ಟರಿಗೆ ಕಳುಹಿಸಲು ಉಡುಪುಗಳು ಬಾಕಿ ಉಳಿದಿವೆ\",\r\n ORDERS_PENDING_TO_SEND_TO_FACTORY:\r\n \"ಕಾರ್ಖಾನೆಗೆ ಕಳುಹಿಸಲು ಆದೇಶಗಳು ಬಾಕಿ ಉಳಿದಿವೆ\",\r\n SPILT_ORDERS_RECEIVED_FROM_FACTORY: \"ಕಾರ್ಖಾನೆಯಿಂದ ಪಡೆದ ಚೆಲ್ಲಿದ ಆದೇಶಗಳು\",\r\n PENDING_FOR_NO_OF_DAYS: \"ಯಾವುದೇ ದಿನಗಳ ಬಾಕಿ ಉಳಿದಿದೆ\",\r\n STORE_GARMENT_INVENTORY: \"ಗಾರ್ಮೆಂಟ್ ಇನ್ವೆಂಟರಿ ಸಂಗ್ರಹಿಸಿ\",\r\n GARMENTS_RECEIVED_FROM_FACTORY: \"ಕಾರ್ಖಾನೆಯಿಂದ ಪಡೆದ ಉಡುಪುಗಳು\",\r\n FACTORY_TRANSFER_IN: \"ಫ್ಯಾಕ್ಟರಿ ವರ್ಗಾವಣೆ\",\r\n SELECT_STORE: \"ಅಂಗಡಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n GET_MISSING_GARMENTS: \"ಕಾಣೆಯಾದ ಉಡುಪುಗಳನ್ನು ಪಡೆಯಿರಿ\",\r\n TAGS_FROM_STORES: \"ಅಂಗಡಿಗಳಿಂದ ಟ್ಯಾಗ್‌ಗಳು\",\r\n SCANNING: \"ಸ್ಕ್ಯಾನಿಂಗ್\",\r\n TAGS_TO_THE_FACTORY: \"ಕಾರ್ಖಾನೆಗೆ ಟ್ಯಾಗ್ಗಳು\",\r\n MISSING_GARMENTS: \"ಕಾಣೆಯಾದ ಉಡುಪುಗಳು\",\r\n SCAN_COMPLETE: \"ಸ್ಕ್ಯಾನ್ ಪೂರ್ಣಗೊಂಡಿದೆ\",\r\n SEARCH_HERE: \"ಇಲ್ಲಿ ಹುಡುಕಿ\",\r\n RESORTING_AND_PACKAGING: \"ರೆಸಾರ್ಟಿಂಗ್ ಮತ್ತು ಪ್ಯಾಕೇಜಿಂಗ್\",\r\n ORDER_NUMBER: \"ಆದೇಶ ಸಂಖ್ಯೆ\",\r\n SRORE_NAME: \"Srore ಹೆಸರು\",\r\n NO_OF_GARMENTS: \"ಉಡುಪುಗಳ ಸಂಖ್ಯೆ\",\r\n GARMENT_LEVEL_INFO: \"ಗಾರ್ಮೆಂಟ್ ಮಟ್ಟದ ಮಾಹಿತಿ\",\r\n SELECTED_PENDING_GARMENT: \"ಆಯ್ದ ಬಾಕಿ ಉಡುಪು\",\r\n PREVIOUSLY_GARMENTS_PACKED_IN: \"ಹಿಂದೆ ಗಾರ್ಮೆಂಟ್ಸ್ ಪ್ಯಾಕ್ ಮಾಡಲಾಗಿದೆ\",\r\n PENDING_GARMENTS_TO_BE_PACKED_IN: \"ಪ್ಯಾಕ್ ಮಾಡಲು ಉಡುಪುಗಳು ಬಾಕಿ ಉಳಿದಿವೆ\",\r\n GENERATE_STICKER: \"ಸ್ಟಿಕ್ಕರ್ ರಚಿಸಿ\",\r\n PRINT_GENERATE_STICKER: \"ಮುದ್ರಣ ರಚಿಸುವ ಸ್ಟಿಕ್ಕರ್\",\r\n SR_NO: \"ಸೀನಿಯರ್ ನಂ\",\r\n GARMENTS_PACKED: \"ಗಾರ್ಮೆಂಟ್ಸ್ ಪ್ಯಾಕ್ ಮಾಡಲಾಗಿದೆ\",\r\n PENDING_GARMENTS: \"ಉಡುಪುಗಳು ಬಾಕಿ ಉಳಿದಿವೆ\",\r\n PACKING_GARMENTS: \"ಪ್ಯಾಕಿಂಗ್ ಗಾರ್ಮೆಂಟ್ಸ್\",\r\n FACTORY_TRANSFER_OUT: \"ಫ್ಯಾಕ್ಟರಿ ವರ್ಗಾವಣೆ .ಟ್\",\r\n FACTORY_GATE_PASS_NUMBER: \"ಫ್ಯಾಕ್ಟರಿ ಗೇಟ್ ಪಾಸ್ ಸಂಖ್ಯೆ:\",\r\n STORE_ADDRESS: \"ಅಂಗಡಿ ವಿಳಾಸ\",\r\n CREATED_BY: \"ರಚಿಸಿದವರು\",\r\n S_NO: \"ಎಸ್. ಇಲ್ಲ\",\r\n SPLIT_ORDER_ID: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಐಡಿ\",\r\n NUMBER_OF_GARMENTS: \"ಉಡುಪುಗಳ ಸಂಖ್ಯೆ\",\r\n PACKED: \"ಕಟ್ಟಿ ಇಡುವುದು\",\r\n ORDER_LOT_SIZE: \"ಲಾಟ್ ಗಾತ್ರವನ್ನು ಆದೇಶಿಸಿ\",\r\n PREVIOUSLY_SENT: \"ಹಿಂದೆ ಕಳುಹಿಸಲಾಗಿದೆ\",\r\n SENDING_TODAY: \"ಇಂದು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ\",\r\n PENDING: \"ಬಾಕಿ ಉಳಿದಿದೆ\",\r\n BAG: \"ಚೀಲ\",\r\n HANGER: \"ಹ್ಯಾಂಗರ್\",\r\n BLANKET: \"ಕಂಬಳಿ\",\r\n SHOE: \"ಶೂ\",\r\n CARPET: \"ಕಾರ್ಪೆಟ್\",\r\n BLAZER: \"ಬ್ಲೇಜರ್\",\r\n OTHERS: \"ಇತರರು\",\r\n STICKER_NO: \"ಸ್ಟಿಕ್ಕರ್ ಸಂಖ್ಯೆ\",\r\n SPLLIT_ORDER_NO: \"ಸ್ಪ್ಲಿಟ್ ಆದೇಶ ಸಂಖ್ಯೆ\",\r\n PACKING_MATERIAL_NAME: \"ಪ್ಯಾಕಿಂಗ್ ಮೆಟೀರಿಯಲ್ ಹೆಸರು\",\r\n PRE_QC_RESPONSE_LIST: \"ಪೂರ್ವ ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆ ಪಟ್ಟಿ\",\r\n SELECT_QC_STATUS: \"ಕ್ಯೂಸಿ ಸ್ಥಿತಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n TAG: \"ಟ್ಯಾಗ್\",\r\n CONTACT: \"ಸಂಪರ್ಕಿಸಿ\",\r\n QC_REQUEST: \"ಕ್ಯೂಸಿ ವಿನಂತಿ\",\r\n TIME: \"ಸಮಯ\",\r\n QC_REASON: \"ಕ್ಯೂಸಿ ಕಾರಣ\",\r\n REMARK: \"ಟೀಕೆ\",\r\n QC_PENDING_FROM: \"ಕ್ಯೂಸಿ ಬಾಕಿ ಉಳಿದಿದೆ\",\r\n QC_STATUS: \"ಕ್ಯೂಸಿ ಸ್ಥಿತಿ\",\r\n ENTER_SCAN_TAG_NUMBER: \"ಟ್ಯಾಗ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ / ಸ್ಕ್ಯಾನ್ ಮಾಡಿ\",\r\n GARMENT_HISTORY: \"ಗಾರ್ಮೆಂಟ್ ಇತಿಹಾಸ\",\r\n GARMENT_INFORMATION: \"ಉಡುಪು ಮಾಹಿತಿ\",\r\n GARMENT_STATUS: \"ಉಡುಪು ಸ್ಥಿತಿ\",\r\n GATE_PASS: \"ಗೇಟ್ ಪಾಸ್\",\r\n BRAND: \"ಬ್ರಾಂಡ್\",\r\n COLOR: \"ಬಣ್ಣ\",\r\n ADD_ON_SERVICE: \"ಸೇವೆಯನ್ನು ಸೇರಿಸಿ\",\r\n SPECIAL_INSTRUCTION: \"ವಿಶೇಷ ಸೂಚನೆ\",\r\n LATEST_QC_DETAILS: \"ಇತ್ತೀಚಿನ ಕ್ಯೂಸಿ ವಿವರಗಳು\",\r\n IMAGES: \"ಚಿತ್ರಗಳು\",\r\n REASON: \"ಕಾರಣ\",\r\n SELECT_REASON: \"ಕಾರಣವನ್ನು ಆರಿಸಿ\",\r\n COMMUNICATION_HISTORY: \"ಸಂವಹನ ಇತಿಹಾಸ\",\r\n SELECT_SCAN_GARMENT: \"ಉಡುಪನ್ನು ಆಯ್ಕೆ ಮಾಡಿ / ಸ್ಕ್ಯಾನ್ ಮಾಡಿ\",\r\n GARMENT_FOR_QC: \"ಕ್ಯೂಸಿಗೆ ಉಡುಪು\",\r\n SCANNED_ITEM: \"ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ ಐಟಂ\",\r\n ADDON_SERVICE: \"ಆಡ್ಆನ್ ಸೇವೆ\",\r\n CONTACT_NO: \"ಸಂಪರ್ಕ ಸಂಖ್ಯೆ\",\r\n STICKER_INFORMATION: \"ಸ್ಟಿಕ್ಕರ್ ಮಾಹಿತಿ\",\r\n DOWNLOAD_GATE_PASS: \"ಗೇಟ್ ಪಾಸ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ\",\r\n STORE_GATE_PASS_NUMBER: \"ಗೇಟ್ ಪಾಸ್ ಸಂಖ್ಯೆ ಸಂಗ್ರಹಿಸಿ\",\r\n FACTORY_ADDRESS: \"ಕಾರ್ಖಾನೆ ವಿಳಾಸ\",\r\n PICKUP_DATE: \"ಎತ್ತಿಕೊಳ್ಳುವ ದಿನಾಂಕ\",\r\n REFFERAL_PROGRAM_NAME: \"ರೆಫರಲ್ ಪ್ರೋಗ್ರಾಂ ಹೆಸರು\",\r\n REFFERAL_BONUS_AMOUNT: \"ರೆಫರಲ್ ಬೋನಸ್ ಮೊತ್ತ\",\r\n REFEREE_BONUS_AMOUNT: \"ತೀರ್ಪುಗಾರರ ಬೋನಸ್ ಮೊತ್ತ\",\r\n YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM:\r\n \"ನೀವು ಕೊನೆಯದಾಗಿ ಸೇರಿಸಿದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಮಾತ್ರ ನವೀಕರಿಸಬಹುದು\",\r\n UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA:\r\n \"ರೆಫರಲ್ ಬೋನಸ್ ಕಾನ್ಫಿಗರೇಶನ್ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_SUBMIT_THE_DATA: \"ಡೇಟಾವನ್ನು ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ADD_REFFERAL_BONUS_CONFIGURATION: \"ರೆಫರಲ್ ಬೋನಸ್ ಕಾನ್ಫಿಗರೇಶನ್ ಸೇರಿಸಿ\",\r\n VIEW_REFFERAL_BONUS_CONFIGURATION: \"ರೆಫರಲ್ ಬೋನಸ್ ಕಾನ್ಫಿಗರೇಶನ್ ವೀಕ್ಷಿಸಿ\",\r\n EDIT_REFFERAL_BONUS_CONFIGURATION:\r\n \"ರೆಫರಲ್ ಬೋನಸ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಸಂಪಾದಿಸಿ\",\r\n PLEASE_ENTER_REFFERAL_PROGRAM_NAME:\r\n \"ದಯವಿಟ್ಟು ರೆಫರಲ್ ಪ್ರೋಗ್ರಾಂ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_REFFERAL_PROGRAM_NAME: \"ರೆಫರಲ್ ಪ್ರೋಗ್ರಾಂ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_REFERRAL_BONUS_AMOUNT:\r\n \"ದಯವಿಟ್ಟು ರೆಫರಲ್ ಬೋನಸ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_REFERRAL_BONUS_AMOUNT: \"ರೆಫರಲ್ ಬೋನಸ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_REFEREE_BONUS_AMOUNT:\r\n \"ದಯವಿಟ್ಟು ತೀರ್ಪುಗಾರರ ಬೋನಸ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_REFEREE_BONUS_AMOUNT: \"ತೀರ್ಪುಗಾರರ ಬೋನಸ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"ಬೋನಸ್ ಮೊತ್ತದ ಮಾನ್ಯತೆಯನ್ನು ನಮೂದಿಸಿ (ದಿನಗಳು)\",\r\n ARE_YOU_SURE_YOU_WANT_TO_CREATE_THIS_PROGRAM_AS_PREVIOUS_PROGRAMS_WILL_GET_DEACTIVATED:\r\n \"ಹಿಂದಿನ ಪ್ರೋಗ್ರಾಂಗಳು ನಿಷ್ಕ್ರಿಯಗೊಳ್ಳುವುದರಿಂದ ಈ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ರಚಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?\",\r\n FILE_NAME: \"ಕಡತದ ಹೆಸರು\",\r\n TOTAL_RECORDS: \"ಒಟ್ಟು ದಾಖಲೆಗಳು\",\r\n SUCCEEDED: \"ಯಶಸ್ವಿಯಾಗಿದೆ\",\r\n DOWNLOAD: \"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ\",\r\n FAILED: \"ವಿಫಲವಾಗಿದೆ\",\r\n UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA:\r\n \"ನೌಕರರ ಕ್ರೆಡಿಟ್ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_UPLOAD_THE_FILE: \"ಫೈಲ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n DOWNLOAD_FORMAT: \"ಫಾರ್ಮ್ಯಾಟ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ\",\r\n UPLOAD_FILE: \"ಫೈಲ್ ಅಪ್‌ಲೋಡ್ ಮಾಡಿ\",\r\n ADD_EMPLOYEE_CREDITS: \"ನೌಕರರ ಸಾಲಗಳನ್ನು ಸೇರಿಸಿ\",\r\n VIEW_EMPLOYEE_CREDITS: \"ನೌಕರರ ಸಾಲಗಳನ್ನು ವೀಕ್ಷಿಸಿ\",\r\n EDIT_EMPLOYEE_CREDITS: \"ನೌಕರರ ಸಾಲಗಳನ್ನು ಸಂಪಾದಿಸಿ\",\r\n UPLOAD_EMPLOYEE_CREDIT_CONFIGURATION_FILE:\r\n \"ನೌಕರರ ಕ್ರೆಡಿಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ\",\r\n PLEASE_SELECT_FILE: \"ದಯವಿಟ್ಟು ಫೈಲ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n CLICK_TO_UPLOAD: \"ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ\",\r\n UPLOAD: \"ಅಪ್‌ಲೋಡ್ ಮಾಡಿ\",\r\n UNABLE_TO_LOAD_PACKAGES: \"ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMERS: \"ಗ್ರಾಹಕರ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED:\r\n \"ವಹಿವಾಟನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN:\r\n \"ವಹಿವಾಟನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ\",\r\n UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM:\r\n \"ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ತಾಂತ್ರಿಕ ತಂಡವನ್ನು ಸಂಪರ್ಕಿಸಿ\",\r\n PACKAGE_PURCHASED_SUCCESSFULLY: \"ಪ್ಯಾಕೇಜ್ ಯಶಸ್ವಿಯಾಗಿ ಖರೀದಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_BUY_PACKAGE: \"ಪ್ಯಾಕೇಜ್ ಖರೀದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n BUY: \"ಖರೀದಿಸಿ\",\r\n PLEASE_SELECT_CUSTOMER: \"ದಯವಿಟ್ಟು ಗ್ರಾಹಕರನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SEARCH_CUSTOMER: \"ಗ್ರಾಹಕರನ್ನು ಹುಡುಕಿ\",\r\n MONEY_TYPE: \"ಹಣದ ಪ್ರಕಾರ\",\r\n ADDED_BY: \"ಇವರಿಂದ ಸೇರಿಸಲಾಗಿದೆ\",\r\n ADDED_ON: \"ಆನ್ ಸೇರಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA:\r\n \"ಮುಂಗಡ ಪಾವತಿ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ADVANCE_COLLECTED_SUCCESSFULLY: \"ಮುಂಗಡವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_ADD_AMOUNT_TO_LKWALLET:\r\n \"LKWallet ಗೆ ಮೊತ್ತವನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ADD_ADVANCE_PAYMENT: \"ಮುಂಗಡ ಪಾವತಿ ಸೇರಿಸಿ\",\r\n VALID_FROM: \"ನಿಂದ ಮಾನ್ಯವಾಗಿದೆ\",\r\n VALID_TO: \"ಗೆ ಮಾನ್ಯವಾಗಿದೆ\",\r\n UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA:\r\n \"ಪರಿಹಾರ ಸಂರಚನಾ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_ADD_THE_DATA: \"ಡೇಟಾವನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n COMPENSATION_CONFIGURATION: \"ಪರಿಹಾರ ಸಂರಚನೆ\",\r\n ADD_COMPENSATION_CONFIGURATION: \"ಪರಿಹಾರ ಸಂರಚನೆಯನ್ನು ಸೇರಿಸಿ\",\r\n VIEW_COMPENSATION_CONFIGURATION: \"ಪರಿಹಾರ ಸಂರಚನೆಯನ್ನು ವೀಕ್ಷಿಸಿ\",\r\n EDIT_COMPENSATION_CONFIGURATION: \"ಪರಿಹಾರ ಸಂರಚನೆಯನ್ನು ಸಂಪಾದಿಸಿ\",\r\n VALID_FROM_AND_TO_DATE: \"ದಿನಾಂಕ ಮತ್ತು ದಿನಾಂಕದವರೆಗೆ ಮಾನ್ಯವಾಗಿದೆ\",\r\n PLEASE_SELECT_VALID_FROM_AND_TO_DATE:\r\n \"ದಯವಿಟ್ಟು ದಿನಾಂಕದಿಂದ ಮಾನ್ಯವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_ENTER_REMARK: \"ದಯವಿಟ್ಟು ಟಿಪ್ಪಣಿ ನಮೂದಿಸಿ\",\r\n ENTER_REMARK: \"ಟಿಪ್ಪಣಿ ನಮೂದಿಸಿ\",\r\n UNABLE_TO_GET_LIST_OF_REFUND_DATA:\r\n \"ಮರುಪಾವತಿ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_ADD_REFUND_DATA: \"ಮರುಪಾವತಿ ಡೇಟಾವನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ADD_REFUND: \"ಮರುಪಾವತಿಯನ್ನು ಸೇರಿಸಿ\",\r\n VIEW_REFUND: \"ಮರುಪಾವತಿಯನ್ನು ವೀಕ್ಷಿಸಿ\",\r\n DATA_SUCCESSFULLY_SUBMITTED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸಲ್ಲಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_SUBMIT_TAG_DATA: \"ಟ್ಯಾಗ್ ಡೇಟಾವನ್ನು ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_TAG_DATA: \"ಟ್ಯಾಗ್ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_TAG_DATA: \"ಟ್ಯಾಗ್ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_ENTER_TAG_NO: \"ದಯವಿಟ್ಟು ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ ನಮೂದಿಸಿ\",\r\n FACTORY_POST_QC: \"ಫ್ಯಾಕ್ಟರಿ ನಂತರದ ಕ್ಯೂಸಿ\",\r\n PLEASE_SCAN_ADD_TAG_NUMBER: \"ಟ್ಯಾಗ್ ಸಂಖ್ಯೆಯನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ / ಸೇರಿಸಿ\",\r\n SELECT_STATUS: \"ಸ್ಥಿತಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_ENTER_REMARKS: \"ದಯವಿಟ್ಟು ಟೀಕೆಗಳನ್ನು ನಮೂದಿಸಿ\",\r\n UNABLE_TO_LOAD_PRE_QC_RESPONSES:\r\n \"ಪೂರ್ವ-ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n FACTORY_PRE_QC: \"ಫ್ಯಾಕ್ಟರಿ ಪೂರ್ವ ಕ್ಯೂಸಿ\",\r\n ADD_GARMENT_FOR_QC: \"ಕ್ಯೂಸಿಗೆ ಗಾರ್ಮೆಂಟ್ ಸೇರಿಸಿ\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಉಳಿಸಲಾಗಿದೆ\",\r\n GARMENT_SHOULD_BE_IN_FACTORY_TO_BE_ADDED_FOR_QC:\r\n \"ಕ್ಯೂಸಿಗೆ ಸೇರಿಸಲು ಗಾರ್ಮೆಂಟ್ ಕಾರ್ಖಾನೆಯಲ್ಲಿರಬೇಕು\",\r\n UNABLE_TO_GET_GARMENT_DETAILS: \"ಉಡುಪಿನ ವಿವರಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n GET_GARMENT_HISTORY: \"ಗಾರ್ಮೆಂಟ್ ಇತಿಹಾಸವನ್ನು ಪಡೆಯಿರಿ\",\r\n PLEASE_SELECT_REASON: \"ದಯವಿಟ್ಟು ಕಾರಣವನ್ನು ಆರಿಸಿ\",\r\n UNABLE_TO_GET_CORPORATE_DATA: \"ಕಾರ್ಪೊರೇಟ್ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n GARMENTS_AT_QC: \"ಕ್ಯೂಸಿಯಲ್ಲಿ ಉಡುಪುಗಳು\",\r\n GARMENTS_IN_POST_QC: \"ಪೋಸ್ಟ್ ಕ್ಯೂಸಿಯಲ್ಲಿ ಉಡುಪುಗಳು\",\r\n UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA:\r\n \"ಫ್ಯಾಕ್ಟರಿ ಗಾರ್ಮೆಂಟ್ಸ್ ಇನ್ವೆಂಟರಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n GARMENT_INVENTORY_AT_FACTORY: \"ಕಾರ್ಖಾನೆಯಲ್ಲಿ ಗಾರ್ಮೆಂಟ್ ಇನ್ವೆಂಟರಿ\",\r\n DASHBOARD: \"ಡ್ಯಾಶ್‌ಬೋರ್ಡ್\",\r\n CUSTOMERS: \"ಗ್ರಾಹಕರು\",\r\n MANAGE_CUSTOMERS: \"ಗ್ರಾಹಕರನ್ನು ನಿರ್ವಹಿಸಿ\",\r\n PACKAGE_CONFIGURATION: \"ಪ್ಯಾಕೇಜ್ ಸಂರಚನೆ\",\r\n REFERRAL_BONUS_CONFIGURATION: \"ರೆಫರಲ್ ಬೋನಸ್ ಕಾನ್ಫಿಗರೇಶನ್\",\r\n EMPLOYEE_CREDITS: \"ನೌಕರರ ಸಾಲಗಳು\",\r\n BUY_PACKAGE: \"ಪ್ಯಾಕೇಜ್ ಖರೀದಿಸಿ\",\r\n ADVANCE_PAYMENTS: \"ಮುಂಗಡ ಪಾವತಿಗಳು\",\r\n COMPENSATION: \"ಪರಿಹಾರ\",\r\n REFUND: \"ಮರುಪಾವತಿ\",\r\n MASTER: \"ಮಾಸ್ಟರ್\",\r\n STORE: \"ಅಂಗಡಿ\",\r\n FACTORY: \"ಕಾರ್ಖಾನೆ\",\r\n CORPORATE: \"ಕಾರ್ಪೊರೇಟ್\",\r\n CITY: \"ನಗರ\",\r\n STATE: \"ರಾಜ್ಯ\",\r\n DESIGNATION: \"ಹುದ್ದೆ\",\r\n GARMENT_BRAND: \"ಗಾರ್ಮೆಂಟ್ ಬ್ರಾಂಡ್\",\r\n GARMENT_SIZE: \"ಉಡುಪಿನ ಗಾತ್ರ\",\r\n KYC_DOCUMENT_TYPE: \"ಕೆವೈಸಿ ಡಾಕ್ಯುಮೆಂಟ್ ಪ್ರಕಾರ\",\r\n SERVICE: \"ಸೇವೆ\",\r\n GARMENT: \"ಉಡುಪು\",\r\n REWASH_REASON: \"ರಿವಾಶ್ ಕಾರಣ\",\r\n OPERATION_INSTRUCTION: \"ಕಾರ್ಯಾಚರಣೆ ಸೂಚನೆ\",\r\n EXPENSE_TYPE: \"ಖರ್ಚು ಪ್ರಕಾರ\",\r\n ORDERS: \"ಆದೇಶಗಳು\",\r\n PICKUPS: \"ಪಿಕಪ್ಗಳು\",\r\n MANAGE_ORDERS: \"ಆದೇಶಗಳನ್ನು ನಿರ್ವಹಿಸಿ\",\r\n READY_FOR_DELIVERY_OR_INVOICE: \"ವಿತರಣೆ / ಸರಕುಪಟ್ಟಿ ಸಿದ್ಧ\",\r\n DELIVERIES: \"ವಿತರಣೆಗಳು\",\r\n TRANSFER_IN_OUT: \"ಇನ್ / .ಟ್ ವರ್ಗಾವಣೆ\",\r\n TRANSFER_OUT: \"ವರ್ಗಾವಣೆ .ಟ್\",\r\n GATE_PASS_LIST: \"ಗೇಟ್ ಪಾಸ್ ಪಟ್ಟಿ\",\r\n TRANSFER_IN: \"ಸೈನ್ ಇನ್ ಮಾಡಿ\",\r\n PRE_QC_RESPONSES: \"ಪೂರ್ವ ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆ\",\r\n USER_EXPENSES: \"ಬಳಕೆದಾರರ ವೆಚ್ಚಗಳು\",\r\n INVENTORY: \"ದಾಸ್ತಾನು\",\r\n SETTINGS: \"ಸಂಯೋಜನೆಗಳು\",\r\n AUTHENTICATION: \"ದೃ ation ೀಕರಣ\",\r\n USERS: \"ಬಳಕೆದಾರರು\",\r\n ROLES: \"ಪಾತ್ರಗಳು\",\r\n ROLE_OPERATIONS: \"ಪಾತ್ರ ಕಾರ್ಯಾಚರಣೆಗಳು\",\r\n CONFIGURATION: \"ಸಂರಚನೆ\",\r\n TIME_CARD: \"ಸಮಯ ಕಾರ್ಡ್\",\r\n RATE_CARD: \"ದರದ ಚೀಟಿ\",\r\n DISCOUNT: \"ರಿಯಾಯಿತಿ\",\r\n CASH_COUPON: \"ನಗದು ಕೂಪನ್\",\r\n PACKAGING_CHARGES: \"ಪ್ಯಾಕೇಜಿಂಗ್ ಶುಲ್ಕಗಳು\",\r\n DELIVERY_CHARGES: \"ವಿತರಣಾ ಶುಲ್ಕಗಳು\",\r\n BANNER: \"ಬ್ಯಾನರ್\",\r\n NOTICE_BOARD: \"ಸೂಚನಾ ಫಲಕ\",\r\n FINGER_SCAN: \"ಫಿಂಗರ್ ಸ್ಕ್ಯಾನ್\",\r\n COLLECT_FINGERPRINTS: \"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ\",\r\n QC_RESPONSES: \"ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆಗಳು\",\r\n PRE_QC: \"ಪೂರ್ವ ಕ್ಯೂಸಿ\",\r\n POST_QC: \"ಕ್ಯೂಸಿ ಪೋಸ್ಟ್ ಮಾಡಿ\",\r\n TODAYS_HIGHLIGHTS: \"ಇಂದಿನ ಮುಖ್ಯಾಂಶಗಳು\",\r\n ORDER_VS_ORDER_AMOUNT: \"ಆದೇಶಗಳು / ಆದೇಶ ಮೊತ್ತ\",\r\n INVOICE_VS_INVOICE_AMOUNT: \"ಸರಕುಪಟ್ಟಿ / ಸರಕುಪಟ್ಟಿ ಮೊತ್ತ\",\r\n STORE_INVENTORY: \"ದಾಸ್ತಾನು ಸಂಗ್ರಹಿಸಿ\",\r\n OTHER_STATASTICS: \"ಇತರ ಅಂಕಿಅಂಶಗಳು\",\r\n PROCESSED: \"ಸಂಸ್ಕರಿಸಲಾಗಿದೆ\",\r\n SOILED: \"ಮಣ್ಣಾದ\",\r\n AMOUNT_DUE_FOR_COLLECTION: \"ಸಂಗ್ರಹಣೆಗೆ ಬಾಕಿ ಇರುವ ಮೊತ್ತ\",\r\n ORDERS_READY_FOR_INVOICE: \"ಸರಕುಪಟ್ಟಿ ಸಿದ್ಧವಾಗಿದೆ\",\r\n DELIVERY_PERSON: \"ವಿತರಣಾ ವ್ಯಕ್ತಿ\",\r\n WALK_IN: \"ಒಳಗೆ ನಡೆದು\",\r\n PENDING_TO_TRANSFER_OUT_TO_FACTORY: \"ಕಾರ್ಖಾನೆಗೆ ವರ್ಗಾಯಿಸಲು ಬಾಕಿ ಇದೆ\",\r\n NO_OF_ORDERS: \"ಆದೇಶಗಳ ಸಂಖ್ಯೆ\",\r\n PENDING_PICKUPS: \"ಪಿಕಪ್‌ಗಳು ಬಾಕಿ ಉಳಿದಿವೆ\",\r\n DATE: \"ದಿನಾಂಕ\",\r\n ORDERS_DUE_FOR_DELIVERY: \"ವಿತರಣೆಗೆ ಕಾರಣ ಆದೇಶಗಳು\",\r\n FIRST_NAME: \"ಮೊದಲ ಹೆಸರು\",\r\n LAST_NAME: \"ಕೊನೆಯ ಹೆಸರು\",\r\n GENDER: \"ಲಿಂಗ\",\r\n EMAIL: \"ಇಮೇಲ್\",\r\n PHONE: \"ದೂರವಾಣಿ\",\r\n TYPE: \"ಮಾದರಿ\",\r\n BILLING_CYCLE: \"ಬೈಲಿಂಗ್ ಸೈಕಲ್\",\r\n ACTIONS: \"ಕ್ರಿಯೆಗಳು\",\r\n VIEW: \"ನೋಟ\",\r\n EDIT: \"ತಿದ್ದು\",\r\n DELETE: \"ಅಳಿಸಿ\",\r\n SEARCH: \"ಹುಡುಕಿ \",\r\n ADD_CUSTOMER: \"ಗ್ರಾಹಕರನ್ನು ಸೇರಿಸಿ\",\r\n ADD: \"ಸೇರಿಸಿ\",\r\n CUSTOMER: \"ಗ್ರಾಹಕ\",\r\n WALLET_CASH: \"ವಾಲೆಟ್ ನಗದು\",\r\n WALLET_BONUS: \"ವಾಲೆಟ್ ಬೋನಸ್\",\r\n GENERAL: \"ಜನರಲ್\",\r\n GENERAL_CUSTOMER_INFORMATION: \"ಸಾಮಾನ್ಯ ಗ್ರಾಹಕ ಮಾಹಿತಿ\",\r\n ADDRESS: \"ವಿಳಾಸ\",\r\n CUSTOMER_ADDRESSES: \"ಗ್ರಾಹಕ ವಿಳಾಸಗಳು\",\r\n VERIFICATION: \"ಪರಿಶೀಲನೆ\",\r\n VERIFY_PHONE_AND_EMAIL: \"ವರ್ಫಿ ಫೋನ್ ಮತ್ತು ಇಮೇಲ್\",\r\n PLEASE: \"ದಯವಿಟ್ಟು\",\r\n SELECT: \"ಆಯ್ಕೆ ಮಾಡಿ\",\r\n ENTER: \"ನಮೂದಿಸಿ\",\r\n VALID: \"ಮಾನ್ಯ\",\r\n PHONE_NUMBER: \"ದೂರವಾಣಿ ಸಂಖ್ಯೆ\",\r\n DATE_OF_BIRTH: \"ಹುಟ್ತಿದ ದಿನ\",\r\n ANNIVERSARY_DATE: \"ವಾರ್ಷಿಕೋತ್ಸವ ದಿನಾಂಕ\",\r\n REFERRAL_CODE: \"ರೆಫರಲ್ ಕೋಡ್\",\r\n CUSTOMER_TYPE: \"ಗ್ರಾಹಕ ಪ್ರಕಾರ\",\r\n GSTIN: \"ಜಿಎಸ್ಟಿಎನ್\",\r\n ACTIVE: \"ಸಕ್ರಿಯ\",\r\n STATUS: \"ಸ್ಥಿತಿ\",\r\n YES: \"ಹೌದು\",\r\n NO: \"ಇಲ್ಲ\",\r\n CANCEL: \"ರದ್ದುಮಾಡಿ\",\r\n SUBMIT: \"ಸಲ್ಲಿಸು\",\r\n ID: \"ಐಡಿ\",\r\n PINCODE: \"ಪಿನ್ಕೋಡ್\",\r\n ADRESSES_OF: \"ನ ವಿಳಾಸಗಳು\",\r\n HOME: \"ಮನೆ\",\r\n OFFICE: \"ಕಚೇರಿ\",\r\n OTHER: \"ಇತರೆ\",\r\n LONGITUDE: \"ರೇಖಾಂಶ\",\r\n LATITUDE: \"ಅಕ್ಷಾಂಶ\",\r\n IS_DEFAULT: \"ಇದನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಹೊಂದಿಸಿ\",\r\n PLEASE_ENTER_FIRST_NAME: \"ದಯವಿಟ್ಟು ಮೊದಲ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_FIRST_NAME: \"ಮೊದಲ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_LAST_NAME: \"ದಯವಿಟ್ಟು ಕೊನೆಯ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_LAST_NAME: \"ಕೊನೆಯ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_EMAIL: \"ದಯವಿಟ್ಟು ಇಮೇಲ್ ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_VALID_EMAIL: \"ದಯವಿಟ್ಟು ಮಾನ್ಯ ಇಮೇಲ್ ನಮೂದಿಸಿ\",\r\n ENTER_EMAIL: \"ಇಮೇಲ್ ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_PHONE_NUMBER: \"ದಯವಿಟ್ಟು ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_VALID_PHONE_NUMBER: \"ದಯವಿಟ್ಟು ಮಾನ್ಯ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_PHONE_NUMBER: \"ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_SELECT_GENDER: \"ದಯವಿಟ್ಟು ಲಿಂಗ ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_DATE: \"ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ\",\r\n ENTER_REFERRAL_CODE: \"ರೆಫರಲ್ ಕೋಡ್ ನಮೂದಿಸಿ\",\r\n PLEASE_SELECT_CUSTOMER_TYPE: \"ದಯವಿಟ್ಟು ಗ್ರಾಹಕ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_CUSTOMER_TYPE: \"ಗ್ರಾಹಕ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_CORPORATE: \"ಕಾರ್ಪೊರೇಟ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_SELECT_BILLING_CYCLE: \"ದಯವಿಟ್ಟು ಬಿಲ್ಲಿಂಗ್ ಸೈಕಲ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_BILLING_CYCLE: \"ಬಿಲ್ಲಿಂಗ್ ಸೈಕಲ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n ENTER_VALID_GSTIN: \"ಮಾನ್ಯ GSTIN ಅನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_GSTIN: \"GSTIN ಅನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_SELECT_STATUS: \"ದಯವಿಟ್ಟು ಸ್ಥಿತಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n ADD_ADDRESS: \"ವಿಳಾಸವನ್ನು ಸೇರಿಸಿ\",\r\n VIEW_ADDRESS: \"ವಿಳಾಸವನ್ನು ವೀಕ್ಷಿಸಿ\",\r\n EDIT_ADDRESS: \"ವಿಳಾಸವನ್ನು ಸಂಪಾದಿಸಿ\",\r\n PLEASE_SELECT_ADDRESS_TYPE: \"ದಯವಿಟ್ಟು ವಿಳಾಸ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_TYPE: \"ಪ್ರಕಾರವನ್ನು ಆರಿಸಿ\",\r\n ENTER_LONGITUDE: \"ರೇಖಾಂಶವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_LATITUDE: \"ಅಕ್ಷಾಂಶವನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_SELECT_STATE: \"ದಯವಿಟ್ಟು ರಾಜ್ಯವನ್ನು ಆರಿಸಿ\",\r\n SELECT_STATE: \"ರಾಜ್ಯವನ್ನು ಆರಿಸಿ\",\r\n PLEASE_SELECT_CITY: \"ದಯವಿಟ್ಟು ನಗರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_CITY: \"ನಗರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_ENTER_PINCODE: \"ದಯವಿಟ್ಟು ಪಿನ್‌ಕೋಡ್ ನಮೂದಿಸಿ\",\r\n ENTER_PINCODE: \"ಪಿನ್ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n HOUSE_NO: \"ಮನೆ ಸಂಖ್ಯೆ / ಫ್ಲಾಟ್ ಸಂಖ್ಯೆ / ಫ್ಲೋರ್ / ಸ್ಟ್ರೀಟ್\",\r\n PLEASE_ENTER_HOUSE_NO:\r\n \"ದಯವಿಟ್ಟು ಮನೆ ಸಂಖ್ಯೆ / ಫ್ಲಾಟ್ ಸಂಖ್ಯೆ / ಫ್ಲೋರ್ / ಸ್ಟ್ರೀಟ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_HOUSE_NO:\r\n \"ಮನೆ ಸಂಖ್ಯೆ / ಫ್ಲಾಟ್ ಸಂಖ್ಯೆ / ಫ್ಲೋರ್ / ಸ್ಟ್ರೀಟ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n LANDMARK: \"ಹೆಗ್ಗುರುತು\",\r\n ENTER_LANDMARK: \"ಹೆಗ್ಗುರುತನ್ನು ನಮೂದಿಸಿ\",\r\n HOW_TO_REACH: \"ತಲುಪುವುದು ಹೇಗೆ\",\r\n ENTER_HOW_TO_REACH: \"ತಲುಪುವುದು ಹೇಗೆ ಎಂದು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_ADDRESS: \"ದಯವಿಟ್ಟು ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_ADDRESS: \"ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ\",\r\n UPDATE: \"ನವೀಕರಿಸಿ\",\r\n PLEASE_ENTER_OTP: \"ದಯವಿಟ್ಟು ಒಟಿಪಿ ನಮೂದಿಸಿ\",\r\n ENTER_OTP: \"ಒಟಿಪಿ ನಮೂದಿಸಿ\",\r\n VERIFY: \"ಪರಿಶೀಲಿಸಿ\",\r\n DIDNT_RECIEVED_ANYTHIG: \"ಏನನ್ನೂ ಸ್ವೀಕರಿಸಲಿಲ್ಲವೇ?\",\r\n RESEND_OTP: \"ಒಟಿಪಿಯನ್ನು ಮರುಹೊಂದಿಸಿ\",\r\n NOT_VERIFIED: \"ಪರಿಶೀಲಿಸಿಲ್ಲ\",\r\n VERIFY_PHONE_NUMBER: \"ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಪರಿಶೀಲಿಸಿ\",\r\n VERIFIED: \"ಪರಿಶೀಲಿಸಲಾಗಿದೆ\",\r\n PACKAGE_NAME: \"ಪ್ಯಾಕೇಜ್ ಹೆಸರು\",\r\n PACKAGE_AMOUNT: \"ಪ್ಯಾಕೇಜ್ ಮೊತ್ತ\",\r\n BONUS_AMOUNT: \"ಬೋನಸ್ ಮೊತ್ತ\",\r\n BONUS_VALIDITY: \"ಬೋನಸ್ ಮಾನ್ಯತೆ\",\r\n TITLE: \"ಶೀರ್ಷಿಕೆ\",\r\n DESCRIPTION: \"ವಿವರಣೆ\",\r\n ADD_PACKAGE_CONFIGURATION: \"ಪ್ಯಾಕೇಜ್ ಸಂರಚನೆಯನ್ನು ಸೇರಿಸಿ\",\r\n DELETE_SELECTED: \"ಆಯ್ಕೆಮಾಡಿದ ಅಳಿಸಿ\",\r\n VIEW_PACKAGE_CONFIGURATION: \"ಪ್ಯಾಕೇಜ್ ಸಂರಚನೆಯನ್ನು ವೀಕ್ಷಿಸಿ\",\r\n EDIT_PACKAGE_CONFIGURATION: \"ಪ್ಯಾಕೇಜ್ ಸಂರಚನೆಯನ್ನು ಸಂಪಾದಿಸಿ\",\r\n PLEASE_ENTER_PACKAGE_NAME: \"ದಯವಿಟ್ಟು ಪ್ಯಾಕೇಜ್ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_PACKAGE_NAME: \"ಪ್ಯಾಕೇಜ್ ಹೆಸರನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_PACKAGE_AMOUNT: \"ದಯವಿಟ್ಟು ಪ್ಯಾಕೇಜ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_PACKAGE_AMOUNT: \"ಪ್ಯಾಕೇಜ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_BONUS_AMOUNT: \"ದಯವಿಟ್ಟು ಬೋನಸ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_BONUS_AMOUNT: \"ಬೋನಸ್ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ\",\r\n BONUS_AMOUNT_VALIDITY_DAYS: \"ಬೋನಸ್ ಮೊತ್ತ ಮಾನ್ಯತೆ (ದಿನಗಳು)\",\r\n PLEASE_ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"ದಯವಿಟ್ಟು ಬೋನಸ್ ಮೊತ್ತದ ಮಾನ್ಯತೆಯನ್ನು ನಮೂದಿಸಿ (ದಿನಗಳು)\",\r\n ENTER_BONUS_VALIDITY_DAYS: \"ಬೋನಸ್ ಮಾನ್ಯತೆಯನ್ನು ನಮೂದಿಸಿ (ದಿನಗಳು)\",\r\n DESCRIPTION_TITLE: \"ವಿವರಣೆ ಶೀರ್ಷಿಕೆ\",\r\n ENTER_DESCRIPTION_TITLE: \"ವಿವರಣೆ ಶೀರ್ಷಿಕೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_DESCRIPTION_TITLE: \"ದಯವಿಟ್ಟು ವಿವರಣೆಯ ಶೀರ್ಷಿಕೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_DESCRIPTION: \"ದಯವಿಟ್ಟು ವಿವರಣೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_DESCRIPTION: \"ವಿವರಣೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n PICKUP_ID: \"ಪಿಕಪ್ ಐಡಿ\",\r\n PROMOCODE: \"ಪ್ರೋಮೊ ಕೋಡ್\",\r\n ASSIGNED_USER_NAME: \"ನಿಯೋಜಿಸಲಾದ ಬಳಕೆದಾರರ ಹೆಸರು\",\r\n ORDER: \"ಆದೇಶ\",\r\n REASSIGN: \"ಮರುಹೊಂದಿಸಿ\",\r\n ADD_PICKUP: \"ಪಿಕಪ್ ಸೇರಿಸಿ\",\r\n REASSIGN_PICKUP_EXECUTIVE: \"ಪಿಕಪ್ ಕಾರ್ಯನಿರ್ವಾಹಕನನ್ನು ಮರುಹೊಂದಿಸಿ\",\r\n PICKUP_EXECUTIVE: \"ಪಿಕಪ್ ಕಾರ್ಯನಿರ್ವಾಹಕ\",\r\n PLEASE_SELECT_ANY_PICKUP_EXECUTIVE:\r\n \"ದಯವಿಟ್ಟು ಯಾವುದೇ ಪಿಕಪ್ ಕಾರ್ಯನಿರ್ವಾಹಕನನ್ನು ಆಯ್ಕೆ ಮಾಡಿ\",\r\n SELECT_PICKUP_EXECUTIVE: \"ಪಿಕಪ್ ಕಾರ್ಯನಿರ್ವಾಹಕ ಆಯ್ಕೆಮಾಡಿ\",\r\n PICKUP: \"ಪಿಕಪ್\",\r\n HISTORY: \"ಇತಿಹಾಸ\",\r\n GENERAL_PICKUP_INFORMATION: \"ಸಾಮಾನ್ಯ ಪಿಕಪ್ ಮಾಹಿತಿ\",\r\n HISTORY_OF_RESCHEDULED_PICKUPS: \"ಮರುಹೊಂದಿಸಿದ ಪಿಕಪ್‌ಗಳ ಇತಿಹಾಸ\",\r\n PICKUP_STATUS: \"ಪಿಕಪ್ ಸ್ಥಿತಿ\",\r\n SELECT_PICKUP_STATUS: \"ಪಿಕಪ್ ಸ್ಥಿತಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_SELECT_PICKUP_DATE: \"ದಯವಿಟ್ಟು ಪಿಕಪ್ ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ\",\r\n PICKUP_TIMESLOT: \"ಪಿಕಪ್ ಟೈಮ್‌ಸ್ಲಾಟ್\",\r\n PLEASE_SELECT_TIMESLOT: \"ದಯವಿಟ್ಟು ಟೈಮ್‌ಸ್ಲಾಟ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_TIMESLOT: \"ಟೈಮ್ಸ್ಲಾಟ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_ADDRESS: \"ವಿಳಾಸ ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_SELECT_DELIVERY_TYPE: \"ದಯವಿಟ್ಟು ವಿತರಣಾ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_DELIVERY_TYPE: \"ವಿತರಣಾ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n ENTER_NO_OF_GARMENTS: \"ಉಡುಪುಗಳ ಸಂಖ್ಯೆ ನಮೂದಿಸಿ\",\r\n ENTER_PROMOCODE: \"ಪ್ರೋಮೋಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n SERVICES: \"ಸೇವೆಗಳು\",\r\n PLEASE_SELECT_SERVICES: \"ದಯವಿಟ್ಟು ಸೇವೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_SERVICES: \"ಸೇವೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n DELIVERY_TIMESLOT: \"ವಿತರಣಾ ಟೈಮ್‌ಸ್ಲಾಟ್\",\r\n CANCELLATION_REASON: \"ರದ್ದತಿ ಕಾರಣ\",\r\n SELECT_OPERATION_INSTRUCTION: \"ಕಾರ್ಯಾಚರಣೆ ಸೂಚನೆಯನ್ನು ಆರಿಸಿ\",\r\n RESCHEDULED_PICKUP_HISTORY: \"ಪಿಕಪ್ ಇತಿಹಾಸವನ್ನು ಮರು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ\",\r\n ON_DEMAND_WALK_IN: \"ಬೇಡಿಕೆ / ವಾಕ್-ಇನ್\",\r\n GARMENTS: \"ಉಡುಪುಗಳು\",\r\n CREATE_ORDER: \"ಆದೇಶವನ್ನು ರಚಿಸಿ\",\r\n PRINT_TAGS: \"ಟ್ಯಾಗ್‌ಗಳನ್ನು ಮುದ್ರಿಸಿ\",\r\n CANCEL_ORDER: \"ಆದೇಶವನ್ನು ರದ್ದುಗೊಳಿಸಿ\",\r\n CANCEL_REASON: \"ಕಾರಣವನ್ನು ರದ್ದುಮಾಡಿ\",\r\n PLEASE_ENTER_REASON: \"ದಯವಿಟ್ಟು ಕಾರಣವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_REASON_TO_CANCEL_THE_ORDER:\r\n \"ಆದೇಶವನ್ನು ರದ್ದುಗೊಳಿಸಲು ಕಾರಣವನ್ನು ನಮೂದಿಸಿ\",\r\n CUSTOMER_DETAILS: \"ಗ್ರಾಹಕರ ವಿವರಗಳು\",\r\n NAME: \"ಹೆಸರು\",\r\n TYPE_OF_SERVICE: \"ಸೇವೆಯ ಪ್ರಕಾರ\",\r\n PICKUP_REQUEST: \"ಪಿಕಪ್ ವಿನಂತಿ\",\r\n TYPE_OF_CUSTOMER: \"ಗ್ರಾಹಕರ ಪ್ರಕಾರ\",\r\n WALLET_CREDIT: \"ವಾಲೆಟ್ ಕ್ರೆಡಿಟ್\",\r\n FILTER: \"ಫಿಲ್ಟರ್ ಮಾಡಿ\",\r\n ORDER_SUMMARY: \"ಆದೇಶ ಸಾರಾಂಶ\",\r\n DETAILS: \"ವಿವರಗಳು\",\r\n QTY: \"ಕ್ಯೂಟಿ\",\r\n RATES: \"ದರಗಳು\",\r\n FEES: \"ಶುಲ್ಕ\",\r\n SUBTOTAL: \"ಒಟ್ಟು ಮೊತ್ತ\",\r\n TAXES_AND_CHARGES: \"ತೆರಿಗೆಗಳು ಮತ್ತು ಶುಲ್ಕಗಳು\",\r\n PROMO_DISCOUNT: \"ಪ್ರೋಮೋ ರಿಯಾಯಿತಿ\",\r\n SGST: \"ಎಸ್‌ಜಿಎಸ್‌ಟಿ\",\r\n CGST: \"ಸಿಜಿಎಸ್ಟಿ\",\r\n IGST: \"ಐಜಿಎಸ್ಟಿ\",\r\n TOTAL: \"ಒಟ್ಟು\",\r\n ORDER_REMARKS: \"ಆದೇಶ ಟೀಕೆಗಳು\",\r\n REVIEW_ORDER: \"ವಿಮರ್ಶೆ ಆದೇಶ\",\r\n MEDIUM: \"ಮಾಧ್ಯಮ\",\r\n REQUIRED: \"ಅಗತ್ಯವಿದೆ\",\r\n WEIGHT: \"ತೂಕ\",\r\n SELECT_ADD_ON_SERVICES: \"ಆಡ್-ಆನ್ ಸೇವೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n DARNING_SIZE: \"ಡಾರ್ನಿಂಗ್ ಗಾತ್ರ\",\r\n SMALL: \"ಸಣ್ಣ\",\r\n LARGE: \"ದೊಡ್ಡದು\",\r\n DYING_COLORS: \"ಸಾಯುತ್ತಿರುವ ಬಣ್ಣ (ಗಳು)\",\r\n SIZE: \"ಗಾತ್ರ\",\r\n PRICE: \"ಬೆಲೆ\",\r\n NOTES: \"ಟಿಪ್ಪಣಿಗಳು\",\r\n ONLY_3_IMAGES_ARE_ALLOWED: \"ಕೇವಲ 3 ಚಿತ್ರಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಲಾಗಿದೆ\",\r\n LOGISTICS_INSTRUCTION: \"ಲಾಜಿಸ್ಟಿಕ್ಸ್ ಸೂಚನೆ\",\r\n ON_DEMAND_DELIVERY: \"ಬೇಡಿಕೆಯ ವಿತರಣೆಯಲ್ಲಿ\",\r\n REPRINT_TAGS: \"ಟ್ಯಾಗ್‌ಗಳನ್ನು ಮರುಮುದ್ರಣ ಮಾಡಿ\",\r\n REPRINT_ESTIMATED_ORDER: \"ಅಂದಾಜು ಆದೇಶವನ್ನು ಮರುಮುದ್ರಣ ಮಾಡಿ\",\r\n REWASH_REQUESTED_BY: \"ರಿವಾಶ್ ವಿನಂತಿಸಲಾಗಿದೆ\",\r\n PLACE_ORDER: \"ಸ್ಥಳ ಆದೇಶ\",\r\n COLLECT_ADVANCE_PAYMENT: \"ಮುಂಗಡ ಪಾವತಿ ಸಂಗ್ರಹಿಸಿ\",\r\n UPDATE_ORDER: \"ನವೀಕರಣ ಆದೇಶ\",\r\n CONFIRM_ORDER: \"ಆದೇಶವನ್ನು ದೃ irm ೀಕರಿಸಿ\",\r\n TAG_IN_GARMENTS: \"ಟ್ಯಾಗ್ ಇನ್ ಗಾರ್ಮೆಂಟ್ಸ್\",\r\n CREATE_REWASH_ORDER: \"ರಿವಾಶ್ ಆದೇಶವನ್ನು ರಚಿಸಿ\",\r\n PAYMENT_METHOD: \"ಪಾವತಿ ವಿಧಾನ\",\r\n COLLECT: \"ಸಂಗ್ರಹಿಸಿ\",\r\n PROCESSING: \"ಸಂಸ್ಕರಣೆ\",\r\n INVOICE_NUMBER: \"ಸರಕುಪಟ್ಟಿ ಸಂಖ್ಯೆ\",\r\n GENERATE: \"ರಚಿಸಿ\",\r\n SETTLE: \"ನೆಲೆ\",\r\n READY_FOR_DELIVERY_ORDERS: \"ವಿತರಣಾ ಆದೇಶಗಳಿಗೆ ಸಿದ್ಧವಾಗಿದೆ\",\r\n HIDE_FILTERS: \"ಫಿಲ್ಟರ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ\",\r\n SHOW_FILTERS: \"ಫಿಲ್ಟರ್‌ಗಳನ್ನು ತೋರಿಸಿ\",\r\n PLEASE_SELECT_FROM_DATE: \"ದಯವಿಟ್ಟು ದಿನಾಂಕದಿಂದ ಆಯ್ಕೆಮಾಡಿ\",\r\n FROM_DATE: \"ದಿನಾಂಕದಿಂದ\",\r\n PLEASE_SELECT_TO_DATE: \"ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ\",\r\n TO_DATE: \"ದಿನಾಂಕ\",\r\n ENTER_SPLIT_ORDER_NUMBER: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n PROFORMA_INVOICE_NUMBER: \"ಪ್ರೊಫಾರ್ಮಾ ಸರಕುಪಟ್ಟಿ ಸಂಖ್ಯೆ\",\r\n PROFORMA_INVOICE_DATE: \"ಪ್ರೊಫಾರ್ಮಾ ಸರಕುಪಟ್ಟಿ ದಿನಾಂಕ\",\r\n INVOICE_DATE: \"ಸರಕುಪಟ್ಟಿ ದಿನಾಂಕ\",\r\n INVOICE: \"ಸರಕುಪಟ್ಟಿ\",\r\n ORDER_TYPE: \"ಆದೇಶ ಪ್ರಕಾರ\",\r\n PICKUP_BY: \"ಇವರಿಂದ ಎತ್ತಿಕೊಳ್ಳಿ\",\r\n ADJUSTED_LK_BONUS_AMOUNT: \"ಸರಿಹೊಂದಿಸಲಾದ ಎಲ್ಕೆ ಬೋನಸ್ ಮೊತ್ತ\",\r\n PROFORMA_INVOICE: \"Proforma ಇನ್ವಾಯ್ಸ್\",\r\n TOTAL_AMOUNT: \"ಒಟ್ಟು ಮೊತ್ತ\",\r\n ADD_ON_SERVICE_CHARGES: \"ಆಡ್-ಆನ್ ಸೇವಾ ಶುಲ್ಕಗಳು\",\r\n ADHOC_CHARGES: \" ಅಧೋಕ್ ಶುಲ್ಕಗಳು\",\r\n PAIDLESS_AMOUNT: \"Adjusted By Admin\",\r\n ADJUSTED_AMOUNT: \"Paid Less\",\r\n AMOUNT_TO_COLLECT: \"ಸಂಗ್ರಹಿಸಬೇಕಾದ ಮೊತ್ತ\",\r\n ADD_REMARKS: \"ಟೀಕೆಗಳನ್ನು ಸೇರಿಸಿ\",\r\n UPDATE_PROFORMA_INVOICE: \"ಪ್ರೊಫಾರ್ಮಾ ಸರಕುಪಟ್ಟಿ ನವೀಕರಿಸಿ\",\r\n CREATE_PROFORMA_INVOICE: \"ಪ್ರೊಫಾರ್ಮಾ ಸರಕುಪಟ್ಟಿ ರಚಿಸಿ\",\r\n USE_LK_WALLET: \"ಎಲ್ಕೆ ವಾಲೆಟ್ ಬಳಸಿ\",\r\n GENERATE_TAX_INVOICE: \"ತೆರಿಗೆ ಸರಕುಪಟ್ಟಿ ರಚಿಸಿ\",\r\n DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET:\r\n \"ಹೆಚ್ಚುವರಿ ಮೊತ್ತವನ್ನು ಎಲ್‌ಕೆ ವಾಲೆಟ್‌ಗೆ ಸೇರಿಸಲು ನೀವು ಬಯಸುವಿರಾ\",\r\n SETTLE_LESS_PAID_INVOICE: \"ಕಡಿಮೆ ಪಾವತಿಸಿದ ಸರಕುಪಟ್ಟಿ ಹೊಂದಿಸಿ\",\r\n SLOT: \"ಸ್ಲಾಟ್\",\r\n ASSIGNED_TO: \"ಗೆ ನಿಯೋಜಿಸಲಾಗಿದೆ\",\r\n RESCHEDULE: \"ಮರುಹೊಂದಿಸಿ\",\r\n DELIVERY_LIST: \"ವಿತರಣಾ ಪಟ್ಟಿ\",\r\n REASSIGN_DELIVERY: \"ಮರುಹಂಚಿಕೆ ವಿತರಣೆ\",\r\n PLEASE_SELECT_ASSIGNEE: \"ದಯವಿಟ್ಟು ನಿಯೋಜಕನನ್ನು ಆರಿಸಿ\",\r\n SELECT_ASSIGNEE: \"ನಿಯೋಜಕನನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n DELIVERY_ID: \"ವಿತರಣಾ ID\",\r\n RESCHEDULE_DELIVERY: \"ಮರುಹೊಂದಿಸುವ ವಿತರಣೆ\",\r\n CANCEL_DELIVERY: \"ವಿತರಣೆಯನ್ನು ರದ್ದುಗೊಳಿಸಿ\",\r\n PLEASE_SELECT_DELIVERY_DATE: \"ದಯವಿಟ್ಟು ವಿತರಣಾ ದಿನಾಂಕವನ್ನು ಆರಿಸಿ\",\r\n PLEASE_ENTER_CANCEL_REASON: \"ದಯವಿಟ್ಟು ರದ್ದುಮಾಡು ಕಾರಣವನ್ನು ನಮೂದಿಸಿ\",\r\n ENTER_CANCEL_REASON: \"ರದ್ದುಮಾಡು ಕಾರಣವನ್ನು ನಮೂದಿಸಿ\",\r\n PLEASE_SELECT_EXPENSE_TYPE: \"ದಯವಿಟ್ಟು ಖರ್ಚು ಪ್ರಕಾರವನ್ನು ಆರಿಸಿ\",\r\n PLEASE_SELECT_EXPENSE_DATE: \"ದಯವಿಟ್ಟು ಖರ್ಚು ದಿನಾಂಕವನ್ನು ಆರಿಸಿ\",\r\n // OVERDUE_GARMENTS: \"ಮಿತಿಮೀರಿದ ಉಡುಪುಗಳು\",\r\n OVERDUE_ORDERS: \"ಮಿತಿಮೀರಿದ ಆದೇಶಗಳು\",\r\n GARMENT_COUNTS: \"ಗಾರ್ಮೆಂಟ್ ಎಣಿಕೆಗಳು\",\r\n ORDER_COUNTS: \"ಆದೇಶ ಎಣಿಕೆಗಳು\",\r\n TOTAL_PENDING_GARMENTS_ORDERS: \"ಒಟ್ಟು ಬಾಕಿ ಇರುವ ಉಡುಪುಗಳು / ಆದೇಶಗಳು\",\r\n TODAYS_DUE: \"ಇಂದಿನ ಬಾಕಿ\",\r\n TICKETS_COUNTS: \"ಟಿಕೆಟ್ ಎಣಿಕೆಗಳು\",\r\n ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE:\r\n \"ಮುಚ್ಚಿದ ಅಂಗಡಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಆದೇಶವನ್ನು ರಚಿಸಲಾಗುವುದಿಲ್ಲ\",\r\n THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE:\r\n \"ಈ ಅಂಗಡಿಯಿಂದ ಈ ರೀತಿಯ ಆದೇಶವನ್ನು ರಚಿಸಲಾಗುವುದಿಲ್ಲ\",\r\n AMOUNT_IS_REQUIRED: \"ಮೊತ್ತದ ಅಗತ್ಯವಿದೆ\",\r\n AMOUNT_SHOULD_BE_GREATER_THAN_0: \"ಮೊತ್ತ 0 ಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬೇಕು\",\r\n IS_LAUNDROKART_EMPLOYEE: \"ಲಾಂಡ್ರೊಕಾರ್ಟ್ ಉದ್ಯೋಗಿ\",\r\n REWASH_ORDER: \"ರಿವಾಶ್ ಆರ್ಡರ್\",\r\n\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"1 ರಿಂದ 9 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಅಂಕೆಗಳನ್ನು ಮಾತ್ರ ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"ದಯವಿಟ್ಟು ವರ್ಣಮಾಲೆಗಳನ್ನು ಮಾತ್ರ ನಮೂದಿಸಿ\",\r\n MISSING_TAG_NOS: \"ಕಾಣೆಯಾದ ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ\",\r\n\r\n //11/06/2020\r\n CUSTOMER_IS_SUCCESSFULLY_REGISTERED:\r\n \"ಗ್ರಾಹಕರನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನೋಂದಾಯಿಸಲಾಗಿದೆ\",\r\n DATA_IS_SUCCESSFULLY_RETRIEVED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹಿಂಪಡೆಯಲಾಗಿದೆ\",\r\n DATA_IS_SUCCESSFULLY_DELETED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಉಳಿಸಲಾಗಿದೆ\",\r\n DATA_IS_SUCCESSFULLY_UPDATED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n RECORD_IS_ALREADY_EXISTS: \"ದಾಖಲೆ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ\",\r\n INTERNAL_SERVER_ERROR: \"ಆಂತರಿಕ ಸರ್ವರ್ ದೋಷ\",\r\n DATA_IS_SUCCESSFULLY_UPLOADED: \"ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ\",\r\n DISCOUNT_IS_SUCCESSFULLY_BLOCKED:\r\n \"ರಿಯಾಯಿತಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ\",\r\n DISCOUNT_IS_SUCCESSFULLY_AUTHORIZED:\r\n \"ರಿಯಾಯಿತಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಧಿಕೃತಗೊಳಿಸಲಾಗಿದೆ\",\r\n DISCOUNT_IS_SUCCESSFULLY_GENERATED: \"ರಿಯಾಯಿತಿ ಯಶಸ್ವಿಯಾಗಿ ಉತ್ಪತ್ತಿಯಾಗುತ್ತದೆ\",\r\n OTP_HAS_BEEN_SUCCESSFULLY_RE_SENT: \"ಒಟಿಪಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರು ಕಳುಹಿಸಲಾಗಿದೆ\",\r\n PICKUP_IS_SUCCESSFULLY_RESCHEDULED:\r\n \"ಪಿಕಪ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರುಹೊಂದಿಸಲಾಗಿದೆ\",\r\n PICKUP_IS_SUCCESSFULLY_SCHEDULED: \"ಪಿಕಪ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ\",\r\n PICKUP_IS_SUCCESSFULLY_CANCELLED: \"ಪಿಕಪ್ ಯಶಸ್ವಿಯಾಗಿ ರದ್ದುಗೊಂಡಿದೆ\",\r\n PICKUP_IS_SUCCESSFULLY_REASSIGNED:\r\n \"ಪಿಕಪ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರು ನಿಯೋಜಿಸಲಾಗಿದೆ\",\r\n ERROR_WHILE_SENDING_CALL_BACK_REQUEST_NOTIFICATION:\r\n \"ಕಾಲ್ ಬ್ಯಾಕ್ ವಿನಂತಿ ಅಧಿಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುವಾಗ ದೋಷ\",\r\n ORDER_IS_SUCCESSFULLY_CANCELLED: \"ಆದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರದ್ದುಪಡಿಸಲಾಗಿದೆ\",\r\n ORDER_IS_SUCCESSFULLY_CREATED_PLEASE_CONFIRM_ORDER_TO_PROCEED_FURTHER:\r\n \"ಆದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ ದಯವಿಟ್ಟು ಮುಂದೆ ಮುಂದುವರಿಯಲು ಆದೇಶವನ್ನು ದೃ irm ೀಕರಿಸಿ\",\r\n ORDER_IS_SUCCESSFULLY_UPDATED: \"ಆದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n GENERATE_TAGS_FOR_ORDER_SUCCESSFULLY:\r\n \"ಆದೇಶಕ್ಕಾಗಿ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಿ\",\r\n GETEPASS_IS_SUCCESSFULLY_GENERATED: \"ಗೆಟ್‌ಪಾಸ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ\",\r\n PROMOCODE_VALIDATED_SUCCESSFULLY:\r\n \"ಪ್ರೋಮೋಕೋಡ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮೌಲ್ಯೀಕರಿಸಲಾಗಿದೆ\",\r\n INVALID_PROMOCODE: \"ಅಮಾನ್ಯ ಪ್ರೋಮೋಕೋಡ್\",\r\n DELIVERY_IS_SUCCESSFULLY_REASSIGNED:\r\n \"ವಿತರಣೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರು ನಿಯೋಜಿಸಲಾಗಿದೆ\",\r\n AMOUNT_SUCCESSFULLY_BLOCKED: \"ಮೊತ್ತವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ\",\r\n USER_IS_VALID: \"ಬಳಕೆದಾರ ಮಾನ್ಯವಾಗಿದೆ\",\r\n USER_IS_INVALID: \"ಬಳಕೆದಾರ ಅಮಾನ್ಯವಾಗಿದೆ\",\r\n ALREADY_IN_USED: \"ಈಗಾಗಲೇ ಬಳಕೆಯಲ್ಲಿದೆ\",\r\n PDF_FILE_IS_GENERATED_SUCCESSFULLY:\r\n \"ಪಿಡಿಎಫ್ ಫೈಲ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ\",\r\n OLD_PASSWORD_DOES_NOT_MATCH: \"ಹಳೆಯ ಪಾಸ್‌ವರ್ಡ್ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ\",\r\n NOTIFICATION_HAS_BEEN_SENT_SUCCESSFULLY:\r\n \"ಅಧಿಸೂಚನೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಕಳುಹಿಸಲಾಗಿದೆ\",\r\n ERROR_WHILE_SENDING_NOTIFICATION: \"ಅಧಿಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುವಾಗ ದೋಷ\",\r\n NOTIFICATION_IS_SUCCESSFULLY_DISMISS:\r\n \"ಅಧಿಸೂಚನೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ವಜಾಗೊಳಿಸಲಾಗಿದೆ\",\r\n THERE_WAS_AN_INTERNAL_ERROR_PLEASE_CONTACT_TO_TECHNICAL_SUPPORT:\r\n \"ಆಂತರಿಕ ದೋಷ ಕಂಡುಬಂದಿದೆ ದಯವಿಟ್ಟು ತಾಂತ್ರಿಕ ಬೆಂಬಲವನ್ನು ಸಂಪರ್ಕಿಸಿ\",\r\n EMAIL_SENT_SUCCESSFULLY: \"ಇಮೇಲ್ ಯಶಸ್ವಿಯಾಗಿ ಕಳುಹಿಸಲಾಗಿದೆ!\",\r\n TAGS_NOT_FOUND: \"ಟ್ಯಾಗ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_STORE_DATA:\r\n \"ಅಂಗಡಿ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_MISSING_TAG_DATA:\r\n \"ಕಾಣೆಯಾದ ಟ್ಯಾಗ್ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG:\r\n \"ಟ್ಯಾಗ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಮೊದಲು ದಯವಿಟ್ಟು ಅಂಗಡಿ ಆಯ್ಕೆಮಾಡಿ\",\r\n PLEASE_ENTER_THE_TAG_TO_SCAN:\r\n \"ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ದಯವಿಟ್ಟು ಟ್ಯಾಗ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n TAG_ALREADY_SCANNED: \"ಟ್ಯಾಗ್ ಅನ್ನು ಈಗಾಗಲೇ ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗಿದೆ\",\r\n PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS:\r\n \"ವರ್ಗಾವಣೆ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ಫ್ಯಾಕ್ಟರಿ ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ ಆಯ್ಕೆಮಾಡಿ\",\r\n UNABLE_TO_SCAN_THE_TAG: \"ಟ್ಯಾಗ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY:\r\n \"ಟ್ಯಾಗ್‌ಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ\",\r\n GENERATING_GATE_PASS: \"ಗೇಟ್ ಪಾಸ್ ಉತ್ಪಾದಿಸಲಾಗುತ್ತಿದೆ\",\r\n PLEASE_SELECT_STICKERS: \"ದಯವಿಟ್ಟು ಸ್ಟಿಕ್ಕರ್‌ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT:\r\n \"ವರ್ಗಾವಣೆ ಮಾಡಲು ಸ್ಟಿಕ್ಕರ್‌ಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n INFO: \"ಮಾಹಿತಿ\",\r\n ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS:\r\n \"ನಮೂದಿಸಿದ ಸಂಖ್ಯೆ ಚಿಕ್ಕದಾಗಿರಬೇಕು ನಂತರ ಬಾಕಿ ಉಳಿದಿರುವ ಉಡುಪುಗಳಿಲ್ಲ\",\r\n PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"ಪ್ಯಾಕ್ ಮಾಡಲು ಕನಿಷ್ಠ ಒಂದು ಬಾಕಿ ಇರುವ ಉಡುಪುಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ\",\r\n STICKER_SUCCESSFULLY_GENERATED: \"ಸ್ಟಿಕ್ಕರ್ ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_GET_STICKERID: \"ಸ್ಟಿಕ್ಕರ್ ಐಡಿ ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n GARMENT_ALREADY_PACKED:\r\n \"ಈ ಆದೇಶದ ಕೆಲವು ಉಡುಪುಗಳನ್ನು ಈಗಾಗಲೇ ಪ್ಯಾಕ್ ಮಾಡಲಾಗಿದೆ, ದಯವಿಟ್ಟು ರಿಫ್ರೆಶ್ ಮಾಡಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ\",\r\n REDIRECTING: \"ಮರುನಿರ್ದೇಶಿಸಲಾಗುತ್ತಿದೆ\",\r\n SUCCESS: \"ಯಶಸ್ಸು\",\r\n FAIL: \"ಅನುತ್ತೀರ್ಣ\",\r\n WALLET_BALANCE: \"ವಾಲೆಟ್ ಬ್ಯಾಲೆನ್ಸ್\",\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"1 ರಿಂದ 9 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಅಂಕೆಗಳನ್ನು ಮಾತ್ರ ನಮೂದಿಸಿ\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"ದಯವಿಟ್ಟು ವರ್ಣಮಾಲೆಗಳನ್ನು ಮಾತ್ರ ನಮೂದಿಸಿ\",\r\n MISSING_TAG_NOS: \"ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ ಕಾಣೆಯಾಗಿದೆ\",\r\n UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY:\r\n \"ವಿತರಣೆಯಿಂದಾಗಿ ಆದೇಶಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_PENDING_PICKUPS:\r\n \"ಬಾಕಿ ಉಳಿದಿರುವ ಪಿಕಪ್‌ಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"ಕಾರ್ಖಾನೆಗೆ ವರ್ಗಾಯಿಸಲು ಬಾಕಿ ಇರುವ ಆದೇಶಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA_FOR_DASHBOARD:\r\n \"ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA_FOR_TIMESLOT:\r\n \"ಟೈಮ್‌ಸ್ಲಾಟ್‌ಗಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER:\r\n \"ವಿತರಣೆಯನ್ನು ಈಗಾಗಲೇ ಮತ್ತಷ್ಟು ಮುಂದುವರಿಸಿರುವ ಕಾರಣ ಅದನ್ನು ಮರುಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n DELIVERY_REASSIGNED_SUCCESSFULLY:\r\n \"ವಿತರಣೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರು ನಿಯೋಜಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_REASSIGN_DELIVERY_REQUEST:\r\n \"ವಿತರಣಾ ವಿನಂತಿಯನ್ನು ಮರುಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED:\r\n \"ವಿತರಣಾ ಸ್ಥಿತಿ ವಿತರಣಾ ನಿಗದಿತ ಅಥವಾ ನಿಯೋಜಿತವಾಗಿರಬೇಕು\",\r\n DELIVERY_RESCHEDULED_SUCCESSFULLY:\r\n \"ವಿತರಣೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST:\r\n \"ವಿತರಣಾ ವಿನಂತಿಯನ್ನು ಮರುಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n REQUEST_CANCELLED_SUCCESSFULLY: \"ವಿನಂತಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_CANCEL_DELIVERY_REQUEST:\r\n \"ವಿತರಣಾ ವಿನಂತಿಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA:\r\n \"ವಿತರಣಾ ಪಟ್ಟಿ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n EXPENSE_DELETED_SUCCESSFULLY: \"ವೆಚ್ಚವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_DELETE_EXPENSE: \"ವೆಚ್ಚವನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n EXPENSE_ADDED_SUCCESSFULLY: \"ವೆಚ್ಚವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸೇರಿಸಲಾಗಿದೆ\",\r\n EXPENSE_UPDATED_SUCCESSFULLY: \"ವೆಚ್ಚವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_SUBMIT_DATA: \"ಡೇಟಾವನ್ನು ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_EXPENSES: \"ವೆಚ್ಚಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA:\r\n \"ಗೇಟ್ ಪಾಸ್ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA:\r\n \"ಅಂಗಡಿ ಉಡುಪುಗಳ ದಾಸ್ತಾನು ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_SPLIT_ORDER_DETAILS:\r\n \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ವಿವರಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n INVOICE_GENERATED_SUCCESSFULLY: \"ಸರಕುಪಟ್ಟಿ ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_GENERATE_INVOICE: \"ಸರಕುಪಟ್ಟಿ ರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n INVOICE_DATA_SUBMITTED_SUCCESSFULLY:\r\n \"ಸರಕುಪಟ್ಟಿ ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸಲ್ಲಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_SUBMIT_INVOICE_DATA: \"ಸರಕುಪಟ್ಟಿ ಡೇಟಾವನ್ನು ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n INVOICE_SETTLED_SUCCESSFULLY: \"ಸರಕುಪಟ್ಟಿ ಯಶಸ್ವಿಯಾಗಿ ನೆಲೆಸಿದೆ\",\r\n UNABLE_TO_SETTLE_INVOICE: \"ಸರಕುಪಟ್ಟಿ ಇತ್ಯರ್ಥಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_ORDERS: \"ಆದೇಶಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_UOM_LIST: \"Uom ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GENERATE_ESTIMATED_ORDER: \"ಅಂದಾಜು ಆದೇಶವನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_SERVICES: \"ಸೇವೆಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_STORE_DATA: \"ಸ್ಟೋರ್ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_PICKUP_DATA: \"ಪಿಕಪ್ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n TAGS_GENERATED_SUCCESSFULLY: \"ಟ್ಯಾಗ್‌ಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_GENERATE_TAGS: \"ಟ್ಯಾಗ್‌ಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_ORDER_INFORMATION: \"ಆದೇಶ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_TIME_CARD: \"ಸಮಯ ಕಾರ್ಡ್ ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_ADD_ON_SERVICES:\r\n \"ಸೇವೆಗಳಲ್ಲಿ ಆಡ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_PACKAGING_CHARGES: \"ಪ್ಯಾಕೇಜಿಂಗ್ ಶುಲ್ಕವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DELIVERY_CHARGES: \"ವಿತರಣಾ ಶುಲ್ಕವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_GARMENTS: \"ಉಡುಪುಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_RATES: \"ದರಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ORDER_SUCCESSFULLY_CREATED: \"ಆದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_CREATE_THE_ORDER: \"ಆದೇಶವನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_ENTER_THE_PROMOCODE: \"ದಯವಿಟ್ಟು ಪ್ರೋಮೋಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n PROMOCODE_APPLIED_SUCCESSFULLY: \"ಪ್ರೋಮೋಕೋಡ್ ಯಶಸ್ವಿಯಾಗಿ ಅನ್ವಯಿಸಲಾಗಿದೆ\",\r\n PROMOCODE_IS_INVALID: \"ಪ್ರೋಮೋಕೋಡ್ ಅಮಾನ್ಯವಾಗಿದೆ\",\r\n UNABLE_TO_VALIDATE_PROMOCODE: \"ಪ್ರೊಮೊಕೋಡ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ORDER_SUCCESSFULLY_UPDATED: \"ಆದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_UPDATE_THE_ORDER: \"ಆದೇಶವನ್ನು ನವೀಕರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ORDER_SUCCESSFULLY_CANCELLED: \"ಆದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರದ್ದುಪಡಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_CANCEL_ORDER: \"ಆದೇಶವನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_PICKUP_DATA:\r\n \"ಪಿಕಪ್ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_USER_DATA:\r\n \"ಬಳಕೆದಾರ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_REASSIGN_THE_PICKUP: \"ಪಿಕಪ್ ಅನ್ನು ಮರು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA_FOR_HISTORY: \"ಇತಿಹಾಸಕ್ಕಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES:\r\n \"ವಿತರಣಾ ಪ್ರಕಾರಗಳಿಗಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS:\r\n \"ಪಿಕಪ್ ಸ್ಥಿತಿಗಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA:\r\n \"ಕಾರ್ಯಾಚರಣೆಯ ಸೂಚನಾ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_SERVICES_DATA: \"ಸೇವೆಗಳ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_REASONS_DATA:\r\n \"ಕಾರಣಗಳ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA_FOR_CUSTOMER: \"ಗ್ರಾಹಕರಿಗಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_CUSTOMER_ADDRESSES: \"ಗ್ರಾಹಕರ ವಿಳಾಸಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_DATA: \"ಡೇಟಾ ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE:\r\n \"ದಯವಿಟ್ಟು ಗ್ರಾಹಕ ಹೆಸರು / ವಿಳಾಸ / ಸೇವೆಗಳು / ಪ್ರೋಮೋಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ\",\r\n PICKUP_IS_UPDATED: \"ಪಿಕಪ್ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n PICKUP_IS_SCHEDULED: \"ಪಿಕಪ್ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ\",\r\n PICKUP_IS_RESCHEDULED_SUCCESSFULLY:\r\n \"ಪಿಕಪ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರುಹೊಂದಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_RESCHEDULE_THE_PICKUP: \"ಪಿಕಪ್ ಅನ್ನು ಮರುಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PICKUP_IS_CANCELLED_SUCCESSFULLY: \"ಪಿಕಪ್ ಯಶಸ್ವಿಯಾಗಿ ರದ್ದುಗೊಂಡಿದೆ\",\r\n UNABLE_TO_CANCEL_PICKUP: \"ಪಿಕಪ್ ರದ್ದು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_PRE_QC_RESPONSE_LIST:\r\n \"ಪೂರ್ವ-ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n QC_RESPONSE_SUBMITTED_SUCCESSFULLY:\r\n \"ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆ ಯಶಸ್ವಿಯಾಗಿ ಸಲ್ಲಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_SUBMIT_QC_RESPONSE: \"ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆ ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA:\r\n \"ವಿತರಣೆ / ಸರಕುಪಟ್ಟಿ ಡೇಟಾಗೆ ಸಿದ್ಧವಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_SUBMIT_STICKER_DATA: \"ಸ್ಟಿಕ್ಕರ್ ಡೇಟಾವನ್ನು ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_STICKER_DATA: \"ಸ್ಟಿಕ್ಕರ್ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_ENTER_STICKER_ID: \"ದಯವಿಟ್ಟು ಸ್ಟಿಕ್ಕರ್ ಐಡಿ ನಮೂದಿಸಿ\",\r\n UNABLE_TO_GET_LIST_OF_SERVICE_DATA:\r\n \"ಸೇವಾ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_SPLIT_ORDER_NUMBERS:\r\n \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸಂಖ್ಯೆಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_FACTORY_DATA:\r\n \"ಫ್ಯಾಕ್ಟರಿ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n HAS_BEEN_GENERATED: \"ಗೇಟ್ ಪಾಸ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_GET_LIST_OF_STICKER_DATA:\r\n \"ಸ್ಟಿಕ್ಕರ್ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA:\r\n \"ಪ್ಯಾಕೇಜ್ ಕಾನ್ಫಿಗರೇಶನ್ ಡೇಟಾದ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_SELECT_ATLEAST_ONE_ROW: \"ದಯವಿಟ್ಟು ಕನಿಷ್ಠ ಒಂದು ಸಾಲು ಆಯ್ಕೆಮಾಡಿ\",\r\n UNABLE_TO_LOAD_REWASH_REASONS: \"ರಿವಾಶ್ ಕಾರಣಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST:\r\n \"ಪಟ್ಟಿಯಿಂದ ವಿನಂತಿಸಿದ ರಿವಾಶ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS:\r\n \"ಕಾರ್ಯಾಚರಣೆ ಸೂಚನೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_BRANDS: \"ಬ್ರ್ಯಾಂಡ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_SIZES: \"ಗಾತ್ರಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n UNABLE_TO_LOAD_COLORS: \"ಬಣ್ಣಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n WALLET_BALANCE: \"ವಾಲೆಟ್ ಬ್ಯಾಲೆನ್ಸ್\",\r\n INVALID: \"ಅಮಾನ್ಯವಾಗಿದೆ\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK: \"SplitOrderNumber ಖಾಲಿಯಾಗಿರಬಾರದು\",\r\n VALID: \"ಮಾನ್ಯ\",\r\n ADJUSTMENTAMOUNT_SHOULD_BE_BETWEEN_0_AND_10:\r\n \"ಹೊಂದಾಣಿಕೆ ಮೊತ್ತವು 0 ಮತ್ತು 10 ರ ನಡುವೆ ಇರಬೇಕು\",\r\n SERVICE_RATE_NOT_AVAILABLE: \"ಸೇವಾ ದರ ಲಭ್ಯವಿಲ್ಲ\",\r\n ADDON_SERVICE_RATE_NOT_AVAILABLE: \"ಆಡ್-ಆನ್ ಸೇವಾ ದರ ಲಭ್ಯವಿಲ್ಲ\",\r\n SCAN_GARMENT: \"ಉಡುಪನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ\",\r\n CLEAR: \"ಸ್ಪಷ್ಟ\",\r\n SCAN_TAG: \"ಟ್ಯಾಗ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ\",\r\n PLEASE_SCAN_TAG: \"ದಯವಿಟ್ಟು ಟ್ಯಾಗ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ\",\r\n READY_FOR_TRANSFER_OUT: \"ವರ್ಗಾವಣೆಗೆ ಸಿದ್ಧವಾಗಿದೆ\",\r\n SCANNED_GARMENT_LIST: \"ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ ಉಡುಪು ಪಟ್ಟಿ\",\r\n THIS_STICKER_BELONGS_TO_ANOTHER_STORE:\r\n \"ಈ ಸ್ಟಿಕ್ಕರ್ ಮತ್ತೊಂದು ಅಂಗಡಿಗೆ ಸೇರಿದೆ\",\r\n PLEASE_ENTER_VALID_STICKER_NUMBER:\r\n \"ದಯವಿಟ್ಟು ಮಾನ್ಯ ಸ್ಟಿಕ್ಕರ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ\",\r\n ALL: \"ಎಲ್ಲಾ\",\r\n THIS_TAG_ALREADY_EXISTS: \"ಈ ಟ್ಯಾಗ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ\",\r\n PREVIOUSLY_PACKE_ON: \"ಹಿಂದೆ ಪ್ಯಾಕ್ ಮಾಡಲಾಗಿದೆ\",\r\n CASH_COLLECTION: \"ನಗದು ಸಂಗ್ರಹ\",\r\n ALREADY_EXISTS: \"ಈಗಾಗಲೇ ಇದೆ\",\r\n USER_PUNCHIN_NOT_FOUND: \"ಬಳಕೆದಾರ ಪಂಚಿನ್ ಕಂಡುಬಂದಿಲ್ಲ\",\r\n IT_IS_ALREADY_BLOCKED: \"ಇದನ್ನು ಈಗಾಗಲೇ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ\",\r\n AUTHORIZED: \"ಅಧಿಕೃತ\",\r\n BLOCKED: \"ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ\",\r\n INVALID_OTP: \"ಅಮಾನ್ಯ ಒಟಿಪಿ\",\r\n PLEASE_CHECK_THE_PROVIDED_BANNERID:\r\n \"ದಯವಿಟ್ಟು ಒದಗಿಸಿದ ಬ್ಯಾನರ್ ಐಡಿ ಪರಿಶೀಲಿಸಿ\",\r\n ALREADY_IN_USE: \"ಈಗಾಗಲೇ ಬಳಕೆಯಲ್ಲಿದೆ\",\r\n ALREADY_EXISTS: \"ಈಗಾಗಲೇ ಇದೆ\",\r\n DATE_OVERLAPPING: \"ದಿನಾಂಕ ಅತಿಕ್ರಮಣ\",\r\n REFERRAL_CODE_DOES_NOT_EXISTS: \"ರೆಫರಲ್ ಕೋಡ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ\",\r\n REFERRAL_CODE_IS_ALREADY_USED: \"ರೆಫರಲ್ ಕೋಡ್ ಅನ್ನು ಈಗಾಗಲೇ ಬಳಸಲಾಗುತ್ತದೆ\",\r\n USER_NAME_IS_INVALID: \"ಬಳಕೆದಾರರ ಹೆಸರು ಅಮಾನ್ಯವಾಗಿದೆ\",\r\n PASSWORD_IS_INVALID: \"ಪಾಸ್ವರ್ಡ್ ಅಮಾನ್ಯವಾಗಿದೆ\",\r\n USER_NAME_AND_PASSWORD_DOES_NOT_MATCH:\r\n \"ಬಳಕೆದಾರರ ಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ\",\r\n USER_IS_NOT_EXISTS: \"ಬಳಕೆದಾರ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ\",\r\n SPLIT_ORDER_NUMBER_IS_REQUIRED: \"ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸಂಖ್ಯೆ ಅಗತ್ಯವಿದೆ\",\r\n INVALID_SPLIT_ORDER_NUMBER: \"ಅಮಾನ್ಯ ಸ್ಪ್ಲಿಟ್ ಆರ್ಡರ್ ಸಂಖ್ಯೆ\",\r\n IT_IS_ALREADY_INACTIVATED: \"ಇದು ಈಗಾಗಲೇ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ\",\r\n COUPON_CODE_NOT_EXISTS: \"ಕೂಪನ್ ಕೋಡ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ\",\r\n CASH_COUPON_EXPIRED: \"ನಗದು ಕೂಪನ್ ಅವಧಿ ಮೀರಿದೆ\",\r\n IT_IS_APPLICABLE_FOR_ONLY_FIRST_TIME_USERS:\r\n \"ಇದು ಮೊದಲ ಬಾರಿಗೆ ಬಳಕೆದಾರರಿಗೆ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ\",\r\n YOU_HAVE_ALREADY_USED_THIS_COUPON: \"ನೀವು ಈಗಾಗಲೇ ಈ ಕೂಪನ್ ಅನ್ನು ಬಳಸಿದ್ದೀರಿ\",\r\n INVALID_COUPON: \"ಅಮಾನ್ಯ ಕೂಪನ್\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK: \"SplitOrderNumber ಖಾಲಿಯಾಗಿರಬಾರದು\",\r\n THIS_PICKUP_IS_ALREADY_IN_PROGRESS: \"ಈ ಪಿಕಪ್ ಈಗಾಗಲೇ ಪ್ರಗತಿಯಲ್ಲಿದೆ\",\r\n YOU_HAVE_ALREADY_RESCHEDULED_THIS_PICKUP_3_TIMES:\r\n \"ನೀವು ಈಗಾಗಲೇ ಈ ಪಿಕಪ್ ಅನ್ನು 3 ಬಾರಿ ಮರು ನಿಗದಿಪಡಿಸಿದ್ದೀರಿ\",\r\n PLEASE_CHECK_WITH_DELIVERYID: \"ದಯವಿಟ್ಟು DeliveryID ನೊಂದಿಗೆ ಪರಿಶೀಲಿಸಿ\",\r\n PLEASE_ASSIGN_IT_TO_SOMEONE_FIRST:\r\n \"ದಯವಿಟ್ಟು ಅದನ್ನು ಮೊದಲು ಯಾರಿಗಾದರೂ ನಿಯೋಜಿಸಿ\",\r\n CANNOT_REASSIGN_DELIVERY_AS_ALREADY_PROCEED_FURTHER:\r\n \"ಈಗಾಗಲೇ ಮುಂದುವರೆದಂತೆ ವಿತರಣೆಯನ್ನು ಮರುಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n PLEASE_CHECK_WITH_STATUS: \"ದಯವಿಟ್ಟು ಸ್ಥಿತಿಯೊಂದಿಗೆ ಪರಿಶೀಲಿಸಿ\",\r\n STICKER_ID: \"ಸ್ಟಿಕ್ಕರ್ ಐಡಿ\",\r\n PACKED_On: \"ಪ್ಯಾಕ್ ಮಾಡಲಾಗಿದೆ\",\r\n PACKING_IDS: \"ಪ್ಯಾಕಿಂಗ್ ಐಡಿಎಸ್\",\r\n RESORTING_AND_PACKAGING: \"ರೆಸಾರ್ಟಿಂಗ್ ಮತ್ತು ಪ್ಯಾಕೇಜಿಂಗ್\",\r\n RESORTING_AND_PACKAGING_List: \"ರೆಸಾರ್ಟಿಂಗ್ ಮತ್ತು ಪ್ಯಾಕೇಜಿಂಗ್ ಪಟ್ಟಿ\",\r\n PADING_QC_RESPONSE: \"ಪೂರ್ವ-ಕ್ಯೂಸಿ ಪ್ರತಿಕ್ರಿಯೆ ಎಣಿಕೆ ಬಾಕಿ ಉಳಿದಿದೆ\",\r\n LANGUAGE: \"ಭಾಷೆ\",\r\n CHANGE_PASSWORD: \"ಗುಪ್ತಪದವನ್ನು ಬದಲಿಸಿ\",\r\n LOGOUT: \"ಲಾಗ್ ಔಟ್\",\r\n TAG_NUMBER_NOT_FOUND: \"ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ ಕಂಡುಬಂದಿಲ್ಲ\",\r\n TAG_NO: \"ಟ್ಯಾಗ್ ಸಂಖ್ಯೆ\",\r\n YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE:\r\n \"ನೀವು ಜೆಪಿಜಿ / ಪಿಎನ್‌ಜಿ / ಜೆಪಿಇಜಿ ಫೈಲ್ ಅನ್ನು ಮಾತ್ರ ಅಪ್‌ಲೋಡ್ ಮಾಡಬಹುದು\",\r\n IMAGE_MUST_BE_SMALLER_THAN_5_MB: \"ಚಿತ್ರವು 5 MB ಗಿಂತ ಚಿಕ್ಕದಾಗಿರಬೇಕು\",\r\n GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC:\r\n \"ಕ್ಯೂಸಿಗೆ ಸೇರಿಸಲು ಗಾರ್ಮೆಂಟ್ ಕಾರ್ಖಾನೆಯಲ್ಲಿರಬೇಕು\",\r\n ORDER_ALREADY_CONFIRMED: \"ಆದೇಶವನ್ನು ಈಗಾಗಲೇ ದೃ .ಪಡಿಸಲಾಗಿದೆ\",\r\n PENDING_PAYMENT: \"ಪಾವತಿ ಬಾಕಿ ಉಳಿದಿದೆ\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_SERVICES_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"ಕೆಲವು ಸೇವೆಗಳು ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ಎಂದು ತೋರುತ್ತಿದೆ. ದಯವಿಟ್ಟು ಸೇವಾ ಮಾಸ್ಟರ್ ಪರದೆಯಲ್ಲಿ ವಿವರಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_GARMENTS_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"ಕೆಲವು ಉಡುಪುಗಳು ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ಎಂದು ತೋರುತ್ತದೆ. ದಯವಿಟ್ಟು ಗಾರ್ಮೆಂಟ್ ಮಾಸ್ಟರ್ ಪರದೆಯಲ್ಲಿ ವಿವರಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ\",\r\n SERVICE_TAX_DETAIL_IS_MISSING_IN_SECOND_SHEET:\r\n \"ಎರಡನೇ ಹಾಳೆಯಲ್ಲಿ ಸೇವಾ ತೆರಿಗೆ ವಿವರ ಕಾಣೆಯಾಗಿದೆ\",\r\n PLATFORM: \"ಪಾವತಿ ಬಾಕಿ ಉಳಿದಿದೆ\",\r\n ORDER_COUNT: \"ವೇದಿಕೆ\",\r\n PROMO_CODE: \"ಪ್ರೋಮೊ ಕೋಡ್\",\r\n PICK_BOY: \"ಪಿಕಪ್ ಬಾಯ್\",\r\n CUST_MO_No: \"ಗ್ರಾಹಕ ಮೊಬೈಲ್ ಸಂಖ್ಯೆ\",\r\n SERVICE_ICONS: \"ಸೇವಾ ಚಿಹ್ನೆಗಳು\",\r\n REQUEST_CREATED_DATE: \"ವಿನಂತಿಯನ್ನು ರಚಿಸಿದ ದಿನಾಂಕ ಮತ್ತು ಸಮಯ\",\r\n PICKUP_REQUEST_DATE: \"ಪಿಕಪ್ ವಿನಂತಿಸಿದ ದಿನಾಂಕ ಮತ್ತು ಸ್ಲಾಟ್\",\r\n ORDER_CREATED_DATE: \"ಆದೇಶ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ರಚಿಸಲಾಗಿದೆ\",\r\n REPRINT_TAX_INVOICE: \"ತೆರಿಗೆ ಸರಕುಪಟ್ಟಿ ಮರುಮುದ್ರಣ ಮಾಡಿ\",\r\n SEMI_EXPRESS_RATE: \"(ಸೆಮಿ ಎಕ್ಸ್‌ಪ್ರೆಸ್ - 1.5x)\",\r\n EXPRESS_RATE: \"(ಎಕ್ಸ್‌ಪ್ರೆಸ್ - 2x)\",\r\n TOTAL_STICKERS: \"ಒಟ್ಟು ಸ್ಟಿಕ್ಕರ್‌ಗಳು\",\r\n DELIVERY_BOY: \"ಹಂಚಿಕೆ ಅಥವ ವಿತರಣೆ ಮಾಡುವ ಹುಡುಗ\",\r\n POST_QC: \"ಕ್ಯೂಸಿ ಪೋಸ್ಟ್ ಮಾಡಿ\",\r\n UNABLE_TO_GET_POST_QC_DATA: \"ಪೋಸ್ಟ್ ಕ್ಯೂಸಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS:\r\n \"ಪೋಸ್ಟ್ ಕ್ಯೂಸಿ ಪ್ರಕ್ರಿಯೆಗೆ ಗಾರ್ಮೆಂಟ್ ಮತ್ತಷ್ಟು ಮುಂದುವರಿಯಿತು\",\r\n POST_QC_STATUS: \"ಪೋಸ್ಟ್ ಕ್ಯೂಸಿ ಸ್ಥಿತಿ\",\r\n POST_QC_REMARK: \"ಪೋಸ್ಟ್ ಕ್ಯೂಸಿ ರಿಮಾರ್ಕ್\",\r\n POST_QC_DATETIME: \"ಕ್ಯೂಸಿ ಡೇಟ್‌ಟೈಮ್ ಪೋಸ್ಟ್ ಮಾಡಿ\",\r\n POSTED_BY: \"ಇವರಿಂದ ಪೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ\",\r\n ADD_GARMENT_FOR_POST_QC: \"ಪೋಸ್ಟ್ ಕ್ಯೂಸಿಗೆ ಗಾರ್ಮೆಂಟ್ ಸೇರಿಸಿ\",\r\n LATEST_POSTQC_DETAILS: \"ಇತ್ತೀಚಿನ ಪೋಸ್ಟ್‌ಕ್ಯೂಸಿ ವಿವರಗಳು\",\r\n PICKUP_TIMESLOT: \"ಪಿಕಪ್ ಟೈಮ್‌ಸ್ಲಾಟ್\",\r\n UNABLE_TO_GET_STORE_NAME: \"ಸ್ಟೋರ್ ನಾಮ್ ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n CANCEL_REASON_IS_REQUIRED: \"ರದ್ದುಮಾಡು ಕ್ಷೇತ್ರದ ಅಗತ್ಯವಿದೆ\",\r\n FACTORY_GATE_PASS: \"ಫ್ಯಾಕ್ಟರಿ ಗೇಟ್ ಪಾಸ್ ಪಟ್ಟಿ\",\r\n CUSTOMER_REMARK: \"ಗ್ರಾಹಕರ ಟಿಪ್ಪಣಿ\",\r\n STORE_OUT_DATE: \"ದಿನಾಂಕವನ್ನು ಸಂಗ್ರಹಿಸಿ\",\r\n LAST_UPDATED_ON: \"ಕೊನೆಯದಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n LAST_UPDATED_BY: \"ಕೊನೆಯದಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ\",\r\n FACTORY_IN_DATETIME: \"ಡೇಟ್‌ಟೈಮ್‌ನಲ್ಲಿ ಕಾರ್ಖಾನೆ\",\r\n GARMENTS_FACTORY_IN: \"ಗಾರ್ಮೆಂಟ್ಸ್ ಫ್ಯಾಕ್ಟರಿ ಇನ್\",\r\n GARMENTS_MISSING: \"ಗಾರ್ಮೆಂಟ್ಸ್ ಕಾಣೆಯಾಗಿದೆ\",\r\n BALANCED_GARMENTS: \"ಸಮತೋಲಿತ ಉಡುಪುಗಳು\",\r\n FACTORY_IN_DATE: \"ಫ್ಯಾಕ್ಟರಿ ದಿನಾಂಕ\",\r\n LOT_SIZE: \"ಸಾಕಷ್ಟು ಗಾತ್ರ\",\r\n STANDARD_RATE_CARD: \"ಸ್ಟ್ಯಾಂಡರ್ಡ್ ರೇಟ್ ಕಾರ್ಡ್\",\r\n ORDER_STATUS: \"ಆದೇಶ ಸ್ಥಿತಿ\",\r\n INVOICE_STATUS: \"ಸರಕುಪಟ್ಟಿ ಸ್ಥಿತಿ\",\r\n STOREINDATE: \"ದಿನಾಂಕದಂದು ಸಂಗ್ರಹಿಸಿ\",\r\n FACTORYOUTDATE: \"ಫ್ಯಾಕ್ಟರಿ ದಿನಾಂಕ\",\r\n PLEASE_SELECT_PAYMENT_MODE: \"ದಯವಿಟ್ಟು ಪಾವತಿ ಮೋಡ್ ಆಯ್ಕೆಮಾಡಿ\",\r\n SELECT_PACKING_MATERIAL:\r\n \"ನೀವು 99 ರವರೆಗೆ ಪ್ಯಾಕಿಂಗ್ ವಸ್ತುಗಳನ್ನು ಮಾತ್ರ ಆಯ್ಕೆ ಮಾಡಬಹುದು\",\r\n SOMETHING_WENT_WRONG: \"ಏನೋ ತಪ್ಪಾಗಿದೆ\",\r\n UNABLE_TO_GET_PAYMENT_METHOD_DATA:\r\n \"ಪಾವತಿ ವಿಧಾನದ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n ARE_YOU_SURE_YOU_WANT_TO_MARK_ORDER_AS_COMPLETED:\r\n \"ಆದೇಶವನ್ನು ಪೂರ್ಣಗೊಂಡಂತೆ ಗುರುತಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?\",\r\n ORDER_MARKED_AS_COMPLETED: \"ಆದೇಶ ಪೂರ್ಣಗೊಂಡಿದೆ ಎಂದು ಗುರುತಿಸಲಾಗಿದೆ\",\r\n UNABLE_TO_MARK_ORDER_AS_COMPLETED:\r\n \"ಪೂರ್ಣಗೊಂಡಂತೆ ಆದೇಶವನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ\",\r\n EDC_CONFIGURATION: \"ಇಡಿಸಿ ಸಾಧನವು ಈ ಅಂಗಡಿಯೊಂದಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ\",\r\n ALTER_PHONE_NUMBER: \"ಪರ್ಯಾಯ ದೂರವಾಣಿ ಸಂಖ್ಯೆ\",\r\n // ATTENDANCE: \"ಹಾಜರಾತಿ\",\r\n // ATTENDANCE_REPORT: \"ಹಾಜರಾತಿ ವರದಿ\",\r\n // OTHER_TYPE: \"ಇತರೆ ಪ್ರಕಾರ\",\r\n // PLEASE_ENTER_OTHER_TYPE: \"ದಯವಿಟ್ಟು ಇತರ ಪ್ರಕಾರವನ್ನು ನಮೂದಿಸಿ\",\r\n // ENTER_OTHER_TYPE: \"ಇತರೆ ಪ್ರಕಾರವನ್ನು ನಮೂದಿಸಿ\",\r\n },\r\n TELUGU: {\r\n SELECT_SERVICE: \"సేవను ఎంచుకోండి\",\r\n SELECT_FACTORY: \"ఫ్యాక్టరీని ఎంచుకోండి\",\r\n SPLIT_ORDER: \"స్ప్లిట్ ఆర్డర్\",\r\n CUSTOMER_NAME: \"వినియోగదారుని పేరు\",\r\n ORDER_DATE: \"ఆర్డర్ తేదీ\",\r\n TOTAL_GARMENTS: \"మొత్తం వస్త్రాలు\",\r\n SPLIT_ORDER_NUMBER: \"స్ప్లిట్ ఆర్డర్ సంఖ్య\",\r\n TAG_NUMBER: \"ట్యాగ్ సంఖ్య\",\r\n GARMENT_NAME: \"వస్త్ర పేరు\",\r\n ADD_ON_SERVICES: \"యాడ్-ఆన్ సేవలు\",\r\n GENERATE_GATE_PASS: \"గేట్ పాస్ సృష్టించండి\",\r\n GATE_PASS_NUMBER: \"గేట్ పాస్ సంఖ్య\",\r\n STORE_NAME: \"స్టోర్ పేరు\",\r\n FACTORY_NAME: \"ఫ్యాక్టరీ పేరు\",\r\n STORE_GARMENTS_OUT: \"గార్మెంట్స్ స్టోర్\",\r\n TOTAL_SPLIT_NUMBER: \"మొత్తం స్ప్లిట్ సంఖ్య\",\r\n GATE_PASS_DATE: \"గేట్ పాస్ తేదీ\",\r\n STIKER_NUMBER: \"స్టిక్కర్ సంఖ్య\",\r\n PLEASESCAN_ADD_STICKER: \"దయచేసి స్టిక్కర్‌ను స్కాన్ చేయండి / జోడించండి\",\r\n ENTER_SCAN_STICKER: \"స్టిక్కర్‌ను నమోదు చేయండి / స్కాన్ చేయండి\",\r\n CUSTOMER_CONTACT: \"కస్టమర్ పరిచయం\",\r\n DELIVERY_TYPE: \"డెలివరీ రకం\",\r\n SPLIT_ORDER_NO: \"స్ప్లిట్ ఆర్డర్ నం\",\r\n GATE_PASS_NO: \"గేట్ పాస్ నం\",\r\n DELIVERY_DATE: \"డెలివరీ తేదీ\",\r\n GARMENTS_IN_PROCESS: \"వస్త్రాలు ప్రక్రియలో ఉన్నాయి\",\r\n PACKED_GARMENTS: \"ప్యాక్ చేసిన వస్త్రాలు\",\r\n PACKING_MATERIAL: \"ప్యాకింగ్ పదార్థం\",\r\n STICKER_STATUS: \"స్టిక్కర్ స్థితి\",\r\n SPLIT_ORDER_STATUS: \"స్ప్లిట్ ఆర్డర్ స్థితి\",\r\n GARMENTS_PACKED_INFORMATION: \"గార్మెంట్స్ ప్యాక్ చేసిన సమాచారం\",\r\n USER_EXPENSE_ENTRY: \"వినియోగదారు ఖర్చు ఎంట్రీ\",\r\n USER_NAME: \"వినియోగదారు పేరు\",\r\n EXPENSE_DATE: \"ఖర్చు తేదీ\",\r\n AMOUNT: \"మొత్తం\",\r\n REMARKS: \"వ్యాఖ్యలు\",\r\n ARE_YOU_SURE: \"మీరు చెప్పేది నిజమా ?\",\r\n ADD_EXPENSE: \"ఖర్చు జోడించండి\",\r\n APPLY: \"వర్తించు\",\r\n SELECT_EXPENSE_TYPE: \"ఖర్చు రకాన్ని ఎంచుకోండి\",\r\n PLEASE_ENTER_AMOUNT: \"దయచేసి మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_AMOUNT: \"మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_REMARKS: \"వ్యాఖ్యలను నమోదు చేయండి\",\r\n GARMENTS_PENDING_TO_SEND_TO_FACTORY:\r\n \"ఫ్యాక్టరీకి పంపడానికి వస్త్రాలు పెండింగ్‌లో ఉన్నాయి\",\r\n ORDERS_PENDING_TO_SEND_TO_FACTORY:\r\n \"ఫ్యాక్టరీకి పంపాలని ఆదేశాలు పెండింగ్‌లో ఉన్నాయి\",\r\n SPILT_ORDERS_RECEIVED_FROM_FACTORY:\r\n \"ఫ్యాక్టరీ నుండి స్వీకరించబడిన చిందిన ఆదేశాలు\",\r\n PENDING_FOR_NO_OF_DAYS: \"నో డేస్ కోసం పెండింగ్‌లో ఉంది\",\r\n STORE_GARMENT_INVENTORY: \"గార్మెంట్ ఇన్వెంటరీని నిల్వ చేయండి\",\r\n GARMENTS_RECEIVED_FROM_FACTORY: \"ఫ్యాక్టరీ నుండి స్వీకరించిన వస్త్రాలు\",\r\n FACTORY_TRANSFER_IN: \"ఫ్యాక్టరీ బదిలీ-ఇన్\",\r\n SELECT_STORE: \"స్టోర్ ఎంచుకోండి\",\r\n GET_MISSING_GARMENTS: \"తప్పిపోయిన వస్త్రాలను పొందండి\",\r\n TAGS_FROM_STORES: \"దుకాణాల నుండి టాగ్లు\",\r\n SCANNING: \"స్కానింగ్\",\r\n TAGS_TO_THE_FACTORY: \"ఫ్యాక్టరీకి టాగ్లు\",\r\n MISSING_GARMENTS: \"వస్త్రాలు లేవు\",\r\n SCAN_COMPLETE: \"స్కాన్ పూర్తయింది\",\r\n SEARCH_HERE: \"ఇక్కడ శోధించండి\",\r\n RESORTING_AND_PACKAGING: \"రిసార్టింగ్ & ప్యాకేజింగ్\",\r\n ORDER_NUMBER: \"ఆర్డర్ సంఖ్య\",\r\n SRORE_NAME: \"Srore పేరు\",\r\n NO_OF_GARMENTS: \"వస్త్రాలు లేవు\",\r\n GARMENT_LEVEL_INFO: \"వస్త్ర స్థాయి సమాచారం\",\r\n SELECTED_PENDING_GARMENT: \"ఎంచుకున్న పెండింగ్ వస్త్రం\",\r\n PREVIOUSLY_GARMENTS_PACKED_IN: \"గతంలో వస్త్రాలు ప్యాక్ చేయబడ్డాయి\",\r\n PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"ప్యాక్ చేయాల్సిన వస్త్రాలు పెండింగ్‌లో ఉన్నాయి\",\r\n GENERATE_STICKER: \"స్టిక్కర్‌ను రూపొందించండి\",\r\n PRINT_GENERATE_STICKER: \"ప్రింట్ జనరేట్ స్టిక్కర్\",\r\n SR_NO: \"సీనియర్ నం\",\r\n GARMENTS_PACKED: \"వస్త్రాలు ప్యాక్ చేయబడ్డాయి\",\r\n PENDING_GARMENTS: \"పెండింగ్ వస్త్రాలు\",\r\n PACKING_GARMENTS: \"వస్త్రాలు ప్యాకింగ్\",\r\n FACTORY_TRANSFER_OUT: \"ఫ్యాక్టరీ బదిలీ\",\r\n FACTORY_GATE_PASS_NUMBER: \"ఫ్యాక్టరీ గేట్ పాస్ సంఖ్య:\",\r\n STORE_ADDRESS: \"స్టోర్ చిరునామా\",\r\n CREATED_BY: \"సృష్టికర్త\",\r\n S_NO: \"ఎస్. లేదు\",\r\n SPLIT_ORDER_ID: \"స్ప్లిట్ ఆర్డర్ ఐడి\",\r\n NUMBER_OF_GARMENTS: \"వస్త్రాల సంఖ్య\",\r\n PACKED: \"ప్యాక్ చేయబడింది\",\r\n ORDER_LOT_SIZE: \"లాట్ సైజును ఆర్డర్ చేయండి\",\r\n PREVIOUSLY_SENT: \"గతంలో పంపారు\",\r\n SENDING_TODAY: \"ఈ రోజు పంపుతోంది\",\r\n PENDING: \"పెండింగ్‌లో ఉంది\",\r\n BAG: \"బాగ్\",\r\n HANGER: \"హ్యాంగర్\",\r\n BLANKET: \"దుప్పటి\",\r\n SHOE: \"షూ\",\r\n CARPET: \"కార్పెట్\",\r\n BLAZER: \"బ్లేజర్\",\r\n OTHERS: \"ఇతరులు\",\r\n STICKER_NO: \"స్టిక్కర్ నం\",\r\n SPLLIT_ORDER_NO: \"స్ప్లిట్ ఆర్డర్ నం\",\r\n PACKING_MATERIAL_NAME: \"ప్యాకింగ్ మెటీరియల్ పేరు\",\r\n PRE_QC_RESPONSE_LIST: \"ప్రీ-క్యూసి ప్రతిస్పందన జాబితా\",\r\n SELECT_QC_STATUS: \"QC స్థితిని ఎంచుకోండి\",\r\n TAG: \"ట్యాగ్\",\r\n CONTACT: \"సంప్రదించండి\",\r\n QC_REQUEST: \"Qc అభ్యర్థన\",\r\n TIME: \"సమయం\",\r\n QC_REASON: \"QC కారణం\",\r\n REMARK: \"వ్యాఖ్య\",\r\n QC_PENDING_FROM: \"QC పెండింగ్ నుండి\",\r\n QC_STATUS: \"QC స్థితి\",\r\n ENTER_SCAN_TAG_NUMBER: \"ట్యాగ్ సంఖ్యను నమోదు చేయండి / స్కాన్ చేయండి\",\r\n GARMENT_HISTORY: \"వస్త్ర చరిత్ర\",\r\n GARMENT_INFORMATION: \"వస్త్ర సమాచారం\",\r\n GARMENT_STATUS: \"వస్త్ర స్థ���తి\",\r\n GATE_PASS: \"ప్రవేశ అనుమతి\",\r\n BRAND: \"బ్రాండ్\",\r\n COLOR: \"రంగు\",\r\n ADD_ON_SERVICE: \"సేవలో జోడించు\",\r\n SPECIAL_INSTRUCTION: \"ప్రత్యేక సూచన\",\r\n LATEST_QC_DETAILS: \"తాజా QC వివరాలు\",\r\n IMAGES: \"చిత్రాలు\",\r\n REASON: \"కారణం\",\r\n SELECT_REASON: \"కారణం ఎంచుకోండి\",\r\n COMMUNICATION_HISTORY: \"కమ్యూనికేషన్ చరిత్ర\",\r\n SELECT_SCAN_GARMENT: \"వస్త్రాన్ని ఎంచుకోండి / స్కాన్ చేయండి\",\r\n GARMENT_FOR_QC: \"క్యూసి కోసం వస్త్రాలు\",\r\n SCANNED_ITEM: \"స్కాన్ చేసిన అంశం\",\r\n ADDON_SERVICE: \"యాడ్ఆన్ సేవ\",\r\n CONTACT_NO: \"సంప్రదంచాల్సిన నెం\",\r\n STICKER_INFORMATION: \"స్టిక్కర్ సమాచారం\",\r\n DOWNLOAD_GATE_PASS: \"గేట్ పాస్ డౌన్లోడ్\",\r\n STORE_GATE_PASS_NUMBER: \"గేట్ పాస్ సంఖ్యను నిల్వ చేయండి\",\r\n FACTORY_ADDRESS: \"ఫ్యాక్టరీ చిరునామా\",\r\n PICKUP_DATE: \"తేదీ ఎంచుకొని\",\r\n REFFERAL_PROGRAM_NAME: \"రెఫరల్ ప్రోగ్రామ్ పేరు\",\r\n REFFERAL_BONUS_AMOUNT: \"రెఫరల్ బోనస్ మొత్తం\",\r\n REFEREE_BONUS_AMOUNT: \"రిఫరీ బోనస్ మొత్తం\",\r\n YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM:\r\n \"మీరు చివరిగా జోడించిన ప్రోగ్రామ్‌ను మాత్రమే నవీకరించగలరు\",\r\n UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA:\r\n \"రిఫరల్ బోనస్ కాన్ఫిగరేషన్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_SUBMIT_THE_DATA: \"డేటాను సమర్పించడం సాధ్యం కాలేదు\",\r\n ADD_REFFERAL_BONUS_CONFIGURATION: \"రెఫరల్ బోనస్ కాన్ఫిగరేషన్‌ను జోడించండి\",\r\n VIEW_REFFERAL_BONUS_CONFIGURATION: \"రెఫరల్ బోనస్ కాన్ఫిగరేషన్‌ను చూడండి\",\r\n EDIT_REFFERAL_BONUS_CONFIGURATION: \"రెఫరల్ బోనస్ కాన్ఫిగరేషన్‌ను సవరించండి\",\r\n PLEASE_ENTER_REFFERAL_PROGRAM_NAME:\r\n \"దయచేసి రెఫరల్ ప్రోగ్రామ్ పేరును నమోదు చేయండి\",\r\n ENTER_REFFERAL_PROGRAM_NAME: \"రెఫరల్ ప్రోగ్రామ్ పేరును నమోదు చేయండి\",\r\n PLEASE_ENTER_REFERRAL_BONUS_AMOUNT:\r\n \"దయచేసి రెఫరల్ బోనస్ మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_REFERRAL_BONUS_AMOUNT: \"రెఫరల్ బోనస్ మొత్తాన్ని నమోదు చేయండి\",\r\n PLEASE_ENTER_REFEREE_BONUS_AMOUNT:\r\n \"దయచేసి రిఫరీ బోనస్ మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_REFEREE_BONUS_AMOUNT: \"రిఫరీ బోనస్ మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"బోనస్ మొత్తం చెల్లుబాటు (రోజులు) నమోదు చేయండి\",\r\n ARE_YOU_SURE_YOU_WANT_TO_CREATE_THIS_PROGRAM_AS_PREVIOUS_PROGRAMS_WILL_GET_DEACTIVATED:\r\n \"మునుపటి ప్రోగ్రామ్‌లు నిష్క్రియం అవుతాయి కాబట్టి మీరు ఖచ్చితంగా ఈ ప్రోగ్రామ్‌ను సృష్టించాలనుకుంటున్నారా?\",\r\n FILE_NAME: \"ఫైల్ పేరు\",\r\n TOTAL_RECORDS: \"మొత్తం రికార్డులు\",\r\n SUCCEEDED: \"విజయవంతమైంది\",\r\n DOWNLOAD: \"డౌన్‌లోడ్\",\r\n FAILED: \"విఫలమైంది\",\r\n UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA:\r\n \"ఉద్యోగుల క్రెడిట్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_UPLOAD_THE_FILE: \"ఫైల్‌ను అప్‌లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n DOWNLOAD_FORMAT: \"ఫార్మాట్‌ను డౌన్‌లోడ్ చేయండి\",\r\n UPLOAD_FILE: \"ఫైల్‌ను అప్‌లోడ్ చేయండి\",\r\n ADD_EMPLOYEE_CREDITS: \"ఉద్యోగుల క్రెడిట్లను జోడించండి\",\r\n VIEW_EMPLOYEE_CREDITS: \"ఉద్యోగుల క్రెడిట్‌లను చూడండి\",\r\n EDIT_EMPLOYEE_CREDITS: \"ఉద్యోగుల క్రెడిట్‌లను సవరించండి\",\r\n UPLOAD_EMPLOYEE_CREDIT_CONFIGURATION_FILE:\r\n \"ఉద్యోగి క్రెడిట్ కాన్ఫిగరేషన్ ఫైల్‌ను అప్‌లోడ్ చేయండి\",\r\n PLEASE_SELECT_FILE: \"దయచేసి ఫైల్ను ఎంచుకోండి\",\r\n CLICK_TO_UPLOAD: \"అప్‌లోడ్ చేయడానికి క్లిక్ చేయండి\",\r\n UPLOAD: \"అప్‌లోడ్ చేయండి\",\r\n UNABLE_TO_LOAD_PACKAGES: \"ప్యాకేజీలను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMERS:\r\n \"వినియోగదారుల జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED:\r\n \"లావాదేవీ విజయవంతంగా ప్రాసెస్ చేయబడింది\",\r\n UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN:\r\n \"లావాదేవీని ప్రాసెస్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM:\r\n \"ప్రాసెస్ చేయడం సాధ్యం కాలేదు. దయచేసి సాంకేతిక బృందాన్ని సంప్రదించండి\",\r\n PACKAGE_PURCHASED_SUCCESSFULLY: \"ప్యాకేజీ విజయవంతంగా కొనుగోలు చేయబడింది\",\r\n UNABLE_TO_BUY_PACKAGE: \"ప్యాకేజీ కొనడం సాధ్యం కాలేదు\",\r\n BUY: \"కొనుగోలు\",\r\n PLEASE_SELECT_CUSTOMER: \"దయచేసి కస్టమర్‌ను ఎంచుకోండి\",\r\n SEARCH_CUSTOMER: \"కస్టమర్‌ను శోధించండి\",\r\n MONEY_TYPE: \"డబ్బు రకం\",\r\n ADDED_BY: \"ద్వారా జోడించబడింది\",\r\n ADDED_ON: \"ఆన్ చేయబడింది\",\r\n UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA:\r\n \"అడ్వాన్స్ చెల్లింపు డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n ADVANCE_COLLECTED_SUCCESSFULLY: \"అడ్వాన్స్ విజయవంతంగా సేకరించబడింది\",\r\n UNABLE_TO_ADD_AMOUNT_TO_LKWALLET:\r\n \"LKWallet కు మొత్తాన్ని జోడించడం సాధ్యం కాలేదు\",\r\n ADD_ADVANCE_PAYMENT: \"అడ్వాన్స్ చెల్లింపును జోడించండి\",\r\n VALID_FROM: \"నుండి చెల్లుబాటు అయ్యే\",\r\n VALID_TO: \"చెల్లుతుంది\",\r\n UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA:\r\n \"పరిహారం కాన్ఫిగరేషన్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_ADD_THE_DATA: \"డేటాను జోడించడం సాధ్యం కాలేదు\",\r\n COMPENSATION_CONFIGURATION: \"పరిహారం ఆకృతీకరణ\",\r\n ADD_COMPENSATION_CONFIGURATION: \"పరిహార ఆకృతీకరణను జోడించండి\",\r\n VIEW_COMPENSATION_CONFIGURATION: \"పరిహార ఆకృతీకరణను చూడండి\",\r\n EDIT_COMPENSATION_CONFIGURATION: \"పరిహార ఆకృతీకరణను సవరించండి\",\r\n VALID_FROM_AND_TO_DATE: \"నుండి తేదీ వరకు చెల్లుతుంది\",\r\n PLEASE_SELECT_VALID_FROM_AND_TO_DATE:\r\n \"దయచేసి చెల్లుబాటు అయ్యే నుండి తేదీ వరకు ఎంచుకోండి\",\r\n PLEASE_ENTER_REMARK: \"దయచేసి వ్యాఖ్యను నమోదు చేయండి\",\r\n ENTER_REMARK: \"వ్యాఖ్యను నమోదు చేయండి\",\r\n UNABLE_TO_GET_LIST_OF_REFUND_DATA:\r\n \"వాపసు డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_ADD_REFUND_DATA: \"వాపసు డేటాను జోడించడం సాధ్యం కాలేదు\",\r\n ADD_REFUND: \"వాపసు జోడించండి\",\r\n VIEW_REFUND: \"వాపసు చూడండి\",\r\n DATA_SUCCESSFULLY_SUBMITTED: \"డేటా విజయవంతంగా సమర్పించబడింది\",\r\n UNABLE_TO_SUBMIT_TAG_DATA: \"ట్యాగ్ డేటాను సమర్పించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_TAG_DATA: \"ట్యాగ్ డేటాను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_TAG_DATA: \"ట్యాగ్ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n PLEASE_ENTER_TAG_NO: \"ట్యాగ్ నెం\",\r\n FACTORY_POST_QC: \"ఫ్యాక్టరీ పోస్ట్-క్యూసి\",\r\n PLEASE_SCAN_ADD_TAG_NUMBER: \"ట్యాగ్ నంబర్‌ను స్కాన్ చేయండి / జోడించండి\",\r\n SELECT_STATUS: \"స్థితిని ఎంచుకోండి\",\r\n PLEASE_ENTER_REMARKS: \"దయచేసి వ్యాఖ్యలను నమోదు చేయండి\",\r\n UNABLE_TO_LOAD_PRE_QC_RESPONSES:\r\n \"ప్రీ-క్యూసి ప్రతిస్పందనలను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n FACTORY_PRE_QC: \"ఫ్యాక్టరీ ప్రీ-క్యూసి\",\r\n ADD_GARMENT_FOR_QC: \"QC కోసం వస్త్రాన్ని జోడించండి\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"డేటా విజయవంతంగా సేవ్ చేయబడింది\",\r\n GARMENT_SHOULD_BE_IN_FACTORY_TO_BE_ADDED_FOR_QC:\r\n \"క్యూసి కోసం జోడించడానికి వస్త్రం ఫ్యాక్టరీలో ఉండాలి\",\r\n UNABLE_TO_GET_GARMENT_DETAILS: \"వస్త్ర వివరాలు పొందలేకపోయాము\",\r\n GET_GARMENT_HISTORY: \"వస్త్ర చరిత్ర పొందండి\",\r\n PLEASE_SELECT_REASON: \"దయచేసి కారణాన్ని ఎంచుకోండి\",\r\n UNABLE_TO_GET_CORPORATE_DATA: \"కార్పొరేట్ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n GARMENTS_AT_QC: \"QC వద్ద వస్త్రాలు\",\r\n GARMENTS_IN_POST_QC: \"పోస్ట్ క్యూసిలో వస్త్రాలు\",\r\n UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA:\r\n \"ఫ్యాక్టరీ గార్మెంట్స్ ఇన్వెంటరీ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n GARMENT_INVENTORY_AT_FACTORY: \"ఫ్యాక్టరీలో గార్మెంట్ ఇన్వెంటరీ\",\r\n DASHBOARD: \"డాష్బోర్డ్\",\r\n CUSTOMERS: \"వినియోగదారులు\",\r\n MANAGE_CUSTOMERS: \"వినియోగదారులను నిర్వహించండి\",\r\n PACKAGE_CONFIGURATION: \"ప్యాకేజీ ఆకృతీకరణ\",\r\n REFERRAL_BONUS_CONFIGURATION: \"రెఫరల్ బోనస్ కాన్ఫిగరేషన్\",\r\n EMPLOYEE_CREDITS: \"ఉద్యోగుల క్రెడిట్స్\",\r\n BUY_PACKAGE: \"ప్యాకేజీ కొనండి\",\r\n ADVANCE_PAYMENTS: \"ముందస్తు చెల్లింపులు\",\r\n COMPENSATION: \"పరిహారం\",\r\n REFUND: \"వాపసు\",\r\n MASTER: \"మాస్టర్\",\r\n STORE: \"స్టోర్\",\r\n FACTORY: \"ఫ్యాక్టరీ\",\r\n CORPORATE: \"కార్పొరేట్\",\r\n CITY: \"నగరం\",\r\n STATE: \"రాష్ట్రం\",\r\n DESIGNATION: \"హోదా\",\r\n GARMENT_BRAND: \"గార్మెంట్ బ్రాండ్\",\r\n GARMENT_SIZE: \"వస్త్ర పరిమాణం\",\r\n KYC_DOCUMENT_TYPE: \"KYC పత్ర రకం\",\r\n SERVICE: \"సేవ\",\r\n GARMENT: \"వస్త్రం\",\r\n REWASH_REASON: \"రీవాష్ కారణం\",\r\n OPERATION_INSTRUCTION: \"ఆపరేషన్ ఇన్స్ట్రక్షన్\",\r\n EXPENSE_TYPE: \"ఖర్చు రకం\",\r\n ORDERS: \"ఆదేశాలు\",\r\n PICKUPS: \"పికప్‌లు\",\r\n MANAGE_ORDERS: \"ఆర్డర్‌లను నిర్వహించండి\",\r\n READY_FOR_DELIVERY_OR_INVOICE: \"డెలివరీ / ఇన్వాయిస్ కోసం సిద్ధంగా ఉంది\",\r\n DELIVERIES: \"డెలివరీలు\",\r\n TRANSFER_IN_OUT: \"ఇన్ / అవుట్ బదిలీ\",\r\n TRANSFER_OUT: \"బదిలీ\",\r\n GATE_PASS_LIST: \"గేట్ పాస్ జాబితా\",\r\n TRANSFER_IN: \"ఇన్ బదిలీ\",\r\n PRE_QC_RESPONSES: \"ప్రీ-క్యూసి స్పందన\",\r\n USER_EXPENSES: \"వినియోగదారు ఖర్చులు\",\r\n INVENTORY: \"జాబితా\",\r\n SETTINGS: \"సెట్టింగులు\",\r\n AUTHENTICATION: \"ప్రామాణీకరణ\",\r\n USERS: \"వినియోగదారులు\",\r\n ROLES: \"పాత్రలు\",\r\n ROLE_OPERATIONS: \"పాత్ర కార్యకలాపాలు\",\r\n CONFIGURATION: \"ఆకృతీకరణ\",\r\n TIME_CARD: \"టైమ్ కార్డ్\",\r\n RATE_CARD: \"రేట్ కార్డు\",\r\n DISCOUNT: \"డిస్కౌంట్\",\r\n CASH_COUPON: \"నగదు కూపన్\",\r\n PACKAGING_CHARGES: \"ప్యాకేజింగ్ ఛార్జీలు\",\r\n DELIVERY_CHARGES: \"డెలివరీ ఛార్జీలు\",\r\n BANNER: \"బ్యానర్\",\r\n NOTICE_BOARD: \"నోటీసు బోర్డు\",\r\n FINGER_SCAN: \"ఫింగర్ స్కాన్\",\r\n COLLECT_FINGERPRINTS: \"వేలిముద్రలను సేకరించండి\",\r\n QC_RESPONSES: \"QC స్పందనలు\",\r\n PRE_QC: \"ప్రీ క్యూసి\",\r\n POST_QC: \"QC ను పోస్ట్ చేయండి\",\r\n TODAYS_HIGHLIGHTS: \"నేటి ముఖ్యాంశాలు\",\r\n ORDER_VS_ORDER_AMOUNT: \"ఆర్డర్లు / ఆర్డర్ మొత్తం\",\r\n INVOICE_VS_INVOICE_AMOUNT: \"ఇన్వాయిస్ / ఇన్వాయిస్ మొత్తం\",\r\n STORE_INVENTORY: \"స్టోర్ ఇన్వెంటరీ\",\r\n OTHER_STATASTICS: \"ఇతర గణాంకాలు\",\r\n PROCESSED: \"ప్రాసెస్ చేయబడింది\",\r\n SOILED: \"మట్టి\",\r\n AMOUNT_DUE_FOR_COLLECTION: \"సేకరణకు చెల్లించాల్సిన మొత్తం\",\r\n ORDERS_READY_FOR_INVOICE: \"ఇన్వాయిస్ కోసం ఆర్డర్లు సిద్ధంగా ఉన్నాయి\",\r\n DELIVERY_PERSON: \"రవాణా చేయు మనిషి\",\r\n WALK_IN: \"వాక్-ఇన్\",\r\n PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"ఫ్యాక్టరీకి బదిలీ చేయడానికి పెండింగ్‌లో ఉంది\",\r\n NO_OF_ORDERS: \"ఆర్డర్ల సంఖ్య\",\r\n PENDING_PICKUPS: \"పికప్‌లు పెండింగ్‌లో ఉన్నాయి\",\r\n DATE: \"తేదీ\",\r\n ORDERS_DUE_FOR_DELIVERY: \"డెలివరీ కోసం ఆర్డర్లు\",\r\n FIRST_NAME: \"మొదటి పేరు\",\r\n LAST_NAME: \"చివరి పేరు\",\r\n GENDER: \"లింగం\",\r\n EMAIL: \"ఇమెయిల్\",\r\n PHONE: \"ఫోన్\",\r\n TYPE: \"టైప్ చేయండి\",\r\n BILLING_CYCLE: \"బైలింగ్ సైకిల్\",\r\n ACTIONS: \"చర్యలు\",\r\n VIEW: \"చూడండి\",\r\n EDIT: \"సవరించండి\",\r\n DELETE: \"తొలగించు\",\r\n SEARCH: \"వెతకండి\",\r\n ADD_CUSTOMER: \"కస్టమర్‌ను జోడించండి\",\r\n ADD: \"జోడించు\",\r\n CUSTOMER: \"కస్టమర్\",\r\n WALLET_CASH: \"వాలెట్ క్యాష్\",\r\n WALLET_BONUS: \"వాలెట్ బోనస్\",\r\n GENERAL: \"జనరల్\",\r\n GENERAL_CUSTOMER_INFORMATION: \"సాధారణ కస్టమర్ సమాచారం\",\r\n ADDRESS: \"చిరునామా\",\r\n CUSTOMER_ADDRESSES: \"కస్టమర్ చిరునామాలు\",\r\n VERIFICATION: \"ధృవీకరణ\",\r\n VERIFY_PHONE_AND_EMAIL: \"వెర్ఫీ ఫోన్ మరియు ఇమెయిల్\",\r\n PLEASE: \"దయచేసి\",\r\n SELECT: \"ఎంచుకోండి\",\r\n ENTER: \"నమోదు చేయండి\",\r\n VALID: \"చెల్లుతుంది\",\r\n PHONE_NUMBER: \"ఫోను నంబరు\",\r\n DATE_OF_BIRTH: \"పుట్టిన తేది\",\r\n ANNIVERSARY_DATE: \"వార్షికోత్సవ తేదీ\",\r\n REFERRAL_CODE: \"రెఫరల్ కోడ్\",\r\n CUSTOMER_TYPE: \"కస్టమర్ రకం\",\r\n GSTIN: \"GSTIN\",\r\n ACTIVE: \"యాక్టివ్\",\r\n STATUS: \"స్థితి\",\r\n YES: \"అవును\",\r\n NO: \"లేదు\",\r\n CANCEL: \"రద్దు చేయండి\",\r\n SUBMIT: \"సమర్పించండి\",\r\n ID: \"ID\",\r\n PINCODE: \"పిన్ కోడ్\",\r\n ADRESSES_OF: \"యొక్క చిరునామాలు\",\r\n HOME: \"హోమ్\",\r\n OFFICE: \"కార్యాలయం\",\r\n OTHER: \"ఇతర\",\r\n LONGITUDE: \"రేఖాంశం\",\r\n LATITUDE: \"అక్షాంశం\",\r\n IS_DEFAULT: \"దీన్ని డిఫాల్ట్‌గా సెట్ చేయండి\",\r\n PLEASE_ENTER_FIRST_NAME: \"దయచేసి మొదటి పేరును నమోదు చేయండి\",\r\n ENTER_FIRST_NAME: \"మొదటి పేరును నమోదు చేయండి\",\r\n PLEASE_ENTER_LAST_NAME: \"దయచేసి చివరి పేరును నమోదు చేయండి\",\r\n ENTER_LAST_NAME: \"చివరి పేరును నమోదు చేయండి\",\r\n PLEASE_ENTER_EMAIL: \"దయచేసి ఇమెయిల్‌ను నమోదు చేయండి\",\r\n PLEASE_ENTER_VALID_EMAIL: \"దయచేసి చెల్లుబాటు అయ్యే ఇమెయిల్‌ను నమోదు చేయండి\",\r\n ENTER_EMAIL: \"ఇమెయిల్ నమోదు చేయండి\",\r\n PLEASE_ENTER_PHONE_NUMBER: \"దయచేసి ఫోన్ నంబర్‌ను నమోదు చేయండి\",\r\n PLEASE_ENTER_VALID_PHONE_NUMBER:\r\n \"దయచేసి చెల్లుబాటు అయ్యే ఫోన్ నంబర్‌ను నమోదు చేయండి\",\r\n ENTER_PHONE_NUMBER: \"ఫోన్ నంబర్‌ను నమోదు చేయండి\",\r\n PLEASE_SELECT_GENDER: \"దయచేసి లింగం ఎంచుకోండి\",\r\n SELECT_DATE: \"తేదీని ఎంచుకోండి\",\r\n ENTER_REFERRAL_CODE: \"రెఫరల్ కోడ్‌ను నమోదు చేయండి\",\r\n PLEASE_SELECT_CUSTOMER_TYPE: \"దయచేసి కస్టమర్ రకాన్ని ఎంచుకోండి\",\r\n SELECT_CUSTOMER_TYPE: \"కస్టమర్ రకాన్ని ఎంచుకోండి\",\r\n SELECT_CORPORATE: \"కార్పొరేట్ ఎంచుకోండి\",\r\n PLEASE_SELECT_BILLING_CYCLE: \"దయచేసి బిల్లింగ్ సైకిల్‌ని ఎంచుకోండి\",\r\n SELECT_BILLING_CYCLE: \"బిల్లింగ్ సైకిల్ ఎంచుకోండి\",\r\n ENTER_VALID_GSTIN: \"చెల్లుబాటు అయ్యే GSTIN ని నమోదు చేయండి\",\r\n ENTER_GSTIN: \"GSTIN ని నమోదు చేయండి\",\r\n PLEASE_SELECT_STATUS: \"దయచేసి స్థితిని ఎంచుకోండి\",\r\n ADD_ADDRESS: \"చిరునామాను జోడించండి\",\r\n VIEW_ADDRESS: \"చిరునామాను చూడండి\",\r\n EDIT_ADDRESS: \"చిరునామాను సవరించండి\",\r\n PLEASE_SELECT_ADDRESS_TYPE: \"దయచేసి చిరునామా రకాన్ని ఎంచుకోండి\",\r\n SELECT_TYPE: \"రకం ఎంచుకోండి\",\r\n ENTER_LONGITUDE: \"రేఖాంశాన్ని నమోదు చేయండి\",\r\n ENTER_LATITUDE: \"అక్షాంశాన్ని నమోదు చేయండి\",\r\n PLEASE_SELECT_STATE: \"దయచేసి రాష్ట్రాన్ని ఎంచుకోండి\",\r\n SELECT_STATE: \"రాష్ట్రం ఎంచుకోండి\",\r\n PLEASE_SELECT_CITY: \"దయచేసి నగరాన్ని ఎంచుకోండి\",\r\n SELECT_CITY: \"నగరాన్ని ఎంచుకోండి\",\r\n PLEASE_ENTER_PINCODE: \"దయచేసి పిన్‌కోడ్‌ను నమోదు చేయండి\",\r\n ENTER_PINCODE: \"పిన్‌కోడ్‌ను నమోదు చేయండి\",\r\n HOUSE_NO: \"హౌస్ నం. / ఫ్లాట్ నం. / ఫ్లోర్ / స్ట్రీట్\",\r\n PLEASE_ENTER_HOUSE_NO:\r\n \"దయచేసి హౌస్ నంబర్ / ఫ్లాట్ నం / ఫ్లోర్ / స్ట్రీట్ నమోదు చేయండి\",\r\n ENTER_HOUSE_NO: \"హౌస్ నం / ఫ్లాట్ నం / ఫ్లోర్ / స్ట్రీట్ నమోదు చేయండి\",\r\n LANDMARK: \"మైలురాయి\",\r\n ENTER_LANDMARK: \"ల్యాండ్‌మార్క్‌ను నమోదు చేయండి\",\r\n HOW_TO_REACH: \"ఎలా చేరుకోవాలి\",\r\n ENTER_HOW_TO_REACH: \"ఎలా చేరుకోవాలో నమోదు చేయండి\",\r\n PLEASE_ENTER_ADDRESS: \"దయచేసి చిరునామాను నమోదు చేయండి\",\r\n ENTER_ADDRESS: \"చిరునామాను నమోదు చేయండి\",\r\n UPDATE: \"నవీకరణ\",\r\n PLEASE_ENTER_OTP: \"దయచేసి OTP ని నమోదు చేయండి\",\r\n ENTER_OTP: \"OTP ని నమోదు చేయండి\",\r\n VERIFY: \"ధృవీకరించండి\",\r\n DIDNT_RECIEVED_ANYTHIG: \"ఏదైనా స్వీకరించలేదా?\",\r\n RESEND_OTP: \"OTP ను మళ్ళీ పంపు\",\r\n NOT_VERIFIED: \"తనిఖీ చెయ్యబడలేదు\",\r\n VERIFY_PHONE_NUMBER: \"ఫోన్ నంబర్‌ను ధృవీకరించండి\",\r\n VERIFIED: \"ధృవీకరించబడింది\",\r\n PACKAGE_NAME: \"ప్యాకేజీ పేరు\",\r\n PACKAGE_AMOUNT: \"ప్యాకేజీ మొత్తం\",\r\n BONUS_AMOUNT: \"బోనస్ మొత్తం\",\r\n BONUS_VALIDITY: \"బోనస్ చెల్లుబాటు\",\r\n TITLE: \"శీర్షిక\",\r\n DESCRIPTION: \"వివరణ\",\r\n ADD_PACKAGE_CONFIGURATION: \"ప్యాకేజీ ఆకృతీకరణను జోడించండి\",\r\n DELETE_SELECTED: \"ఎంచుకున్నవాటిని రద్దు చేయుట\",\r\n VIEW_PACKAGE_CONFIGURATION: \"ప్యాకేజీ ఆకృతీకరణను చూడండి\",\r\n EDIT_PACKAGE_CONFIGURATION: \"ప్యాకేజీ ఆకృతీకరణను సవరించండి\",\r\n PLEASE_ENTER_PACKAGE_NAME: \"దయచేసి ప్యాకేజీ పేరును నమోదు చేయండి\",\r\n ENTER_PACKAGE_NAME: \"ప్యాకేజీ పేరును నమోదు చేయండి\",\r\n PLEASE_ENTER_PACKAGE_AMOUNT: \"దయచేసి ప్యాకేజీ మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_PACKAGE_AMOUNT: \"ప్యాకేజీ మొత్తాన్ని నమోదు చేయండి\",\r\n PLEASE_ENTER_BONUS_AMOUNT: \"దయచేసి బోనస్ మొత్తాన్ని నమోదు చేయండి\",\r\n ENTER_BONUS_AMOUNT: \"బోనస్ మొత్తాన్ని నమోదు చేయండి\",\r\n BONUS_AMOUNT_VALIDITY_DAYS: \"బోనస్ మొత్తం చెల్లుబాటు (రోజులు)\",\r\n PLEASE_ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"దయచేసి బోనస్ మొత్తం చెల్లుబాటును నమోదు చేయండి (రోజులు)\",\r\n ENTER_BONUS_VALIDITY_DAYS: \"బోనస్ చెల్లుబాటు (రోజులు) నమోదు చేయండి\",\r\n DESCRIPTION_TITLE: \"వివరణ శీర్షిక\",\r\n ENTER_DESCRIPTION_TITLE: \"వివరణ శీర్షికను నమోదు చేయండి\",\r\n PLEASE_ENTER_DESCRIPTION_TITLE: \"దయచేసి వివరణ శీర్షికను నమోదు చేయండి\",\r\n PLEASE_ENTER_DESCRIPTION: \"దయచేసి వివరణను నమోదు చేయండి\",\r\n ENTER_DESCRIPTION: \"వివరణను నమోదు చేయండి\",\r\n PICKUP_ID: \"పికప్ ID\",\r\n PROMOCODE: \"ప్రోమోకోడ్\",\r\n ASSIGNED_USER_NAME: \"కేటాయించిన వినియోగదారు పేరు\",\r\n ORDER: \"ఆర్డర్\",\r\n REASSIGN: \"తిరిగి కేటాయించండి\",\r\n ADD_PICKUP: \"పికప్ జోడించండి\",\r\n REASSIGN_PICKUP_EXECUTIVE: \"పికప్ ఎగ్జిక్యూటివ్‌ను తిరిగి కేటాయించండి\",\r\n PICKUP_EXECUTIVE: \"పికప్ ఎగ్జిక్యూటివ్\",\r\n PLEASE_SELECT_ANY_PICKUP_EXECUTIVE:\r\n \"దయచేసి ఏదైనా పికప్ ఎగ్జిక్యూటివ్‌ను ఎంచుకోండి\",\r\n SELECT_PICKUP_EXECUTIVE: \"పికప్ ఎగ్జిక్యూటివ్ ఎంచుకోండి\",\r\n PICKUP: \"తీసుకోవడం\",\r\n HISTORY: \"చరిత్ర\",\r\n GENERAL_PICKUP_INFORMATION: \"సాధారణ పికప్ సమాచారం\",\r\n HISTORY_OF_RESCHEDULED_PICKUPS: \"రీషెడ్యూల్ చేసిన పికప్‌ల చరిత్ర\",\r\n PICKUP_STATUS: \"పికప్ స్థితి\",\r\n SELECT_PICKUP_STATUS: \"పికప్ స్థితిని ఎంచుకోండి\",\r\n PLEASE_SELECT_PICKUP_DATE: \"దయచేసి పికప్ తేదీని ఎంచుకోండి\",\r\n PICKUP_TIMESLOT: \"పికప్ టైమ్‌స్లాట్\",\r\n PLEASE_SELECT_TIMESLOT: \"దయచేసి టైమ్‌స్లాట్‌ను ఎంచుకోండి\",\r\n SELECT_TIMESLOT: \"టైమ్‌స్లాట్‌ను ఎంచుకోండి\",\r\n SELECT_ADDRESS: \"చిరునామాను ఎంచుకోండి\",\r\n PLEASE_SELECT_DELIVERY_TYPE: \"దయచేసి డెలివరీ రకాన్ని ఎంచుకోండి\",\r\n SELECT_DELIVERY_TYPE: \"డెలివరీ రకాన్ని ఎంచుకోండి\",\r\n ENTER_NO_OF_GARMENTS: \"వస్త్రాల సంఖ్యను నమోదు చేయండి\",\r\n ENTER_PROMOCODE: \"ప్రోమోకోడ్‌ను నమోదు చేయండి\",\r\n SERVICES: \"సేవలు\",\r\n PLEASE_SELECT_SERVICES: \"దయచేసి సేవలను ఎంచుకోండి\",\r\n SELECT_SERVICES: \"సేవలను ఎంచుకోండి\",\r\n DELIVERY_TIMESLOT: \"డెలివరీ టైమ్‌స్లాట్\",\r\n CANCELLATION_REASON: \"రద్దు కారణం\",\r\n SELECT_OPERATION_INSTRUCTION: \"ఆపరేషన్ ఇన్స్ట్రక్షన్ ఎంచుకోండి\",\r\n RESCHEDULED_PICKUP_HISTORY: \"పికప్ చరిత్రను తిరిగి షెడ్యూల్ చేసింది\",\r\n ON_DEMAND_WALK_IN: \"డిమాండ్ / వాక్-ఇన్\",\r\n GARMENTS: \"వస్త్రాలు\",\r\n CREATE_ORDER: \"ఆర్డర్ సృష్టించండి\",\r\n PRINT_TAGS: \"టాగ్లను ముద్రించండి\",\r\n CANCEL_ORDER: \"ఆర్డర్‌ను రద్దు చేయండి\",\r\n CANCEL_REASON: \"కారణాన్ని రద్దు చేయండి\",\r\n PLEASE_ENTER_REASON: \"దయచేసి కారణాన్ని నమోదు చేయండి\",\r\n ENTER_REASON_TO_CANCEL_THE_ORDER:\r\n \"ఆర్డర్‌ను రద్దు చేయడానికి కారణాన్ని నమోదు చేయండి\",\r\n CUSTOMER_DETAILS: \"వినియోగదారుని వివరాలు\",\r\n NAME: \"పేరు\",\r\n TYPE_OF_SERVICE: \"సేవ రకం\",\r\n PICKUP_REQUEST: \"పికప్ అభ్యర్థన\",\r\n TYPE_OF_CUSTOMER: \"కస్టమర్ రకం\",\r\n WALLET_CREDIT: \"వాలెట్ క్రెడిట్\",\r\n FILTER: \"ఫిల్టర్\",\r\n ORDER_SUMMARY: \"కొనుగోలు వివరణ\",\r\n DETAILS: \"వివరాలు\",\r\n QTY: \"Qty\",\r\n RATES: \"రేట్లు\",\r\n FEES: \"ఫీజు\",\r\n SUBTOTAL: \"మొత్తం\",\r\n TAXES_AND_CHARGES: \"పన్నులు & ఛార్జీలు\",\r\n PROMO_DISCOUNT: \"ప్రోమో డిస్కౌంట్\",\r\n SGST: \"SGST\",\r\n CGST: \"సిజిఎస్‌టి\",\r\n IGST: \"IGST\",\r\n TOTAL: \"మొత్తం\",\r\n ORDER_REMARKS: \"ఆర్డర్ వ్యాఖ్యలు\",\r\n REVIEW_ORDER: \"సమీక్ష ఆర్డర్\",\r\n MEDIUM: \"మధ్యస్థం\",\r\n REQUIRED: \"అవసరం\",\r\n WEIGHT: \"బరువు\",\r\n SELECT_ADD_ON_SERVICES: \"యాడ్-ఆన్ సేవలను ఎంచుకోండి\",\r\n DARNING_SIZE: \"డార్నింగ్ సైజు\",\r\n SMALL: \"చిన్నది\",\r\n LARGE: \"పెద్దది\",\r\n DYING_COLORS: \"మరణిస్తున్న రంగు (లు)\",\r\n SIZE: \"పరిమాణం\",\r\n PRICE: \"ధర\",\r\n NOTES: \"గమనికలు\",\r\n ONLY_3_IMAGES_ARE_ALLOWED: \"3 చిత్రాలు మాత్రమే అనుమతించబడతాయి\",\r\n LOGISTICS_INSTRUCTION: \"లాజిస్టిక్స్ ఇన్స్ట్రక్షన్\",\r\n ON_DEMAND_DELIVERY: \"ఆన్ డిమాండ్ డెలివరీ\",\r\n REPRINT_TAGS: \"ట్యాగ్‌లను తిరిగి ముద్రించండి\",\r\n REPRINT_ESTIMATED_ORDER: \"అంచనా ఆర్డర్‌ను తిరిగి ముద్రించండి\",\r\n REWASH_REQUESTED_BY: \"రీవాష్ ద్వారా అభ్యర్థించబడింది\",\r\n PLACE_ORDER: \"ప్లేస్ ఆర్డర్\",\r\n COLLECT_ADVANCE_PAYMENT: \"అడ్వాన్స్ చెల్లింపును సేకరించండి\",\r\n UPDATE_ORDER: \"నవీకరణ ఆర్డర్\",\r\n CONFIRM_ORDER: \"ఆర్డర్‌ను నిర్ధారించండి\",\r\n TAG_IN_GARMENTS: \"వస్త్రాలలో ట్యాగ్ చేయండి\",\r\n CREATE_REWASH_ORDER: \"రివాష్ ఆర్డర్‌ను సృష్టించండి\",\r\n PAYMENT_METHOD: \"చెల్లింపు పద్ధతి\",\r\n COLLECT: \"సేకరించండి\",\r\n PROCESSING: \"ప్రాసెసింగ్\",\r\n INVOICE_NUMBER: \"ఇన్వాయిస్ సంఖ్యా\",\r\n GENERATE: \"ఉత్పత్తి\",\r\n SETTLE: \"స్థిరపడండి\",\r\n READY_FOR_DELIVERY_ORDERS: \"డెలివరీ ఆర్డర్‌లకు సిద్ధంగా ఉంది\",\r\n HIDE_FILTERS: \"ఫిల్టర్‌లను దాచు\",\r\n SHOW_FILTERS: \"ఫిల్టర్‌లను చూపించు\",\r\n PLEASE_SELECT_FROM_DATE: \"తేదీ నుండి ఎంచుకోండి\",\r\n FROM_DATE: \"తేదీ నుంచి\",\r\n PLEASE_SELECT_TO_DATE: \"తేదీకి ఎంచుకోండి\",\r\n TO_DATE: \"తేదీకి\",\r\n ENTER_SPLIT_ORDER_NUMBER: \"స్ప్లిట్ ఆర్డర్ సంఖ్యను నమోదు చేయండి\",\r\n PROFORMA_INVOICE_NUMBER: \"ప్రొఫార్మా ఇన్వాయిస్ సంఖ్య\",\r\n PROFORMA_INVOICE_DATE: \"ప్రొఫార్మా ఇన్వాయిస్ తేదీ\",\r\n INVOICE_DATE: \"చలానా తారీకు\",\r\n INVOICE: \"ఇన్వాయిస్\",\r\n ORDER_TYPE: \"ఆర్డర్ రకం\",\r\n PICKUP_BY: \"ద్వారా పికప్\",\r\n ADJUSTED_LK_BONUS_AMOUNT: \"సర్దుబాటు చేసిన ఎల్‌కె బోనస్ మొత్తం\",\r\n PROFORMA_INVOICE: \"ప్రొఫార్మా ఇన్వాయిస్\",\r\n TOTAL_AMOUNT: \"మొత్తం మొత్తం\",\r\n ADD_ON_SERVICE_CHARGES: \"యాడ్-ఆన్ సేవా ఛార్జీలు\",\r\n ADHOC_CHARGES: \" తాత్కాలిక ఛార్జీలు\",\r\n PAIDLESS_AMOUNT: \"Adjusted By Admin\",\r\n ADJUSTED_AMOUNT: \"Paid Less\",\r\n AMOUNT_TO_COLLECT: \"సేకరించాల్సిన మొత్తం\",\r\n ADD_REMARKS: \"వ్యాఖ్యలను జోడించండి\",\r\n UPDATE_PROFORMA_INVOICE: \"ప్రొఫార్మా ఇన్‌వాయిస్‌ను నవీకరించండి\",\r\n CREATE_PROFORMA_INVOICE: \"ప్రొఫార్మా ఇన్వాయిస్ సృష్టించండి\",\r\n USE_LK_WALLET: \"LK Wallet ఉపయోగించండి\",\r\n GENERATE_TAX_INVOICE: \"పన్ను ఇన్వాయిస్ సృష్టించండి\",\r\n DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET:\r\n \"మీరు అదనపు మొత్తాన్ని LKWallet కు జోడించాలనుకుంటున్నారా\",\r\n SETTLE_LESS_PAID_INVOICE: \"తక్కువ చెల్లింపు ఇన్‌వాయిస్‌ను పరిష్కరించండి\",\r\n SLOT: \"స్లాట్\",\r\n ASSIGNED_TO: \"కేటాయించిన\",\r\n RESCHEDULE: \"రీషెడ్యూల్\",\r\n DELIVERY_LIST: \"డెలివరీ జాబితా\",\r\n REASSIGN_DELIVERY: \"డెలివరీని తిరిగి కేటాయించండి\",\r\n PLEASE_SELECT_ASSIGNEE: \"దయచేసి అసైన్‌ని ఎంచుకోండి\",\r\n SELECT_ASSIGNEE: \"అసైన్‌ని ఎంచుకోండి\",\r\n DELIVERY_ID: \"డెలివరీ ఐడి\",\r\n RESCHEDULE_DELIVERY: \"రీషెడ్యూల్ డెలివరీ\",\r\n CANCEL_DELIVERY: \"డెలివరీని రద్దు చేయండి\",\r\n PLEASE_SELECT_DELIVERY_DATE: \"దయచేసి డెలివరీ తేదీని ఎంచుకోండి\",\r\n PLEASE_ENTER_CANCEL_REASON: \"దయచేసి రద్దు చేయి కారణాన్ని నమోదు చేయండి\",\r\n ENTER_CANCEL_REASON: \"రద్దు చేయి కారణాన్ని నమోదు చేయండి\",\r\n PLEASE_SELECT_EXPENSE_TYPE: \"దయచేసి ఖర్చు రకాన్ని ఎంచుకోండి\",\r\n PLEASE_SELECT_EXPENSE_DATE: \"దయచేసి ఖర్చు తేదీని ఎంచుకోండి\",\r\n // OVERDUE_GARMENTS: \"మీరిన వస్త్రాలు\",\r\n OVERDUE_ORDERS: \"మీరిన ఆర్డర్లు\",\r\n GARMENT_COUNTS: \"వస్త్ర గణనలు\",\r\n ORDER_COUNTS: \"ఆర్డర్ గణనలు\",\r\n TOTAL_PENDING_GARMENTS_ORDERS: \"మొత్తం పెండింగ్ వస్త్రాలు / ఆర్డర్లు\",\r\n TODAYS_DUE: \"నేటి డ్యూ\",\r\n TICKETS_COUNTS: \"టికెట్ల గణనలు\",\r\n ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE:\r\n \"క్లోజ్డ్ స్టోర్ ఉపయోగించి ఆర్డర్ సృష్టించబడదు\",\r\n THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE:\r\n \"ఈ స్టోర్ నుండి ఈ రకమైన ఆర్డర్ సృష్టించబడదు\",\r\n AMOUNT_IS_REQUIRED: \"మొత్తం అవసరం\",\r\n AMOUNT_SHOULD_BE_GREATER_THAN_0: \"మొత్తం 0 కంటే ఎక్కువగా ఉండాలి\",\r\n IS_LAUNDROKART_EMPLOYEE: \"లాండ్రోకార్ట్ ఉద్యోగి\",\r\n REWASH_ORDER: \"రివాష్ ఆర్డర్\",\r\n\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"దయచేసి 1 నుండి 9 వరకు ప్రారంభమయ్యే అంకెలను మాత్రమే నమోదు చేయండి\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"దయచేసి అక్షరాలను మాత్రమే నమోదు చేయండి\",\r\n MISSING_TAG_NOS: \"తప్పిపోయిన ట్యాగ్ నం\",\r\n\r\n //11/06/2020\r\n CUSTOMER_IS_SUCCESSFULLY_REGISTERED: \"కస్టమర్ విజయవంతంగా నమోదు చేయబడ్డారు\",\r\n DATA_IS_SUCCESSFULLY_RETRIEVED: \"డేటా విజయవంతంగా తిరిగి పొందబడింది\",\r\n DATA_IS_SUCCESSFULLY_DELETED: \"డేటా విజయవంతంగా తొలగించబడుతుంది\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"డేటా విజయవంతంగా సేవ్ చేయబడింది\",\r\n DATA_IS_SUCCESSFULLY_UPDATED: \"డేటా విజయవంతంగా నవీకరించబడింది\",\r\n RECORD_IS_ALREADY_EXISTS: \"రికార్డ్ ఇప్పటికే ఉంది\",\r\n INTERNAL_SERVER_ERROR: \"అంతర్గత సర్వర్ లోపం\",\r\n DATA_IS_SUCCESSFULLY_UPLOADED: \"డేటా విజయవంతంగా అప్‌లోడ్ చేయబడింది\",\r\n DISCOUNT_IS_SUCCESSFULLY_BLOCKED: \"డిస్కౌంట్ విజయవంతంగా బ్లాక్ చేయబడింది\",\r\n DISCOUNT_IS_SUCCESSFULLY_AUTHORIZED:\r\n \"డిస్కౌంట్ విజయవంతంగా అధికారం పొందింది\",\r\n DISCOUNT_IS_SUCCESSFULLY_GENERATED:\r\n \"డిస్కౌంట్ విజయవంతంగా ఉత్పత్తి అవుతుంది\",\r\n OTP_HAS_BEEN_SUCCESSFULLY_RE_SENT: \"OTP విజయవంతంగా తిరిగి పంపబడింది\",\r\n PICKUP_IS_SUCCESSFULLY_RESCHEDULED: \"పికప్ విజయవంతంగా షెడ్యూల్ చేయబడింది\",\r\n PICKUP_IS_SUCCESSFULLY_SCHEDULED: \"పికప్ విజయవంతంగా షెడ్యూల్ చేయబడింది\",\r\n PICKUP_IS_SUCCESSFULLY_CANCELLED: \"పికప్ విజయవంతంగా రద్దు చేయబడింది\",\r\n PICKUP_IS_SUCCESSFULLY_REASSIGNED: \"పికప్ విజయవంతంగా తిరిగి కేటాయించబడింది\",\r\n ERROR_WHILE_SENDING_CALL_BACK_REQUEST_NOTIFICATION:\r\n \"కాల్ బ్యాక్ అభ్యర్థన నోటిఫికేషన్ పంపేటప్పుడు లోపం\",\r\n ORDER_IS_SUCCESSFULLY_CANCELLED: \"ఆర్డర్ విజయవంతంగా రద్దు చేయబడింది\",\r\n ORDER_IS_SUCCESSFULLY_CREATED_PLEASE_CONFIRM_ORDER_TO_PROCEED_FURTHER:\r\n \"ఆర్డర్ విజయవంతంగా సృష్టించబడింది దయచేసి మరింత ముందుకు వెళ్ళడానికి క్రమాన్ని నిర్ధారించండి\",\r\n ORDER_IS_SUCCESSFULLY_UPDATED: \"ఆర్డర్ విజయవంతంగా నవీకరించబడింది\",\r\n GENERATE_TAGS_FOR_ORDER_SUCCESSFULLY:\r\n \"ఆర్డర్ కోసం ట్యాగ్‌లను విజయవంతంగా రూపొందించండి\",\r\n GETEPASS_IS_SUCCESSFULLY_GENERATED: \"గెటెపాస్ విజయవంతంగా రూపొందించబడింది\",\r\n PROMOCODE_VALIDATED_SUCCESSFULLY: \"ప్రోమోకోడ్ విజయవంతంగా ధృవీకరించబడింది\",\r\n INVALID_PROMOCODE: \"చెల్లని ప్రోమోకోడ్\",\r\n DELIVERY_IS_SUCCESSFULLY_REASSIGNED:\r\n \"డెలివరీ విజయవంతంగా తిరిగి కేటాయించబడింది\",\r\n AMOUNT_SUCCESSFULLY_BLOCKED: \"మొత్తం విజయవంతంగా నిరోధించబడింది\",\r\n USER_IS_VALID: \"వినియోగదారు చెల్లుతుంది\",\r\n USER_IS_INVALID: \"వినియోగదారు చెల్లదు\",\r\n ALREADY_IN_USED: \"ఇప్పటికే ఉపయోగించబడింది\",\r\n PDF_FILE_IS_GENERATED_SUCCESSFULLY: \"PDF ఫైల్ విజయవంతంగా ఉత్పత్తి అవుతుంది\",\r\n OLD_PASSWORD_DOES_NOT_MATCH: \"పాత పాస్‌వర్డ్ సరిపోలలేదు\",\r\n NOTIFICATION_HAS_BEEN_SENT_SUCCESSFULLY: \"నోటిఫికేషన్ విజయవంతంగా పంపబడింది\",\r\n ERROR_WHILE_SENDING_NOTIFICATION: \"నోటిఫికేషన్ పంపేటప్పుడు లోపం\",\r\n NOTIFICATION_IS_SUCCESSFULLY_DISMISS:\r\n \"నోటిఫికేషన్ విజయవంతంగా తీసివేయబడింది\",\r\n THERE_WAS_AN_INTERNAL_ERROR_PLEASE_CONTACT_TO_TECHNICAL_SUPPORT:\r\n \"అంతర్గత లోపం ఉంది దయచేసి సాంకేతిక మద్దతుతో సంప్రదించండి\",\r\n EMAIL_SENT_SUCCESSFULLY: \"ఇమెయిల్ విజయవంతంగా పంపబడింది!\",\r\n TAGS_NOT_FOUND: \"టాగ్లు కనుగొనబడలేదు\",\r\n UNABLE_TO_GET_LIST_OF_STORE_DATA:\r\n \"స్టోర్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_MISSING_TAG_DATA:\r\n \"తప్పిపోయిన ట్యాగ్ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG:\r\n \"ట్యాగ్‌ను స్కాన్ చేసే ముందు స్టోర్ ఎంచుకోండి\",\r\n PLEASE_ENTER_THE_TAG_TO_SCAN:\r\n \"స్కాన్ చేయడానికి దయచేసి ట్యాగ్‌ను నమోదు చేయండి\",\r\n TAG_ALREADY_SCANNED: \"ట్యాగ్ ఇప్పటికే స్కాన్ చేయబడింది\",\r\n PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS:\r\n \"ట్రాన్స్‌ఫిన్ ప్రాసెస్ కోసం ఫ్యాక్టరీ ట్యాగ్ నెం\",\r\n UNABLE_TO_SCAN_THE_TAG: \"ట్యాగ్‌ను స్కాన్ చేయడం సాధ్యం కాలేదు\",\r\n TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY: \"టాగ్లు విజయవంతంగా బదిలీ చేయబడతాయి\",\r\n GENERATING_GATE_PASS: \"గేట్ పాస్ ఉత్పత్తి\",\r\n PLEASE_SELECT_STICKERS: \"దయచేసి స్టిక్కర్లను ఎంచుకోండి\",\r\n UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT:\r\n \"బదిలీ చేయడానికి స్టిక్కర్లను పొందడం సాధ్యం కాలేదు\",\r\n INFO: \"సమాచారం\",\r\n ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS:\r\n \"ఎంటర్ చేసిన సంఖ్య చిన్నదిగా ఉండాలి, అప్పుడు పెండింగ్‌లో ఉన్న వస్త్రాలు లేవు\",\r\n PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"ప్యాక్ చేయడానికి కనీసం పెండింగ్‌లో ఉన్న వస్త్రాలను ఎంచుకోండి\",\r\n STICKER_SUCCESSFULLY_GENERATED: \"స్టిక్కర్ విజయవంతంగా ఉత్పత్తి చేయబడింది\",\r\n UNABLE_TO_GET_STICKERID: \"స్టిక్కర్ ఐడి పొందడం సాధ్యం కాలేదు\",\r\n GARMENT_ALREADY_PACKED:\r\n \"ఈ ఆర్డర్ నుండి కొన్ని వస్త్రాలు ఇప్పటికే ప్యాక్ చేయబడ్డాయి, దయచేసి రిఫ్రెష్ చేసి, మళ్లీ ప్రయత్నించండి\",\r\n REDIRECTING: \"దారి మళ్లించడం\",\r\n SUCCESS: \"విజయం\",\r\n FAIL: \"విఫలమైంది\",\r\n WALLET_BALANCE: \"వాలెట్ బ్యాలెన్స్\",\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"దయచేసి 1 నుండి 9 వరకు ప్రారంభమయ్యే అంకెలను మాత్రమే నమోదు చేయండి\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"దయచేసి అక్షరాలను మాత్రమే నమోదు చేయండి\",\r\n MISSING_TAG_NOS: \"ట్యాగ్ సంఖ్య లేదు\",\r\n UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY:\r\n \"డెలివరీ కారణంగా ఆర్డర్లు పొందలేకపోయాము\",\r\n UNABLE_TO_GET_PENDING_PICKUPS: \"పెండింగ్ పికప్‌లను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"ఫ్యాక్టరీకి బదిలీ చేయడానికి పెండింగ్‌లో ఉన్న ఆర్డర్‌లను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DATA_FOR_DASHBOARD:\r\n \"డాష్‌బోర్డ్ కోసం డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DATA_FOR_TIMESLOT:\r\n \"టైమ్‌స్లాట్ కోసం డేటాను పొందడం సాధ్యం కాలేదు\",\r\n CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER:\r\n \"ఇప్పటికే మరింత ముందుకు సాగినందున డెలివరీని తిరిగి కేటాయించలేము\",\r\n DELIVERY_REASSIGNED_SUCCESSFULLY:\r\n \"డెలివరీ విజయవంతంగా తిరిగి కేటాయించబడింది\",\r\n UNABLE_TO_REASSIGN_DELIVERY_REQUEST:\r\n \"డెలివరీ అభ్యర్థనను తిరిగి కేటాయించడం సాధ్యం కాలేదు\",\r\n DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED:\r\n \"డెలివరీ స్థితి డెలివరీ షెడ్యూల్ లేదా కేటాయించినదిగా ఉండాలి\",\r\n DELIVERY_RESCHEDULED_SUCCESSFULLY: \"డెలివరీ విజయవంతంగా షెడ్యూల్ చేయబడింది\",\r\n UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST:\r\n \"డెలివరీ అభ్యర్థనను రీషెడ్యూల్ చేయడం సాధ్యం కాలేదు\",\r\n REQUEST_CANCELLED_SUCCESSFULLY: \"అభ్యర్థన విజయవంతంగా రద్దు చేయబడింది\",\r\n UNABLE_TO_CANCEL_DELIVERY_REQUEST:\r\n \"డెలివరీ అభ్యర్థనను రద్దు చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA:\r\n \"డెలివరీ జాబితా డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n EXPENSE_DELETED_SUCCESSFULLY: \"ఖర్చు విజయవంతంగా తొలగించబడింది\",\r\n UNABLE_TO_DELETE_EXPENSE: \"ఖర్చును తొలగించడం సాధ్యం కాలేదు\",\r\n EXPENSE_ADDED_SUCCESSFULLY: \"ఖర్చు విజయవంతంగా జోడించబడింది\",\r\n EXPENSE_UPDATED_SUCCESSFULLY: \"ఖర్చు విజయవంతంగా నవీకరించబడింది\",\r\n UNABLE_TO_SUBMIT_DATA: \"డేటాను సమర్పించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_EXPENSES: \"ఖర్చుల జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA:\r\n \"గేట్ పాస్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA:\r\n \"స్టోర్ వస్త్ర జాబితా డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_SPLIT_ORDER_DETAILS:\r\n \"స్ప్లిట్ ఆర్డర్ వివరాలను పొందడం సాధ్యం కాలేదు\",\r\n INVOICE_GENERATED_SUCCESSFULLY: \"ఇన్వాయిస్ విజయవంతంగా ఉత్పత్తి చేయబడింది\",\r\n UNABLE_TO_GENERATE_INVOICE: \"ఇన్వాయిస్ ఉత్పత్తి చేయలేకపోయింది\",\r\n INVOICE_DATA_SUBMITTED_SUCCESSFULLY:\r\n \"ఇన్వాయిస్ డేటా విజయవంతంగా సమర్పించబడింది\",\r\n UNABLE_TO_SUBMIT_INVOICE_DATA: \"ఇన్వాయిస్ డేటాను సమర్పించడం సాధ్యం కాలేదు\",\r\n INVOICE_SETTLED_SUCCESSFULLY: \"ఇన్వాయిస్ విజయవంతంగా పరిష్కరించబడింది\",\r\n UNABLE_TO_SETTLE_INVOICE: \"ఇన్వాయిస్ పరిష్కరించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_ORDERS: \"ఆర్డర్‌ల జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_UOM_LIST: \"Uom జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GENERATE_ESTIMATED_ORDER:\r\n \"అంచనా క్రమాన్ని రూపొందించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_SERVICES: \"సేవల జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_STORE_DATA: \"స్టోర్ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_PICKUP_DATA: \"పికప్ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n TAGS_GENERATED_SUCCESSFULLY: \"టాగ్లు విజయవంతంగా సృష్టించబడ్డాయి\",\r\n UNABLE_TO_GENERATE_TAGS: \"ట్యాగ్‌లను రూపొందించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_ORDER_INFORMATION: \"ఆర్డర్ సమాచారం పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_TIME_CARD: \"టైమ్ కార్డ్ పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_ADD_ON_SERVICES: \"సేవలపై యాడ్‌ను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_PACKAGING_CHARGES:\r\n \"ప్యాకేజింగ్ ఛార్జీలను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DELIVERY_CHARGES: \"డెలివరీ ఛార్జీలు పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_GARMENTS: \"వస్త్రాల జాబితాను పొందలేకపోయాము\",\r\n UNABLE_TO_GET_RATES: \"రేట్లు పొందడం సాధ్యం కాలేదు\",\r\n ORDER_SUCCESSFULLY_CREATED: \"ఆర్డర్ విజయవంతంగా సృష్టించబడింది\",\r\n UNABLE_TO_CREATE_THE_ORDER: \"ఆర్డర్‌ను సృష్టించడం సాధ్యం కాలేదు\",\r\n PLEASE_ENTER_THE_PROMOCODE: \"దయచేసి ప్రోమోకోడ్‌ను నమోదు చేయండి\",\r\n PROMOCODE_APPLIED_SUCCESSFULLY: \"ప్రోమోకోడ్ విజయవంతంగా వర్తించబడింది\",\r\n PROMOCODE_IS_INVALID: \"ప్రోమోకోడ్ చెల్లదు\",\r\n UNABLE_TO_VALIDATE_PROMOCODE: \"ప్రోమోకోడ్‌ను ధృవీకరించడం సాధ్యం కాలేదు\",\r\n ORDER_SUCCESSFULLY_UPDATED: \"ఆర్డర్ విజయవంతంగా నవీకరించబడింది\",\r\n UNABLE_TO_UPDATE_THE_ORDER: \"ఆర్డర్‌ను నవీకరించడం సాధ్యం కాలేదు\",\r\n ORDER_SUCCESSFULLY_CANCELLED: \"ఆర్డర్ విజయవంతంగా రద్దు చేయబడింది\",\r\n UNABLE_TO_CANCEL_ORDER: \"ఆర్డర్‌ను రద్దు చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_PICKUP_DATA:\r\n \"పికప్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_USER_DATA:\r\n \"వినియోగదారు డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_REASSIGN_THE_PICKUP: \"పికప్‌ను తిరిగి కేటాయించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DATA_FOR_HISTORY: \"చరిత్ర కోసం డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES:\r\n \"డెలివరీ రకాల కోసం డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS:\r\n \"పికప్ స్థితి కోసం డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA:\r\n \"ఆపరేషన్ ఇన్స్ట్రక్షన్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_SERVICES_DATA: \"సేవల డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_REASONS_DATA: \"కారణాల డేటాను పొందలేకపోయాము\",\r\n UNABLE_TO_GET_DATA_FOR_CUSTOMER: \"కస్టమర్ కోసం డేటాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_CUSTOMER_ADDRESSES:\r\n \"కస్టమర్ చిరునామాలను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_DATA: \"డేటాను పొందడం సాధ్యం కాలేదు\",\r\n PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE:\r\n \"దయచేసి కస్టమర్ పేరు / చిరునామా / సేవలు / ప్రోమోకోడ్‌ను ఇన్పుట్ చేయండి\",\r\n PICKUP_IS_UPDATED: \"పికప్ నవీకరించబడింది\",\r\n PICKUP_IS_SCHEDULED: \"పికప్ షెడ్యూల్ చేయబడింది\",\r\n PICKUP_IS_RESCHEDULED_SUCCESSFULLY: \"పికప్ విజయవంతంగా షెడ్యూల్ చేయబడింది\",\r\n UNABLE_TO_RESCHEDULE_THE_PICKUP: \"పికప్‌ను రీషెడ్యూల్ చేయడం సాధ్యం కాలేదు\",\r\n PICKUP_IS_CANCELLED_SUCCESSFULLY: \"పికప్ విజయవంతంగా రద్దు చేయబడింది\",\r\n UNABLE_TO_CANCEL_PICKUP: \"పికప్‌ను రద్దు చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_PRE_QC_RESPONSE_LIST:\r\n \"ప్రీ-క్యూసి ప్రతిస్పందన జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n QC_RESPONSE_SUBMITTED_SUCCESSFULLY:\r\n \"QC ప్రతిస్పందన విజయవంతంగా సమర్పించబడింది\",\r\n UNABLE_TO_SUBMIT_QC_RESPONSE: \"QC ప్రతిస్పందనను సమర్పించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA:\r\n \"డెలివరీ / ఇన్వాయిస్ డేటా కోసం సిద్ధంగా ఉన్న జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_SUBMIT_STICKER_DATA: \"స్టిక్కర్ డేటాను సమర్పించడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_STICKER_DATA: \"స్టిక్కర్ డేటాను పొందడం సాధ్యం కాలేదు\",\r\n PLEASE_ENTER_STICKER_ID: \"దయచేసి స్టిక్కర్ ఐడిని నమోదు చేయండి\",\r\n UNABLE_TO_GET_LIST_OF_SERVICE_DATA:\r\n \"సేవా డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_SPLIT_ORDER_NUMBERS:\r\n \"స్ప్లిట్ ఆర్డర్ సంఖ్యలను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_FACTORY_DATA:\r\n \"ఫ్యాక్టరీ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n HAS_BEEN_GENERATED: \"గేట్ పాస్ రూపొందించబడింది\",\r\n UNABLE_TO_GET_LIST_OF_STICKER_DATA:\r\n \"స్టిక్కర్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA:\r\n \"ప్యాకేజీ కాన్ఫిగరేషన్ డేటా జాబితాను పొందడం సాధ్యం కాలేదు\",\r\n PLEASE_SELECT_ATLEAST_ONE_ROW: \"దయచేసి కనీసం ఒక వరుసను ఎంచుకోండి\",\r\n UNABLE_TO_LOAD_REWASH_REASONS: \"రీవాష్ కారణాలను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST:\r\n \"జాబితా ద్వారా అభ్యర్థించిన రీవాష్‌ను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS:\r\n \"ఆపరేషన్ సూచనలను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_BRANDS: \"బ్రాండ్‌లను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_SIZES: \"పరిమాణాలను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n UNABLE_TO_LOAD_COLORS: \"రంగులను లోడ్ చేయడం సాధ్యం కాలేదు\",\r\n WALLET_BALANCE: \"వాలెట్ బ్యాలెన్స్\",\r\n INVALID: \"చెల్లదు\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK: \"SplitOrderNumber ఖాళీగా ఉండకూడదు\",\r\n VALID: \"చెల్లుతుంది\",\r\n ADJUSTMENTAMOUNT_SHOULD_BE_BETWEEN_0_AND_10:\r\n \"సర్దుబాటు మొత్తం 0 మరియు 10 మధ్య ఉండాలి\",\r\n SERVICE_RATE_NOT_AVAILABLE: \"సేవా రేటు అందుబాటులో లేదు\",\r\n ADDON_SERVICE_RATE_NOT_AVAILABLE: \"యాడ్-ఆన్ సేవా రేటు అందుబాటులో లేదు\",\r\n SCAN_GARMENT: \"గార్మెంట్ స్కాన్ చేయండి\",\r\n CLEAR: \"క్లియర్\",\r\n SCAN_TAG: \"ట్యాగ్ స్కాన్ చేయండి\",\r\n PLEASE_SCAN_TAG: \"ట్యాగ్ స్కాన్ చేయండి\",\r\n READY_FOR_TRANSFER_OUT: \"బదిలీ కోసం సిద్ధంగా ఉంది\",\r\n SCANNED_GARMENT_LIST: \"స్కాన్ చేసిన వస్త్ర జాబితా\",\r\n THIS_STICKER_BELONGS_TO_ANOTHER_STORE:\r\n \"ఈ స్టిక్కర్ మరొక దుకాణానికి చెందినది\",\r\n PLEASE_ENTER_VALID_STICKER_NUMBER:\r\n \"దయచేసి చెల్లుబాటు అయ్యే స్టిక్కర్ సంఖ్యను నమోదు చేయండి\",\r\n ALL: \"అన్నీ\",\r\n THIS_TAG_ALREADY_EXISTS: \"ఈ ట్యాగ్ ఇప్పటికే ఉంది\",\r\n PREVIOUSLY_PACKE_ON: \"గతంలో ప్యాక్ చేయబడింది\",\r\n CASH_COLLECTION: \"నగదు సేకరణ\",\r\n ALREADY_EXISTS: \"ఇప్పటికే ఉన్నది\",\r\n USER_PUNCHIN_NOT_FOUND: \"వినియోగదారు పంచిన్ కనుగొనబడలేదు\",\r\n IT_IS_ALREADY_BLOCKED: \"ఇది ఇప్పటికే బ్లాక్ చేయబడింది\",\r\n AUTHORIZED: \"అధీకృత\",\r\n BLOCKED: \"నిరోధించబడింది\",\r\n INVALID_OTP: \"చెల్లని OTP\",\r\n PLEASE_CHECK_THE_PROVIDED_BANNERID:\r\n \"దయచేసి అందించిన బ్యానర్ ఐడిని తనిఖీ చేయండి\",\r\n ALREADY_IN_USE: \"ఇప్పటికే వాడుకలో ఉంది\",\r\n ALREADY_EXISTS: \"ఇప్పటికే ఉన్నది\",\r\n DATE_OVERLAPPING: \"తేదీ అతివ్యాప్తి\",\r\n REFERRAL_CODE_DOES_NOT_EXISTS: \"రెఫరల్ కోడ్ లేదు\",\r\n REFERRAL_CODE_IS_ALREADY_USED: \"రెఫరల్ కోడ్ ఇప్పటికే ఉపయోగించబడింది\",\r\n USER_NAME_IS_INVALID: \"మీ యూసర్ నేమ్ సరైనది కాదు\",\r\n PASSWORD_IS_INVALID: \"పాస్వర్డ్ చెల్లదు\",\r\n USER_NAME_AND_PASSWORD_DOES_NOT_MATCH:\r\n \"వినియోగదారు పేరు మరియు పాస్‌వర్డ్ సరిపోలడం లేదు\",\r\n USER_IS_NOT_EXISTS: \"వినియోగదారు ఉనికిలో లేరు\",\r\n SPLIT_ORDER_NUMBER_IS_REQUIRED: \"స్ప్లిట్ ఆర్డర్ సంఖ్య అవసరం\",\r\n INVALID_SPLIT_ORDER_NUMBER: \"చెల్లని స్ప్లిట్ ఆర్డర్ సంఖ్య\",\r\n IT_IS_ALREADY_INACTIVATED: \"ఇది ఇప్పటికే క్రియారహితం చేయబడింది\",\r\n COUPON_CODE_NOT_EXISTS: \"కూపన్ కోడ్ లేదు\",\r\n CASH_COUPON_EXPIRED: \"నగదు కూపన్ గడువు ముగిసింది\",\r\n IT_IS_APPLICABLE_FOR_ONLY_FIRST_TIME_USERS:\r\n \"ఇది మొదటిసారి వినియోగదారులకు మాత్రమే వర్తిస్తుంది\",\r\n YOU_HAVE_ALREADY_USED_THIS_COUPON: \"మీరు ఇప్పటికే ఈ కూపన్‌ను ఉపయోగించారు\",\r\n INVALID_COUPON: \"చెల్లని కూపన్\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK: \"SplitOrderNumber ఖాళీగా ఉండకూడదు\",\r\n THIS_PICKUP_IS_ALREADY_IN_PROGRESS: \"ఈ పికప్ ఇప్పటికే ప్రోగ్రెస్‌లో ఉంది\",\r\n YOU_HAVE_ALREADY_RESCHEDULED_THIS_PICKUP_3_TIMES:\r\n \"మీరు ఇప్పటికే ఈ పికప్‌ను 3 సార్లు రీ షెడ్యూల్ చేసారు\",\r\n PLEASE_CHECK_WITH_DELIVERYID: \"దయచేసి DeliveryID తో తనిఖీ చేయండి\",\r\n PLEASE_ASSIGN_IT_TO_SOMEONE_FIRST:\r\n \"దయచేసి దీన్ని మొదట ఎవరికైనా కేటాయించండి\",\r\n CANNOT_REASSIGN_DELIVERY_AS_ALREADY_PROCEED_FURTHER:\r\n \"ఇప్పటికే మరింత ముందుకు సాగినందున డెలివరీని తిరిగి కేటాయించలేము\",\r\n PLEASE_CHECK_WITH_STATUS: \"దయచేసి స్థితితో తనిఖీ చేయండి\",\r\n STICKER_ID: \"స్టిక్కర్ ID\",\r\n PACKED_On: \"ప్యాక్ ఆన్\",\r\n PACKING_IDS: \"ప్యాకింగ్ ఐడిలు\",\r\n RESORTING_AND_PACKAGING: \"రిసార్టింగ్ మరియు ప్యాకేజింగ్\",\r\n RESORTING_AND_PACKAGING_List: \"రిసార్టింగ్ మరియు ప్యాకేజింగ్ జాబితా\",\r\n PADING_QC_RESPONSE: \"పెండింగ్‌లో ఉన్న ప్రీ-క్యూసి ప్రతిస్పందన గణన\",\r\n LANGUAGE: \"భాష\",\r\n CHANGE_PASSWORD: \"పాస్వర్డ్ మార్చండి\",\r\n LOGOUT: \"లాగ్ అవుట్\",\r\n TAG_NUMBER_NOT_FOUND: \"ట్యాగ్ సంఖ్య కనుగొనబడలేదు\",\r\n TAG_NO: \"ట్యాగ్ సంఖ్య\",\r\n\r\n YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE:\r\n \"మీరు JPG / PNG / JPEG ఫైల్‌ను మాత్రమే అప్‌లోడ్ చేయవచ్చు\",\r\n IMAGE_MUST_BE_SMALLER_THAN_5_MB: \"చిత్రం 5 MB కన్నా చిన్నదిగా ఉండాలి\",\r\n GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC:\r\n \"క్యూసి కోసం జోడించడానికి వస్త్రం ఫ్యాక్టరీలో ఉండాలి\",\r\n ORDER_ALREADY_CONFIRMED: \"ఆర్డర్ ఇప్పటికే ధృవీకరించబడింది\",\r\n PENDING_PAYMENT: \"చెల్లింపు పెండింగ్‌లో ఉంది\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_SERVICES_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"కొన్ని సేవలు వ్యవస్థలో లేనట్లు కనిపిస్తోంది. దయచేసి సర్వీస్ మాస్టర్ స్క్రీన్‌లో వివరాలను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_GARMENTS_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"కొన్ని వస్త్రాలు వ్యవస్థలో లేనట్లు కనిపిస్తోంది. దయచేసి గార్మెంట్ మాస్టర్ స్క్రీన్‌లో వివరాలను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి\",\r\n SERVICE_TAX_DETAIL_IS_MISSING_IN_SECOND_SHEET:\r\n \"సేవా పన్ను వివరాలు రెండవ షీట్లో లేవు\",\r\n PLATFORM: \"చెల్లింపు పెండింగ్‌లో ఉంది\",\r\n ORDER_COUNT: \"వేదిక\",\r\n PROMO_CODE: \"ప్రోమో కోడ్\",\r\n PICK_BOY: \"పికప్ బాయ్\",\r\n CUST_MO_No: \"కస్టమర్ మొబైల్ నం\",\r\n SERVICE_ICONS: \"సేవా చిహ్నాలు\",\r\n REQUEST_CREATED_DATE: \"అభ్యర్థన సృష్టించిన తేదీ & సమయం\",\r\n PICKUP_REQUEST_DATE: \"పికప్ అభ్యర్థించిన తేదీ & స్లాట్\",\r\n ORDER_CREATED_DATE: \"ఆర్డర్ సృష్టించిన తేదీ & సమయం\",\r\n REPRINT_TAX_INVOICE: \"పన్ను ఇన్వాయిస్ను తిరిగి ముద్రించండి\",\r\n SEMI_EXPRESS_RATE: \"(సెమీ ఎక్స్‌ప్రెస్ - 1.5x)\",\r\n EXPRESS_RATE: \"(ఎక్స్‌ప్రెస్ - 2x)\",\r\n TOTAL_STICKERS: \"మొత్తం స్టిక్కర్లు\",\r\n DELIVERY_BOY: \"డెలివరీ బాయ్\",\r\n POST_QC: \"QC ను పోస్ట్ చేయండి\",\r\n UNABLE_TO_GET_POST_QC_DATA: \"పోస్ట్ qc డేటాను పొందడం సాధ్యం కాలేదు\",\r\n GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS:\r\n \"పోస్ట్ క్యూసి ప్రక్రియ కోసం వస్త్రం మరింత ముందుకు సాగింది\",\r\n POST_QC_STATUS: \"పోస్ట్ క్యూసి స్థితి\",\r\n POST_QC_REMARK: \"పోస్ట్ క్యూసి రిమార్క్\",\r\n POST_QC_DATETIME: \"QC డేట్‌టైమ్‌ను పోస్ట్ చేయండి\",\r\n POSTED_BY: \"ద్వారా\",\r\n ADD_GARMENT_FOR_POST_QC: \"పోస్ట్ క్యూసి కోసం వస్త్రాన్ని జోడించండి\",\r\n LATEST_POSTQC_DETAILS: \"తాజా పోస్ట్ క్యూసి వివరాలు\",\r\n PICKUP_TIMESLOT: \"పికప్ టైమ్‌స్లాట్\",\r\n UNABLE_TO_GET_STORE_NAME: \"స్టోర్ నామ్ పొందడం సాధ్యం కాలేదు\",\r\n CANCEL_REASON_IS_REQUIRED: \"CancelReason ఫీల్డ్ అవసరం\",\r\n FACTORY_GATE_PASS: \"ఫ్యాక్టరీ గేట్ పాస్ జాబితా\",\r\n CUSTOMER_REMARK: \"కస్టమర్ వ్యాఖ్య\",\r\n STORE_OUT_DATE: \"నిల్వ తేదీ\",\r\n LAST_UPDATED_ON: \"చివరిగా నవీకరించబడింది\",\r\n LAST_UPDATED_BY: \"చివరిగా నవీకరించబడింది\",\r\n FACTORY_IN_DATETIME: \"డేట్‌టైమ్‌లో ఫ్యాక్టరీ\",\r\n GARMENTS_FACTORY_IN: \"గార్మెంట్స్ ఫ్యాక్టరీ ఇన్\",\r\n GARMENTS_MISSING: \"వస్త్రాలు లేవు\",\r\n BALANCED_GARMENTS: \"సమతుల్య వస్త్రాలు\",\r\n FACTORY_IN_DATE: \"ఫ్యాక్టరీ ఇన్ డేట్\",\r\n LOT_SIZE: \"లాట్ సైజు\",\r\n STANDARD_RATE_CARD: \"ప్రామాణిక రేటు కార్డు\",\r\n ORDER_STATUS: \"ఆర్డర్ స్థితి\",\r\n INVOICE_STATUS: \"ఇన్వాయిస్ స్థితి\",\r\n STOREINDATE: \"తేదీలో స్టోర్ చేయండి\",\r\n FACTORYOUTDATE: \"ఫ్యాక్టరీ ముగిసిన తేదీ\",\r\n PLEASE_SELECT_PAYMENT_MODE: \"దయచేసి చెల్లింపు మోడ్‌ను ఎంచుకోండి\",\r\n SELECT_PACKING_MATERIAL:\r\n \"మీరు ప్యాకింగ్ మెటీరియల్‌ను 99 వరకు మాత్రమే ఎంచుకోవచ్చు\",\r\n SOMETHING_WENT_WRONG: \"ఏదో తప్పు జరిగింది\",\r\n UNABLE_TO_GET_PAYMENT_METHOD_DATA:\r\n \"చెల్లింపు పద్ధతి డేటాను పొందడం సాధ్యం కాలేదు\",\r\n ARE_YOU_SURE_YOU_WANT_TO_MARK_ORDER_AS_COMPLETED:\r\n \"ఆర్డర్ పూర్తయినట్లు మీరు ఖచ్చితంగా గుర్తించాలనుకుంటున్నారా?\",\r\n ORDER_MARKED_AS_COMPLETED: \"ఆర్డర్ పూర్తయినట్లు గుర్తించబడింది\",\r\n UNABLE_TO_MARK_ORDER_AS_COMPLETED:\r\n \"ఆర్డర్ పూర్తయినట్లు గుర్తించడం సాధ్యం కాలేదు\",\r\n EDC_CONFIGURATION: \"EDC పరికరం ఈ స్టోర్తో లింక్ చేయబడలేదు\",\r\n ALTER_PHONE_NUMBER: \"ప్రత్యామ్నాయ ఫోన్ నంబర్\",\r\n // ATTENDANCE: \"హాజరు\",\r\n // ATTENDANCE_REPORT: \"హాజరు నివేదిక\",\r\n // OTHER_TYPE: \"ఇతర రకం\",\r\n // PLEASE_ENTER_OTHER_TYPE: \"దయచేసి ఇతర రకాన్ని నమోదు చేయండి\",\r\n // ENTER_OTHER_TYPE: \"ఇతర రకాన్ని నమోదు చేయండి\",\r\n },\r\n TAMIL: {\r\n SELECT_SERVICE: \"சேவையைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_FACTORY: \"தொழிற்சாலையைத் தேர்ந்தெடுக்கவும்\",\r\n SPLIT_ORDER: \"பிளவு ஆணை\",\r\n CUSTOMER_NAME: \"வாடிக்கையாளர் பெயர்\",\r\n ORDER_DATE: \"ஆர்டர் தேதி\",\r\n TOTAL_GARMENTS: \"மொத்த ஆடைகள்\",\r\n SPLIT_ORDER_NUMBER: \"ஆர்டர் எண் பிரிக்கவும்\",\r\n TAG_NUMBER: \"குறிச்சொல் எண்\",\r\n GARMENT_NAME: \"ஆடை பெயர்\",\r\n ADD_ON_SERVICES: \"கூடுதல் சேவைகள்\",\r\n GENERATE_GATE_PASS: \"கேட் பாஸை உருவாக்குங்கள்\",\r\n GATE_PASS_NUMBER: \"கேட் பாஸ் எண்\",\r\n STORE_NAME: \"கடை பெயர்\",\r\n FACTORY_NAME: \"தொழிற்சாலை பெயர்\",\r\n STORE_GARMENTS_OUT: \"ஆடைகளை சேமிக்கவும்\",\r\n TOTAL_SPLIT_NUMBER: \"மொத்த பிளவு எண்\",\r\n GATE_PASS_DATE: \"கேட் பாஸ் தேதி\",\r\n STIKER_NUMBER: \"ஸ்டைக்கர் எண்\",\r\n PLEASESCAN_ADD_STICKER: \"தயவுசெய்து ஸ்கேன் / ஸ்டிக்கரைச் சேர்க்கவும்\",\r\n ENTER_SCAN_STICKER: \"ஸ்டிக்கரை உள்ளிடவும் / ஸ்கேன் செய்யவும்\",\r\n CUSTOMER_CONTACT: \"வாடிக்கையாளர் தொடர்பு\",\r\n DELIVERY_TYPE: \"டெலிவரி வகை\",\r\n SPLIT_ORDER_NO: \"பிளவு ஆணை எண்\",\r\n GATE_PASS_NO: \"கேட் பாஸ் எண்\",\r\n DELIVERY_DATE: \"டெலிவரி தேதி\",\r\n GARMENTS_IN_PROCESS: \"ஆடைகள் செயல்பாட்டில் உள்ளன\",\r\n PACKED_GARMENTS: \"பேக் செய்யப்பட்ட ஆடைகள்\",\r\n PACKING_MATERIAL: \"பேக்கிங் பொருள்\",\r\n STICKER_STATUS: \"ஸ்டிக்கர் நிலை\",\r\n SPLIT_ORDER_STATUS: \"பிளவு ஆணை நிலை\",\r\n GARMENTS_PACKED_INFORMATION: \"ஆடைகள் நிரம்பிய தகவல்\",\r\n USER_EXPENSE_ENTRY: \"பயனர் செலவு நுழைவு\",\r\n USER_NAME: \"பயனர் பெயர்\",\r\n EXPENSE_DATE: \"செலவு தேதி\",\r\n AMOUNT: \"தொகை\",\r\n REMARKS: \"குறிப்புகள்\",\r\n ARE_YOU_SURE: \"நீ சொல்வது உறுதியா ?\",\r\n ADD_EXPENSE: \"செலவு சேர்க்கவும்\",\r\n APPLY: \"விண்ணப்பிக்கவும்\",\r\n SELECT_EXPENSE_TYPE: \"செலவு வகையைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_ENTER_AMOUNT: \"தொகையை உள்ளிடவும்\",\r\n ENTER_AMOUNT: \"தொகையை உள்ளிடவும்\",\r\n ENTER_REMARKS: \"குறிப்புகளை உள்ளிடவும்\",\r\n GARMENTS_PENDING_TO_SEND_TO_FACTORY:\r\n \"ஆடைகள் தொழிற்சாலைக்கு அனுப்ப நிலுவையில் உள்ளன\",\r\n ORDERS_PENDING_TO_SEND_TO_FACTORY:\r\n \"தொழிற்சாலைக்கு அனுப்ப உத்தரவுகள் நிலுவையில் உள்ளன\",\r\n SPILT_ORDERS_RECEIVED_FROM_FACTORY:\r\n \"தொழிற்சாலையிலிருந்து பெறப்பட்ட சிதறிய ஆர்டர்கள்\",\r\n PENDING_FOR_NO_OF_DAYS: \"நாட்கள் இல்லை என்ற நிலுவையில் உள்ளது\",\r\n STORE_GARMENT_INVENTORY: \"ஆடை சரக்குகளை சேமிக்கவும்\",\r\n GARMENTS_RECEIVED_FROM_FACTORY: \"தொழிற்சாலையிலிருந்து பெறப்பட்ட ஆடைகள்\",\r\n FACTORY_TRANSFER_IN: \"தொழிற்சாலை பரிமாற்றம்\",\r\n SELECT_STORE: \"கடையைத் தேர்ந்தெடுக்கவும்\",\r\n GET_MISSING_GARMENTS: \"காணாமல் போன ஆடைகளைப் பெறுங்கள்\",\r\n TAGS_FROM_STORES: \"குறிச்சொற்கள் கடைகளில் இருந்து\",\r\n SCANNING: \"ஸ்கேன் செய்கிறது\",\r\n TAGS_TO_THE_FACTORY: \"தொழிற்சாலைக்கு குறிச்சொற்கள்\",\r\n MISSING_GARMENTS: \"காணாமல் போன ஆடைகள்\",\r\n SCAN_COMPLETE: \"ஸ்கேன் முடிந்தது\",\r\n SEARCH_HERE: \"இங்கே தேடவும்\",\r\n RESORTING_AND_PACKAGING: \"ரிசார்டிங் & பேக்கேஜிங்\",\r\n ORDER_NUMBER: \"ஆர்டர் எண்\",\r\n SRORE_NAME: \"சோர் பெயர்\",\r\n NO_OF_GARMENTS: \"ஆடைகள் இல்லை\",\r\n GARMENT_LEVEL_INFO: \"ஆடை நிலை தகவல்\",\r\n SELECTED_PENDING_GARMENT: \"தேர்ந்தெடுக்கப்பட்ட நிலுவையில் உள்ள ஆடை\",\r\n PREVIOUSLY_GARMENTS_PACKED_IN: \"முன்பு ஆடைகள் நிரம்பியிருந்தன\",\r\n PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"பேக் செய்யப்பட வேண்டிய ஆடைகள் நிலுவையில் உள்ளன\",\r\n GENERATE_STICKER: \"ஸ்டிக்கரை உருவாக்குங்கள்\",\r\n PRINT_GENERATE_STICKER: \"ஸ்டிக்கரை உருவாக்கு அச்சிடுக\",\r\n SR_NO: \"சீனியர் எண்\",\r\n GARMENTS_PACKED: \"ஆடைகள் நிரம்பியுள்ளன\",\r\n PENDING_GARMENTS: \"நிலுவையில் உள்ள ஆடைகள்\",\r\n PACKING_GARMENTS: \"ஆடைகளை பொதி செய்தல்\",\r\n FACTORY_TRANSFER_OUT: \"தொழிற்சாலை இடமாற்றம்\",\r\n FACTORY_GATE_PASS_NUMBER: \"தொழிற்சாலை கேட் பாஸ் எண்:\",\r\n STORE_ADDRESS: \"கடை முகவரி\",\r\n CREATED_BY: \"உருவாக்கியது\",\r\n S_NO: \"எஸ். இல்லை\",\r\n SPLIT_ORDER_ID: \"ஸ்ப்ளிட் ஆர்டர் ஐடி\",\r\n NUMBER_OF_GARMENTS: \"ஆடைகளின் எண்ணிக்கை\",\r\n PACKED: \"நிரம்பியுள்ளது\",\r\n ORDER_LOT_SIZE: \"ஆர்டர் நிறைய அளவு\",\r\n PREVIOUSLY_SENT: \"முன்பு அனுப்பப்பட்டது\",\r\n SENDING_TODAY: \"இன்று அனுப்புகிறது\",\r\n PENDING: \"நிலுவையில் உள்ளது\",\r\n BAG: \"பை\",\r\n HANGER: \"ஆபத்து\",\r\n BLANKET: \"போர்வை\",\r\n SHOE: \"ஷூ\",\r\n CARPET: \"கம்பளம்\",\r\n BLAZER: \"பிளேஸர்\",\r\n OTHERS: \"மற்றவைகள்\",\r\n STICKER_NO: \"ஸ்டிக்கர் எண்\",\r\n SPLLIT_ORDER_NO: \"ஸ்ப்ளிட் ஆர்டர் எண்\",\r\n PACKING_MATERIAL_NAME: \"பேக்கிங் பொருள் பெயர்\",\r\n PRE_QC_RESPONSE_LIST: \"முன் QC மறுமொழி பட்டியல்\",\r\n SELECT_QC_STATUS: \"QC நிலையைத் தேர்ந்தெடுக்கவும்\",\r\n TAG: \"குறிச்சொல்\",\r\n CONTACT: \"தொடர்பு கொள்ளுங்கள்\",\r\n QC_REQUEST: \"Qc கோரிக்கை\",\r\n TIME: \"நேரம்\",\r\n QC_REASON: \"QC காரணம்\",\r\n REMARK: \"கருத்து\",\r\n QC_PENDING_FROM: \"QC நிலுவையில் உள்ளது\",\r\n QC_STATUS: \"QC நிலை\",\r\n ENTER_SCAN_TAG_NUMBER: \"குறிச்சொல் எண்ணை உள்ளிடவும் / ஸ்கேன் செய்யவும்\",\r\n GARMENT_HISTORY: \"ஆடை வரலாறு\",\r\n GARMENT_INFORMATION: \"ஆடை தகவல்\",\r\n GARMENT_STATUS: \"ஆடை நிலை\",\r\n GATE_PASS: \"கடவுச்சீட்டு\",\r\n BRAND: \"பிராண்ட்\",\r\n COLOR: \"நிறம்\",\r\n ADD_ON_SERVICE: \"சேவையைச் சேர்\",\r\n SPECIAL_INSTRUCTION: \"சிறப்பு வழிமுறை\",\r\n LATEST_QC_DETAILS: \"சமீபத்திய QC விவரங்கள்\",\r\n IMAGES: \"படங்கள்\",\r\n REASON: \"காரணம்\",\r\n SELECT_REASON: \"காரணம் என்பதைத் தேர்ந்தெடுக்கவும்\",\r\n COMMUNICATION_HISTORY: \"தொடர்பு வரலாறு\",\r\n SELECT_SCAN_GARMENT: \"ஆடையைத் தேர்ந்தெடுக்கவும் / ஸ்கேன் செய்யவும்\",\r\n GARMENT_FOR_QC: \"QC க்கான ஆடை\",\r\n SCANNED_ITEM: \"ஸ்கேன் செய்யப்பட்ட பொருள்\",\r\n ADDON_SERVICE: \"AddOn சேவை\",\r\n CONTACT_NO: \"தொடர்பு எண்\",\r\n STICKER_INFORMATION: \"ஸ்டிக்கர் தகவல்\",\r\n DOWNLOAD_GATE_PASS: \"கேட் பாஸைப் பதிவிறக்கவும்\",\r\n STORE_GATE_PASS_NUMBER: \"ஸ்டோர் கேட் பாஸ் எண்\",\r\n FACTORY_ADDRESS: \"தொழிற்சாலை முகவரி\",\r\n PICKUP_DATE: \"இடும் தேதி\",\r\n REFFERAL_PROGRAM_NAME: \"பரிந்துரைப்பு நிரல் பெயர்\",\r\n REFFERAL_BONUS_AMOUNT: \"பரிந்துரை போனஸ் தொகை\",\r\n REFEREE_BONUS_AMOUNT: \"நடுவர் போனஸ் தொகை\",\r\n YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM:\r\n \"கடைசியாக சேர்க்கப்பட்ட நிரலை மட்டுமே நீங்கள் புதுப்பிக்க முடியும்\",\r\n UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA:\r\n \"பரிந்துரைப்பு போனஸ் உள்ளமைவு தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_SUBMIT_THE_DATA: \"தரவை சமர்ப்பிக்க முடியவில்லை\",\r\n ADD_REFFERAL_BONUS_CONFIGURATION: \"பரிந்துரை போனஸ் உள்ளமைவைச் சேர்க்கவும்\",\r\n VIEW_REFFERAL_BONUS_CONFIGURATION: \"பரிந்துரை போனஸ் உள்ளமைவைக் காண்க\",\r\n EDIT_REFFERAL_BONUS_CONFIGURATION: \"பரிந்துரை போனஸ் உள்ளமைவைத் திருத்துக\",\r\n PLEASE_ENTER_REFFERAL_PROGRAM_NAME:\r\n \"தயவுசெய்து பரிந்துரைப்பு நிரல் பெயரை உள்ளிடவும்\",\r\n ENTER_REFFERAL_PROGRAM_NAME: \"பரிந்துரை நிரல் பெயரை உள்ளிடவும்\",\r\n PLEASE_ENTER_REFERRAL_BONUS_AMOUNT:\r\n \"தயவுசெய்து பரிந்துரை போனஸ் தொகையை உள்ளிடவும்\",\r\n ENTER_REFERRAL_BONUS_AMOUNT: \"பரிந்துரை போனஸ் தொகையை உள்ளிடவும்\",\r\n PLEASE_ENTER_REFEREE_BONUS_AMOUNT:\r\n \"தயவுசெய்து நடுவர் போனஸ் தொகையை உள்ளிடவும்\",\r\n ENTER_REFEREE_BONUS_AMOUNT: \"நடுவர் போனஸ் தொகையை உள்ளிடவும்\",\r\n ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"போனஸ் தொகை செல்லுபடியை (நாட்கள்) உள்ளிடவும்\",\r\n ARE_YOU_SURE_YOU_WANT_TO_CREATE_THIS_PROGRAM_AS_PREVIOUS_PROGRAMS_WILL_GET_DEACTIVATED:\r\n \"முந்தைய நிரல்கள் செயலிழக்கப்படும் என்பதால் இந்த நிரலை உருவாக்க விரும்புகிறீர்களா?\",\r\n FILE_NAME: \"கோப்பு பெயர்\",\r\n TOTAL_RECORDS: \"மொத்த பதிவுகள்\",\r\n SUCCEEDED: \"வெற்றி பெற்றது\",\r\n DOWNLOAD: \"பதிவிறக்க Tamil\",\r\n FAILED: \"தோல்வி\",\r\n UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA:\r\n \"பணியாளர் கடன் தரவுகளின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_UPLOAD_THE_FILE: \"கோப்பை பதிவேற்ற முடியவில்லை\",\r\n DOWNLOAD_FORMAT: \"பதிவிறக்க வடிவம்\",\r\n UPLOAD_FILE: \"கோப்பை பதிவேற்றவும்\",\r\n ADD_EMPLOYEE_CREDITS: \"பணியாளர் வரவுகளைச் சேர்க்கவும்\",\r\n VIEW_EMPLOYEE_CREDITS: \"பணியாளர் வரவுகளைக் காண்க\",\r\n EDIT_EMPLOYEE_CREDITS: \"பணியாளர் வரவுகளைத் திருத்துக\",\r\n UPLOAD_EMPLOYEE_CREDIT_CONFIGURATION_FILE:\r\n \"பணியாளர் கடன் உள்ளமைவு கோப்பை பதிவேற்றவும்\",\r\n PLEASE_SELECT_FILE: \"கோப்பைத் தேர்ந்தெடுக்கவும்\",\r\n CLICK_TO_UPLOAD: \"பதிவேற்ற கிளிக் செய்க\",\r\n UPLOAD: \"பதிவேற்றவும்\",\r\n UNABLE_TO_LOAD_PACKAGES: \"தொகுப்புகளை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_CUSTOMERS:\r\n \"வாடிக்கையாளர்களின் பட்டியலைப் பெற முடியவில்லை\",\r\n TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED:\r\n \"பரிவர்த்தனை வெற்றிகரமாக செயல்படுத்தப்பட்டது\",\r\n UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN:\r\n \"பரிவர்த்தனை செயலாக்க முடியவில்லை மீண்டும் முயற்சிக்கவும்\",\r\n UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM:\r\n \"செயலாக்க முடியவில்லை. தொழில்நுட்ப குழுவை தொடர்பு கொள்ளவும்\",\r\n PACKAGE_PURCHASED_SUCCESSFULLY: \"தொகுப்பு வெற்றிகரமாக வாங்கப்பட்டது\",\r\n UNABLE_TO_BUY_PACKAGE: \"தொகுப்பு ���ாங்க முடியவில்லை\",\r\n BUY: \"வாங்க\",\r\n PLEASE_SELECT_CUSTOMER: \"வாடிக்கையாளரைத் தேர்ந்தெடுக்கவும்\",\r\n SEARCH_CUSTOMER: \"வாடிக்கையாளரைத் தேடுங்கள்\",\r\n MONEY_TYPE: \"பண வகை\",\r\n ADDED_BY: \"மூலம் சேர்க்கப்பட்டது\",\r\n ADDED_ON: \"சேர்க்கப்பட்டது\",\r\n UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA:\r\n \"முன்கூட்டியே செலுத்தும் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n ADVANCE_COLLECTED_SUCCESSFULLY: \"அட்வான்ஸ் வெற்றிகரமாக சேகரிக்கப்பட்டது\",\r\n UNABLE_TO_ADD_AMOUNT_TO_LKWALLET:\r\n \"LKWallet இல் தொகையைச் சேர்க்க முடியவில்லை\",\r\n ADD_ADVANCE_PAYMENT: \"முன்கூட்டியே கட்டணம் சேர்க்கவும்\",\r\n VALID_FROM: \"செல்லுபடியாகும்\",\r\n VALID_TO: \"செல்லுபடியாகும்\",\r\n UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA:\r\n \"இழப்பீட்டு உள்ளமைவு தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_ADD_THE_DATA: \"தரவைச் சேர்க்க முடியவில்லை\",\r\n COMPENSATION_CONFIGURATION: \"இழப்பீட்டு கட்டமைப்பு\",\r\n ADD_COMPENSATION_CONFIGURATION: \"இழப்பீட்டு உள்ளமைவைச் சேர்க்கவும்\",\r\n VIEW_COMPENSATION_CONFIGURATION: \"இழப்பீட்டு உள்ளமைவைக் காண்க\",\r\n EDIT_COMPENSATION_CONFIGURATION: \"இழப்பீட்டு உள்ளமைவைத் திருத்து\",\r\n VALID_FROM_AND_TO_DATE: \"முதல் தேதி வரை செல்லுபடியாகும்\",\r\n PLEASE_SELECT_VALID_FROM_AND_TO_DATE:\r\n \"தயவுசெய்து தேதி முதல் செல்லுபடியாகும் என்பதைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_ENTER_REMARK: \"குறிப்பை உள்ளிடவும்\",\r\n ENTER_REMARK: \"குறிப்பை உள்ளிடவும்\",\r\n UNABLE_TO_GET_LIST_OF_REFUND_DATA:\r\n \"பணத்தைத் திரும்பப்பெறும் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_ADD_REFUND_DATA:\r\n \"பணத்தைத் திரும்பப்பெறும் தரவைச் சேர்க்க முடியவில்லை\",\r\n ADD_REFUND: \"பணத்தைத் திரும்பச் சேர்க்கவும்\",\r\n VIEW_REFUND: \"பணத்தைத் திரும்பப் பார்க்கவும்\",\r\n DATA_SUCCESSFULLY_SUBMITTED: \"தரவு வெற்றிகரமாக சமர்ப்பிக்கப்பட்டது\",\r\n UNABLE_TO_SUBMIT_TAG_DATA: \"குறிச்சொல் தரவை சமர்ப்பிக்க முடியவில்லை\",\r\n UNABLE_TO_LOAD_TAG_DATA: \"டேக் தரவை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_GET_TAG_DATA: \"டேக் தரவைப் பெற முடியவில்லை\",\r\n PLEASE_ENTER_TAG_NO: \"குறிச்சொல் எண் உள்ளிடவும்\",\r\n FACTORY_POST_QC: \"தொழிற்சாலை பிந்தைய QC\",\r\n PLEASE_SCAN_ADD_TAG_NUMBER: \"குறிச்சொல் எண்ணை ஸ்கேன் / சேர்க்கவும்\",\r\n SELECT_STATUS: \"நிலையைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_ENTER_REMARKS: \"குறிப்புகளை உள்ளிடவும்\",\r\n UNABLE_TO_LOAD_PRE_QC_RESPONSES: \"முன் qc பதில்களை ஏற்ற முடியவில்லை\",\r\n FACTORY_PRE_QC: \"தொழிற்சாலை முன்- QC\",\r\n ADD_GARMENT_FOR_QC: \"QC க்கு ஆடை சேர்க்கவும்\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"தரவு வெற்றிகரமாக சேமிக்கப்படுகிறது\",\r\n GARMENT_SHOULD_BE_IN_FACTORY_TO_BE_ADDED_FOR_QC:\r\n \"க்யூ.சி.க்கு சேர்க்க ஆலை தொழிற்சாலையில் இருக்க வேண்டும்\",\r\n UNABLE_TO_GET_GARMENT_DETAILS: \"ஆடை விவரங்களைப் பெற முடியவில்லை\",\r\n GET_GARMENT_HISTORY: \"ஆடை வரலாற்றைப் பெறுங்கள்\",\r\n PLEASE_SELECT_REASON: \"தயவுசெய்து காரணத்தைத் தேர்ந்தெடுக்கவும்\",\r\n UNABLE_TO_GET_CORPORATE_DATA: \"கார்ப்பரேட் தரவைப் பெற முடியவில்லை\",\r\n GARMENTS_AT_QC: \"QC இல் ஆடைகள்\",\r\n GARMENTS_IN_POST_QC: \"போஸ்ட் கியூசியில் ஆடைகள்\",\r\n UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA:\r\n \"தொழிற்சாலை ஆடைகள் சரக்கு தரவைப் பெற முடியவில்லை\",\r\n GARMENT_INVENTORY_AT_FACTORY: \"தொழிற்சாலையில் ஆடை சரக்கு\",\r\n DASHBOARD: \"டாஷ்போர்டு\",\r\n CUSTOMERS: \"வாடிக்கையாளர்கள்\",\r\n MANAGE_CUSTOMERS: \"வாடிக்கையாளர்களை நிர்வகிக்கவும்\",\r\n PACKAGE_CONFIGURATION: \"தொகுப்பு கட்டமைப்பு\",\r\n REFERRAL_BONUS_CONFIGURATION: \"பரிந்துரை போனஸ் கட்டமைப்பு\",\r\n EMPLOYEE_CREDITS: \"பணியாளர் வரவு\",\r\n BUY_PACKAGE: \"தொகுப்பு வாங்க\",\r\n ADVANCE_PAYMENTS: \"முன்கூட்டியே செலுத்துதல்\",\r\n COMPENSATION: \"இழப்பீடு\",\r\n REFUND: \"பணத்தைத் திரும்பப் பெறுங்கள்\",\r\n MASTER: \"குரு\",\r\n STORE: \"கடை\",\r\n FACTORY: \"தொழிற்சாலை\",\r\n CORPORATE: \"பெருநிறுவன\",\r\n CITY: \"நகரம்\",\r\n STATE: \"நிலை\",\r\n DESIGNATION: \"பதவி\",\r\n GARMENT_BRAND: \"ஆடை பிராண்ட்\",\r\n GARMENT_SIZE: \"ஆடை அளவு\",\r\n KYC_DOCUMENT_TYPE: \"KYC ஆவண வகை\",\r\n SERVICE: \"சேவை\",\r\n GARMENT: \"ஆடை\",\r\n REWASH_REASON: \"ரீவாஷ் காரணம்\",\r\n OPERATION_INSTRUCTION: \"செயல்பாட்டு வழிமுறை\",\r\n EXPENSE_TYPE: \"செலவு வகை\",\r\n ORDERS: \"ஆர்டர்கள்\",\r\n PICKUPS: \"இடும்\",\r\n MANAGE_ORDERS: \"ஆர்டர்களை நிர்வகிக்கவும்\",\r\n READY_FOR_DELIVERY_OR_INVOICE: \"டெலிவரி / விலைப்பட்டியல் தயாராக உள்ளது\",\r\n DELIVERIES: \"விநியோகங்கள்\",\r\n TRANSFER_IN_OUT: \"உள்ளே / வெளியே இடமாற்றம்\",\r\n TRANSFER_OUT: \"இடமாற்றம்\",\r\n GATE_PASS_LIST: \"கேட் பாஸ் பட்டியல்\",\r\n TRANSFER_IN: \"இடமாற்றம்\",\r\n PRE_QC_RESPONSES: \"முன்-கியூசி பதில்\",\r\n USER_EXPENSES: \"பயனர் செலவுகள்\",\r\n INVENTORY: \"சரக்கு\",\r\n SETTINGS: \"அமைப்புகள்\",\r\n AUTHENTICATION: \"அங்கீகார\",\r\n USERS: \"பயனர்கள்\",\r\n ROLES: \"பாத்திரங்கள்\",\r\n ROLE_OPERATIONS: \"பங்கு செயல்பாடுகள்\",\r\n CONFIGURATION: \"கட்டமைப்பு\",\r\n TIME_CARD: \"நேர அட்டை\",\r\n RATE_CARD: \"விகித அட்டை\",\r\n DISCOUNT: \"தள்ளுபடி\",\r\n CASH_COUPON: \"பண கூப்பன்\",\r\n PACKAGING_CHARGES: \"பேக்கேஜிங் கட்டணங்கள்\",\r\n DELIVERY_CHARGES: \"விநியோக கட்டணம்\",\r\n BANNER: \"பதாகை\",\r\n NOTICE_BOARD: \"அறிவிப்பு வாரியம்\",\r\n FINGER_SCAN: \"விரல் ஸ்கேன்\",\r\n COLLECT_FINGERPRINTS: \"கைரேகைகளை சேகரிக்கவும்\",\r\n QC_RESPONSES: \"QC மறுமொழிகள்\",\r\n PRE_QC: \"முன் QC\",\r\n POST_QC: \"QC ஐ இடுங்கள்\",\r\n TODAYS_HIGHLIGHTS: \"இன்றைய சிறப்பம்சங்கள்\",\r\n ORDER_VS_ORDER_AMOUNT: \"ஆர்டர்கள் / ஆர்டர் தொகை\",\r\n INVOICE_VS_INVOICE_AMOUNT: \"விலைப்பட்டியல் / விலைப்பட்டியல் தொகை\",\r\n STORE_INVENTORY: \"ஸ்டோர் சரக்கு\",\r\n OTHER_STATASTICS: \"பிற புள்ளிவிவரங்கள்\",\r\n PROCESSED: \"செயலாக்கப்பட்டது\",\r\n SOILED: \"மண்ணானது\",\r\n AMOUNT_DUE_FOR_COLLECTION: \"வசூலிக்க வேண்டிய தொகை\",\r\n ORDERS_READY_FOR_INVOICE: \"விலைப்பட்டியலுக்கு ஆர்டர்கள் தயார்\",\r\n DELIVERY_PERSON: \"விநியோக நபர்\",\r\n WALK_IN: \"வாக்-இன்\",\r\n PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"தொழிற்சாலைக்கு மாற்ற நிலுவையில் உள்ளது\",\r\n NO_OF_ORDERS: \"ஆர்டர்களின் எண்ணிக்கை\",\r\n PENDING_PICKUPS: \"இடும் நிலுவைகள்\",\r\n DATE: \"தேதி\",\r\n ORDERS_DUE_FOR_DELIVERY: \"வழங்குவதற்கான ஆர்டர்கள்\",\r\n FIRST_NAME: \"முதல் பெயர்\",\r\n LAST_NAME: \"கடைசி பெயர்\",\r\n GENDER: \"பாலினம்\",\r\n EMAIL: \"மின்னஞ்சல்\",\r\n PHONE: \"தொலைபேசி\",\r\n TYPE: \"வகை\",\r\n BILLING_CYCLE: \"பைலிங் சுழற்சி\",\r\n ACTIONS: \"செயல்கள்\",\r\n VIEW: \"காண்க\",\r\n EDIT: \"தொகு\",\r\n DELETE: \"அழி\",\r\n SEARCH: \"தேடல்\",\r\n ADD_CUSTOMER: \"வாடிக்கையாளரைச் சேர்க்கவும்\",\r\n ADD: \"கூட்டு\",\r\n CUSTOMER: \"வாடிக்கையாளர்\",\r\n WALLET_CASH: \"Wallet Cash\",\r\n WALLET_BONUS: \"Wallet போனஸ்\",\r\n GENERAL: \"பொது\",\r\n GENERAL_CUSTOMER_INFORMATION: \"பொது வாடிக்கையாளர் தகவல்\",\r\n ADDRESS: \"முகவரி\",\r\n CUSTOMER_ADDRESSES: \"வாடிக்கையாளர் முகவரிகள்\",\r\n VERIFICATION: \"சரிபார்ப்பு\",\r\n VERIFY_PHONE_AND_EMAIL: \"வெர்பி தொலைபேசி மற்றும் மின்னஞ்சல்\",\r\n PLEASE: \"தயவு செய்து\",\r\n SELECT: \"தேர்ந்தெடு\",\r\n ENTER: \"உள்ளிடவும்\",\r\n VALID: \"செல்லுபடியாகும்\",\r\n PHONE_NUMBER: \"தொலைபேசி எண்\",\r\n DATE_OF_BIRTH: \"பிறந்த தேதி\",\r\n ANNIVERSARY_DATE: \"ஆண்டு தேதி\",\r\n REFERRAL_CODE: \"பரிந்துரை குறியீடு\",\r\n CUSTOMER_TYPE: \"வாடிக்கையாளர் வகை\",\r\n GSTIN: \"GSTIN\",\r\n ACTIVE: \"செயலில்\",\r\n STATUS: \"நிலை\",\r\n YES: \"ஆம்\",\r\n NO: \"இல்லை\",\r\n CANCEL: \"ரத்துசெய்\",\r\n SUBMIT: \"சமர்ப்பிக்கவும்\",\r\n ID: \"ஐடி\",\r\n PINCODE: \"அஞ்சல் குறியீடு\",\r\n ADRESSES_OF: \"முகவரிகள்\",\r\n HOME: \"வீடு\",\r\n OFFICE: \"அலுவலகம்\",\r\n OTHER: \"மற்றவை\",\r\n LONGITUDE: \"தீர்க்கரேகை\",\r\n LATITUDE: \"அட்சரேகை\",\r\n IS_DEFAULT: \"இதை இயல்புநிலையாக அமைக்கவும்\",\r\n PLEASE_ENTER_FIRST_NAME: \"முதல் பெயரை உள்ளிடவும்\",\r\n ENTER_FIRST_NAME: \"முதல் பெயரை உள்ளிடவும்\",\r\n PLEASE_ENTER_LAST_NAME: \"கடைசி பெயரை உள்ளிடவும்\",\r\n ENTER_LAST_NAME: \"கடைசி பெயரை உள்ளிடவும்\",\r\n PLEASE_ENTER_EMAIL: \"மின்னஞ்சலை உள்ளிடவும்\",\r\n PLEASE_ENTER_VALID_EMAIL: \"செல்லுபடியாகும் மின்னஞ்சலை உள்ளிடவும்\",\r\n ENTER_EMAIL: \"மின்னஞ்சலை உள்ளிடவும்\",\r\n PLEASE_ENTER_PHONE_NUMBER: \"தொலைபேசி எண்ணை உள்ளிடவும்\",\r\n PLEASE_ENTER_VALID_PHONE_NUMBER:\r\n \"செல்லுபடியாகும் தொலைபேசி எண்ணை உள்ளிடவும்\",\r\n ENTER_PHONE_NUMBER: \"தொலைபேசி எண்ணை உள்ளிடவும்\",\r\n PLEASE_SELECT_GENDER: \"பாலினத்தைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_DATE: \"தேதி தேர்ந்தெடுக்கவும்\",\r\n ENTER_REFERRAL_CODE: \"பரிந்துரை குறியீட்டை உள்ளிடவும்\",\r\n PLEASE_SELECT_CUSTOMER_TYPE: \"வாடிக்கையாளர் வகையைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_CUSTOMER_TYPE: \"வாடிக்கையாளர் வகையைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_CORPORATE: \"கார்ப்பரேட் என்பதைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_SELECT_BILLING_CYCLE: \"பில்லிங் சுழற்சியைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_BILLING_CYCLE: \"பில்லிங் சுழற்சியைத் தேர்ந்தெடுக்கவும்\",\r\n ENTER_VALID_GSTIN: \"செல்லுபடியாகும் GSTIN ஐ உள்ளிடவும்\",\r\n ENTER_GSTIN: \"GSTIN ஐ உள்ளிடவும்\",\r\n PLEASE_SELECT_STATUS: \"நிலையைத் தேர்ந்தெடுக்கவும்\",\r\n ADD_ADDRESS: \"முகவரியைச் சேர்க்கவும்\",\r\n VIEW_ADDRESS: \"முகவரியைக் காண்க\",\r\n EDIT_ADDRESS: \"முகவரியைத் திருத்து\",\r\n PLEASE_SELECT_ADDRESS_TYPE: \"முகவரி வகையைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_TYPE: \"வகையைத் தேர்ந்தெடுக்கவும்\",\r\n ENTER_LONGITUDE: \"தீர்க்கரேகை உள்ளிடவும்\",\r\n ENTER_LATITUDE: \"அட்சரேகை உள்ளிடவும்\",\r\n PLEASE_SELECT_STATE: \"மாநிலத்தைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_STATE: \"மாநிலத்தைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_SELECT_CITY: \"நகரத்தைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_CITY: \"நகரத்தைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_ENTER_PINCODE: \"தயவுசெய்து பின்கோடை உள்ளிடவும்\",\r\n ENTER_PINCODE: \"பின்கோடை உள்ளிடவும்\",\r\n HOUSE_NO: \"வீடு எண் / பிளாட் எண் / ஃப்ளூர் / ஸ்ட்ரீட்\",\r\n PLEASE_ENTER_HOUSE_NO:\r\n \"தயவுசெய்து ஹவுஸ் எண் / பிளாட் எண் / ஃப்ளூர் / ஸ்ட்ரீட் உள்ளிடவும்\",\r\n ENTER_HOUSE_NO: \"ஹவுஸ் எண் / பிளாட் எண் / ஃப்ளூர் / ஸ்ட்ரீட் உள்ளிடவும்\",\r\n LANDMARK: \"மைல்கல்\",\r\n ENTER_LANDMARK: \"லேண்ட்மார்க் உள்ளிடவும்\",\r\n HOW_TO_REACH: \"எப்படி அடைவது\",\r\n ENTER_HOW_TO_REACH: \"எப்படி அடைவது என்பதை உள்ளிடவும்\",\r\n PLEASE_ENTER_ADDRESS: \"முகவரியை உள்ளிடவும்\",\r\n ENTER_ADDRESS: \"முகவரியை உள்ளிடவும்\",\r\n UPDATE: \"புதுப்பிப்பு\",\r\n PLEASE_ENTER_OTP: \"OTP ஐ உள்ளிடவும்\",\r\n ENTER_OTP: \"OTP ஐ உள்ளிடவும்\",\r\n VERIFY: \"சரிபார்க்கவும்\",\r\n DIDNT_RECIEVED_ANYTHIG: \"எதையும் பெறவில்லையா?\",\r\n RESEND_OTP: \"OTP ஐ மீண்டும் அனுப்பு\",\r\n NOT_VERIFIED: \"சரிபார்க்கப்படவில்லை\",\r\n VERIFY_PHONE_NUMBER: \"தொலைபேசி எண்ணைச் சரிபார்க்கவும்\",\r\n VERIFIED: \"சரிபார்க்கப்பட்டது\",\r\n PACKAGE_NAME: \"தொகுப்பு பெயர்\",\r\n PACKAGE_AMOUNT: \"தொகுப்பு தொகை\",\r\n BONUS_AMOUNT: \"போனஸ் தொகை\",\r\n BONUS_VALIDITY: \"போனஸ் செல்லுபடியாகும்\",\r\n TITLE: \"தலைப்பு\",\r\n DESCRIPTION: \"விளக்கம்\",\r\n ADD_PACKAGE_CONFIGURATION: \"தொகுப்பு உள்ளமைவைச் சேர்க்கவும்\",\r\n DELETE_SELECTED: \"தேர்ந்தெடுத்ததை அழி\",\r\n VIEW_PACKAGE_CONFIGURATION: \"தொகுப்பு உள்ளமைவைக் காண்க\",\r\n EDIT_PACKAGE_CONFIGURATION: \"தொகுப்பு உள்ளமைவைத் திருத்து\",\r\n PLEASE_ENTER_PACKAGE_NAME: \"தொகுப்பு பெயரை உள்ளிடவும்\",\r\n ENTER_PACKAGE_NAME: \"தொகுப்பு பெயரை உள்ளிடவும்\",\r\n PLEASE_ENTER_PACKAGE_AMOUNT: \"தொகுப்பு தொகையை உள்ளிடவும்\",\r\n ENTER_PACKAGE_AMOUNT: \"தொகுப்பு தொகையை உள்ளிடவும்\",\r\n PLEASE_ENTER_BONUS_AMOUNT: \"போனஸ் தொகையை உள்ளிடவும்\",\r\n ENTER_BONUS_AMOUNT: \"போனஸ் தொகையை உள்ளிடவும்\",\r\n BONUS_AMOUNT_VALIDITY_DAYS: \"போனஸ் தொகை செல்லுபடியாகும் (நாட்கள்)\",\r\n PLEASE_ENTER_BONUS_AMOUNT_VALIDITY_DAYS:\r\n \"போனஸ் தொகை செல்லுபடியை (நாட்கள்) உள்ளிடவும்\",\r\n ENTER_BONUS_VALIDITY_DAYS: \"போனஸ் செல்லுபடியை உள்ளிடவும் (நாட்கள்)\",\r\n DESCRIPTION_TITLE: \"விளக்கம் தலைப்பு\",\r\n ENTER_DESCRIPTION_TITLE: \"விளக்கம் தலைப்பை உள்ளிடவும்\",\r\n PLEASE_ENTER_DESCRIPTION_TITLE: \"விளக்க தலைப்பை உள்ளிடவும்\",\r\n PLEASE_ENTER_DESCRIPTION: \"விளக்கத்தை உள்ளிடவும்\",\r\n ENTER_DESCRIPTION: \"விளக்கத்தை உள்ளிடவும்\",\r\n PICKUP_ID: \"இடும் ஐடி\",\r\n PROMOCODE: \"விளம்பர குறியீடு\",\r\n ASSIGNED_USER_NAME: \"ஒதுக்கப்பட்ட பயனர் பெயர்\",\r\n ORDER: \"ஆர்டர்\",\r\n REASSIGN: \"மறு ஒதுக்கீடு\",\r\n ADD_PICKUP: \"இடும் சேர்க்க\",\r\n REASSIGN_PICKUP_EXECUTIVE: \"இடும் நிர்வாகியை மீண்டும் நியமிக்கவும்\",\r\n PICKUP_EXECUTIVE: \"இடும் நிர்வாகி\",\r\n PLEASE_SELECT_ANY_PICKUP_EXECUTIVE:\r\n \"தயவுசெய்து எந்த இடும் நிர்வாகியையும் தேர்ந்தெடுக்கவும்\",\r\n SELECT_PICKUP_EXECUTIVE: \"பிக்கப் எக்ஸிகியூட்டிவ் தேர்ந்தெடுக்கவும்\",\r\n PICKUP: \"இடும்\",\r\n HISTORY: \"வரலாறு\",\r\n GENERAL_PICKUP_INFORMATION: \"பொது இடும் தகவல்\",\r\n HISTORY_OF_RESCHEDULED_PICKUPS: \"மாற்றியமைக்கப்பட்ட இடங்களின் வரலாறு\",\r\n PICKUP_STATUS: \"இடும் நிலை\",\r\n SELECT_PICKUP_STATUS: \"இடும் நிலையைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_SELECT_PICKUP_DATE: \"இடும் தேதியைத் தேர்ந்தெடுக்கவும்\",\r\n PICKUP_TIMESLOT: \"பிக்அப் டைம்ஸ்லாட்\",\r\n PLEASE_SELECT_TIMESLOT: \"டைம்ஸ்லாட்டைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_TIMESLOT: \"டைம்ஸ்லாட்டைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_ADDRESS: \"முகவரியைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_SELECT_DELIVERY_TYPE: \"டெலிவரி வகையைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_DELIVERY_TYPE: \"டெலிவரி வகையைத் தேர்ந்தெடுக்கவும்\",\r\n ENTER_NO_OF_GARMENTS: \"ஆடைகளின் எண்ணிக்கையை உள்ளிடவும்\",\r\n ENTER_PROMOCODE: \"விளம்பர குறியீட்டை உள்ளிடவும்\",\r\n SERVICES: \"சேவைகள்\",\r\n PLEASE_SELECT_SERVICES: \"சேவைகளைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_SERVICES: \"சேவைகளைத் தேர்ந்தெடுக்கவும்\",\r\n DELIVERY_TIMESLOT: \"டெலிவரி டைம்ஸ்லாட்\",\r\n CANCELLATION_REASON: \"ரத்து செய்வதற்கான காரணம்\",\r\n SELECT_OPERATION_INSTRUCTION: \"செயல்பாட்டு வழிமுறையைத் தேர்ந்தெடுக்கவும்\",\r\n RESCHEDULED_PICKUP_HISTORY: \"மாற்றியமைக்கப்பட்ட இடும் வரலாறு\",\r\n ON_DEMAND_WALK_IN: \"தேவை / நடைப்பயணத்தில்\",\r\n GARMENTS: \"ஆடைகள்\",\r\n CREATE_ORDER: \"ஆர்டரை உருவாக்கவும்\",\r\n PRINT_TAGS: \"குறிச்சொற்களை அச்சிடுக\",\r\n CANCEL_ORDER: \"ஆர்டரை ரத்துசெய்\",\r\n CANCEL_REASON: \"காரணத்தை ரத்துசெய்\",\r\n PLEASE_ENTER_REASON: \"தயவுசெய்து காரணத்தை உள்ளிடவும்\",\r\n ENTER_REASON_TO_CANCEL_THE_ORDER:\r\n \"ஆர்டரை ரத்து செய்வதற்கான காரணத்தை உள்ளிடவும்\",\r\n CUSTOMER_DETAILS: \"வாடிக்கையாளர் விவரங்கள்\",\r\n NAME: \"பெயர்\",\r\n TYPE_OF_SERVICE: \"சேவை வகை\",\r\n PICKUP_REQUEST: \"இடும் கோரிக்கை\",\r\n TYPE_OF_CUSTOMER: \"வாடிக்கையாளர் வகை\",\r\n WALLET_CREDIT: \"Wallet கடன்\",\r\n FILTER: \"வடிகட்டி\",\r\n ORDER_SUMMARY: \"ஆர்டர் சுருக்கம்\",\r\n DETAILS: \"விவரங்கள்\",\r\n QTY: \"Qty\",\r\n RATES: \"விகிதங்கள்\",\r\n FEES: \"கட்டணம்\",\r\n SUBTOTAL: \"கூட்டுத்தொகை\",\r\n TAXES_AND_CHARGES: \"வரி மற்றும் கட்டணங்கள்\",\r\n PROMO_DISCOUNT: \"விளம்பர தள்ளுபடி\",\r\n SGST: \"எஸ்.ஜி.எஸ்.டி.\",\r\n CGST: \"சி.ஜி.எஸ்.டி.\",\r\n IGST: \"ஐ.ஜி.எஸ்.டி.\",\r\n TOTAL: \"மொத்தம்\",\r\n ORDER_REMARKS: \"ஆர்டர் குறிப்புகள்\",\r\n REVIEW_ORDER: \"மறுஆய்வு ஆணை\",\r\n MEDIUM: \"நடுத்தர\",\r\n REQUIRED: \"தேவை\",\r\n WEIGHT: \"எடை\",\r\n SELECT_ADD_ON_SERVICES: \"கூடுதல் சேவைகளைத் தேர்ந்தெடுக்கவும்\",\r\n DARNING_SIZE: \"எச்சரிக்கை அளவு\",\r\n SMALL: \"சிறிய\",\r\n LARGE: \"பெரியது\",\r\n DYING_COLORS: \"இறக்கும் வண்ணம் (கள்)\",\r\n SIZE: \"அளவு\",\r\n PRICE: \"விலை\",\r\n NOTES: \"குறிப்புகள்\",\r\n ONLY_3_IMAGES_ARE_ALLOWED: \"3 படங்கள் மட்டுமே அனுமதிக்கப்படுகின்றன\",\r\n LOGISTICS_INSTRUCTION: \"தளவாட வழிமுறை\",\r\n ON_DEMAND_DELIVERY: \"தேவை வழங்கலில்\",\r\n REPRINT_TAGS: \"குறிச்சொற்களை மீண்டும் அச்சிடுங்கள்\",\r\n REPRINT_ESTIMATED_ORDER: \"மதிப்பிடப்பட்ட ஆர்டரை மீண்டும் அச்சிடுங்கள்\",\r\n REWASH_REQUESTED_BY: \"மூலம் கோரப்பட்டது\",\r\n PLACE_ORDER: \"இடம் ஒழுங்கு\",\r\n COLLECT_ADVANCE_PAYMENT: \"முன்கூட்டியே கட்டணம் வசூலிக்கவும்\",\r\n UPDATE_ORDER: \"புதுப்பிப்பு ஆர்டர்\",\r\n CONFIRM_ORDER: \"ஆணையை உறுதிப்படுத்தவும்\",\r\n TAG_IN_GARMENTS: \"ஆடைகளில் குறிச்சொல்\",\r\n CREATE_REWASH_ORDER: \"Rewash ஆர்டரை உருவாக்கவும்\",\r\n PAYMENT_METHOD: \"கட்டணம் செலுத்தும் முறை\",\r\n COLLECT: \"திரட்டுதல்\",\r\n PROCESSING: \"செயலாக்கம்\",\r\n INVOICE_NUMBER: \"விலைப்பட்டியல் எண்\",\r\n GENERATE: \"உருவாக்கு\",\r\n SETTLE: \"செட்டில்\",\r\n READY_FOR_DELIVERY_ORDERS: \"டெலிவரி ஆர்டர்களுக்கு தயாராக உள்ளது\",\r\n HIDE_FILTERS: \"வடிப்பான்களை மறைக்க\",\r\n SHOW_FILTERS: \"வடிப்பான்களைக் காட்டு\",\r\n PLEASE_SELECT_FROM_DATE: \"தேதியிலிருந்து தேர்ந்தெடுக்கவும்\",\r\n FROM_DATE: \"தேதியிலிருந்து\",\r\n PLEASE_SELECT_TO_DATE: \"தேதி தேர்வு செய்யவும்\",\r\n TO_DATE: \"தேதி வரை\",\r\n ENTER_SPLIT_ORDER_NUMBER: \"பிளவு ஆர்டர் எண்ணை உள்ளிடவும்\",\r\n PROFORMA_INVOICE_NUMBER: \"விவரக்குறிப்பு விலைப்பட்டியல் எண்\",\r\n PROFORMA_INVOICE_DATE: \"விவரக்குறிப்பு விலைப்பட்டியல் தேதி\",\r\n INVOICE_DATE: \"விலைப்பட்டியல் தேதி\",\r\n INVOICE: \"விலைப்பட்டியல்\",\r\n ORDER_TYPE: \"ஆர்டர் வகை\",\r\n PICKUP_BY: \"எடுத்தது\",\r\n ADJUSTED_LK_BONUS_AMOUNT: \"சரிசெய்யப்பட்ட எல்.கே போனஸ் தொகை\",\r\n PROFORMA_INVOICE: \"விவரக்குறிப்பு விலைப்பட்டியல்\",\r\n TOTAL_AMOUNT: \"மொத்த தொகை\",\r\n ADD_ON_SERVICE_CHARGES: \"கூடுதல் சேவை கட்டணங்கள்\",\r\n ADHOC_CHARGES: \" தற்காலிக கட்டணங்கள்\",\r\n AMOUNT_TO_COLLECT: \"சேகரிக்க வேண்டிய தொகை\",\r\n ADD_REMARKS: \"குறிப்புகளைச் சேர்க்கவும்\",\r\n UPDATE_PROFORMA_INVOICE: \"விவரக்குறிப்பு விலைப்பட்டியல் புதுப்பிக்கவும்\",\r\n CREATE_PROFORMA_INVOICE: \"புரோஃபோர்மா விலைப்பட்டியல் உருவாக்கவும்\",\r\n USE_LK_WALLET: \"எல்.கே. வாலட்டைப் பயன்படுத்துங்கள்\",\r\n GENERATE_TAX_INVOICE: \"வரி விலைப்பட்டியல் உருவாக்கு\",\r\n DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET:\r\n \"கூடுதல் தொகையை எல்.கே.வாலட்டில் சேர்க்க விரும்புகிறீர்களா?\",\r\n SETTLE_LESS_PAID_INVOICE: \"குறைந்த கட்டண விலைப்பட்டியல் அமைக்கவும்\",\r\n SLOT: \"ஸ்லாட்\",\r\n ASSIGNED_TO: \"ஒதுக்கப்படும்\",\r\n RESCHEDULE: \"மறுபரிசீலனை\",\r\n DELIVERY_LIST: \"விநியோக பட்டியல்\",\r\n REASSIGN_DELIVERY: \"விநியோகத்தை மீண்டும் ஒதுக்குங்கள்\",\r\n PLEASE_SELECT_ASSIGNEE: \"ஒதுக்கீட்டாளரைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_ASSIGNEE: \"ஒதுக்குபவரைத் தேர்ந்தெடுக்கவும்\",\r\n DELIVERY_ID: \"டெலிவரி ஐடி\",\r\n RESCHEDULE_DELIVERY: \"மறுசீரமைப்பு டெலிவரி\",\r\n CANCEL_DELIVERY: \"விநியோகத்தை ரத்துசெய்\",\r\n PLEASE_SELECT_DELIVERY_DATE: \"விநியோக தேதியைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_ENTER_CANCEL_REASON: \"ரத்துசெய் காரணத்தை உள்ளிடவும்\",\r\n ENTER_CANCEL_REASON: \"ரத்துசெய் காரணத்தை உள்ளிடவும்\",\r\n PLEASE_SELECT_EXPENSE_TYPE: \"செலவு வகையைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_SELECT_EXPENSE_DATE: \"செலவு தேதி என்பதைத் தேர்ந்தெடுக்கவும்\",\r\n // OVERDUE_GARMENTS: \"அதிகப்படியான ஆடைகள்\",\r\n OVERDUE_ORDERS: \"தாமதமான ஆர்டர்கள\",\r\n GARMENT_COUNTS: \"ஆடை எண்ணிக்கைகள்\",\r\n ORDER_COUNTS: \"ஆர்டர் எண்ணிக்கைகள்\",\r\n TOTAL_PENDING_GARMENTS_ORDERS: \"மொத்த நிலுவையில் உள்ள ஆடைகள் / ஆர்டர்கள்\",\r\n TODAYS_DUE: \"இன்றைய காலக்கெடு\",\r\n TICKETS_COUNTS: \"டிக்கெட் எண்ணிக்கை\",\r\n ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE:\r\n \"மூடிய கடையைப் பயன்படுத்தி ஆர்டரை உருவாக்க முடியாது\",\r\n THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE:\r\n \"இந்த கடையிலிருந்து இந்த வகை வரிசையை உருவாக்க முடியாது\",\r\n AMOUNT_IS_REQUIRED: \"தொகை தேவை\",\r\n AMOUNT_SHOULD_BE_GREATER_THAN_0: \"தொகை 0 ஐ விட அதிகமாக இருக்க வேண்டும்\",\r\n IS_LAUNDROKART_EMPLOYEE: \"லாண்டிரோகார்ட் ஊழியர்\",\r\n REWASH_ORDER: \"மீண்டும் ஆர்டர்\",\r\n\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"1 முதல் 9 வரை தொடங்கி இலக்கங்களை மட்டும் உள்ளிடவும்\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"தயவுசெய்து எழுத்துக்களை மட்டும் உள்ளிடவும்\",\r\n MISSING_TAG_NOS: \"குறிச்சொல் எண் இல்லை\",\r\n\r\n //11/06/2020\r\n CUSTOMER_IS_SUCCESSFULLY_REGISTERED:\r\n \"வாடிக்கையாளர் வெற்றிகரமாக பதிவு செய்யப்பட்டுள்ளார்\",\r\n DATA_IS_SUCCESSFULLY_RETRIEVED: \"தரவு வெற்றிகரமாக மீட்டெடுக்கப்பட்டது\",\r\n DATA_IS_SUCCESSFULLY_DELETED: \"தரவு வெற்றிகரமாக நீக்கப்பட்டது\",\r\n DATA_IS_SUCCESSFULLY_SAVED: \"தரவு வெற்றிகரமாக சேமிக்கப்படுகிறது\",\r\n DATA_IS_SUCCESSFULLY_UPDATED: \"தரவு வெற்றிகரமாக புதுப்பிக்கப்பட்டது\",\r\n RECORD_IS_ALREADY_EXISTS: \"பதிவு ஏற்கனவே உள்ளது\",\r\n INTERNAL_SERVER_ERROR: \"உள் சேவையக பிழை\",\r\n DATA_IS_SUCCESSFULLY_UPLOADED: \"தரவு வெற்றிகரமாக பதிவேற்றப்பட்டது\",\r\n DISCOUNT_IS_SUCCESSFULLY_BLOCKED: \"தள்ளுபடி வெற்றிகரமாக தடுக்கப்பட்டுள்ளது\",\r\n DISCOUNT_IS_SUCCESSFULLY_AUTHORIZED:\r\n \"தள்ளுபடி வெற்றிகரமாக அங்கீகரிக்கப்பட்டுள்ளது\",\r\n DISCOUNT_IS_SUCCESSFULLY_GENERATED:\r\n \"தள்ளுபடி வெற்றிகரமாக உருவாக்கப்படுகிறது\",\r\n OTP_HAS_BEEN_SUCCESSFULLY_RE_SENT:\r\n \"OTP வெற்றிகரமாக மீண்டும் அனுப்பப்பட்டுள்ளது\",\r\n PICKUP_IS_SUCCESSFULLY_RESCHEDULED:\r\n \"இடும் வெற்றிகரமாக மாற்றியமைக்கப்பட்டுள்ளது\",\r\n PICKUP_IS_SUCCESSFULLY_SCHEDULED: \"இடும் வெற்றிகரமாக திட்டமிடப்பட்டுள்ளது\",\r\n PICKUP_IS_SUCCESSFULLY_CANCELLED: \"எடுப்பது வெற்றிகரமாக ரத்துசெய்யப்பட்டது\",\r\n PICKUP_IS_SUCCESSFULLY_REASSIGNED: \"இடும் வெற்றிகரமாக மறு ஒதுக்கப்பட்டது\",\r\n ERROR_WHILE_SENDING_CALL_BACK_REQUEST_NOTIFICATION:\r\n \"அழைப்பு திரும்ப கோரிக்கை அறிவிப்பை அனுப்பும்போது பிழை\",\r\n ORDER_IS_SUCCESSFULLY_CANCELLED: \"ஆர்டர் வெற்றிகரமாக ரத்து செய்யப்பட்டது\",\r\n ORDER_IS_SUCCESSFULLY_CREATED_PLEASE_CONFIRM_ORDER_TO_PROCEED_FURTHER:\r\n \"ஆர்டர் வெற்றிகரமாக உருவாக்கப்பட்டது மேலும் தொடர உத்தரவை உறுதிப்படுத்தவும்\",\r\n ORDER_IS_SUCCESSFULLY_UPDATED: \"ஆர்டர் வெற்றிகரமாக புதுப்பிக்கப்பட்டது\",\r\n GENERATE_TAGS_FOR_ORDER_SUCCESSFULLY:\r\n \"ஆர்டருக்கான குறிச்சொற்களை வெற்றிகரமாக உருவாக்கவும்\",\r\n GETEPASS_IS_SUCCESSFULLY_GENERATED:\r\n \"கெட் பாஸ் வெற்றிகரமாக உருவாக்கப்படுகிறது\",\r\n PROMOCODE_VALIDATED_SUCCESSFULLY:\r\n \"விளம்பர குறியீடு வெற்றிகரமாக சரிபார்க்கப்பட்டது\",\r\n INVALID_PROMOCODE: \"தவறான விளம்பரக் குறியீடு\",\r\n DELIVERY_IS_SUCCESSFULLY_REASSIGNED:\r\n \"டெலிவரி வெற்றிகரமாக மறு ஒதுக்கப்பட்டது\",\r\n AMOUNT_SUCCESSFULLY_BLOCKED: \"தொகை வெற்றிகரமாக தடுக்கப்பட்டது\",\r\n USER_IS_VALID: \"பயனர் செல்லுபடியாகும்\",\r\n USER_IS_INVALID: \"பயனர் தவறானது\",\r\n ALREADY_IN_USED: \"ஏற்கனவே பயன்படுத்தப்பட்டது\",\r\n PDF_FILE_IS_GENERATED_SUCCESSFULLY:\r\n \"PDF கோப்பு வெற்றிகரமாக உருவாக்கப்படுகிறது\",\r\n OLD_PASSWORD_DOES_NOT_MATCH: \"பழைய கடவுச்சொல் பொருந்தவில்லை\",\r\n NOTIFICATION_HAS_BEEN_SENT_SUCCESSFULLY:\r\n \"அறிவிப்பு வெற்றிகரமாக அனுப்பப்பட்டுள்ளது\",\r\n ERROR_WHILE_SENDING_NOTIFICATION: \"அறிவிப்பை அனுப்பும்போது பிழை\",\r\n NOTIFICATION_IS_SUCCESSFULLY_DISMISS:\r\n \"அறிவிப்பு வெற்றிகரமாக நிராகரிக்கப்பட்டது\",\r\n THERE_WAS_AN_INTERNAL_ERROR_PLEASE_CONTACT_TO_TECHNICAL_SUPPORT:\r\n \"உள் பிழை ஏற்பட்டது, தொழில்நுட்ப ஆதரவைத் தொடர்பு கொள்ளவும்\",\r\n EMAIL_SENT_SUCCESSFULLY: \"மின்னஞ்சல் வெற்றிகரமாக அனுப்பப்பட்டது!\",\r\n TAGS_NOT_FOUND: \"குறிச்சொற்கள் கிடைக்கவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_STORE_DATA:\r\n \"ஸ்டோர் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_MISSING_TAG_DATA: \"குறிக்கப்பட்ட டேக் தரவைப் பெற முடியவில்லை\",\r\n PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG:\r\n \"குறிச்சொல்லை ஸ்கேன் செய்வதற்கு முன் கடையைத் தேர்ந்தெடுக்கவும்\",\r\n PLEASE_ENTER_THE_TAG_TO_SCAN: \"ஸ்கேன் செய்ய குறிச்சொல்லை உள்ளிடவும்\",\r\n TAG_ALREADY_SCANNED: \"டேக் ஏற்கனவே ஸ்கேன் செய்யப்பட்டது\",\r\n PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS:\r\n \"பரிமாற்ற செயல்முறைக்கு தொழிற்சாலை குறிச்சொல் எண் என்பதைத் தேர்ந்தெடுக்கவும்\",\r\n UNABLE_TO_SCAN_THE_TAG: \"குறிச்சொல்லை ஸ்கேன் செய்ய முடியவில்லை\",\r\n TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY:\r\n \"குறிச்சொற்கள் வெற்றிகரமாக மாற்றப்படுகின்றன\",\r\n GENERATING_GATE_PASS: \"கேட் பாஸை உருவாக்குகிறது\",\r\n PLEASE_SELECT_STICKERS: \"ஸ்டிக்கர்களைத் தேர்ந்தெடுக்கவும்\",\r\n UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT:\r\n \"மாற்றுவதற்கு ஸ்டிக்கர்களைப் பெற முடியவில்லை\",\r\n INFO: \"தகவல்\",\r\n ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS:\r\n \"உள்ளிட்ட எண் சிறியதாக இருக்க வேண்டும், பின்னர் நிலுவையில் உள்ள ஆடைகள் இல்லை\",\r\n PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN:\r\n \"பேக் செய்ய நிலுவையில் உள்ள ஒரு ஆடைகளைத் தேர்ந்தெடுக்கவும்\",\r\n STICKER_SUCCESSFULLY_GENERATED: \"ஸ்டிக்கர் வெற்றிகரமாக உருவாக்கப்பட்டது\",\r\n UNABLE_TO_GET_STICKERID: \"ஸ்டிக்கர் ஐடியைப் பெற முடியவில்லை\",\r\n GARMENT_ALREADY_PACKED:\r\n \"இந்த ஆர்டரில் இருந்து சில ஆடைகள் ஏற்கனவே நிரம்பியுள்ளன, தயவுசெய்து புதுப்பித்து மீண்டும் முயற்சிக்கவும்\",\r\n REDIRECTING: \"திருப்பி விடுகிறது\",\r\n SUCCESS: \"வெற்றி\",\r\n FAIL: \"தோல்வி\",\r\n WALLET_BALANCE: \"Wallet இருப்பு\",\r\n PLEASE_ENTER_ONLY_DIGITS_STARTING_WITH_1_TO_9:\r\n \"1 முதல் 9 வரை தொடங்கி இலக்கங்களை மட்டும் உள்ளிடவும்\",\r\n PLEASE_ENTER_ONLY_ALPHABETS: \"தயவுசெய்து எழுத்துக்களை மட்டும் உள்ளிடவும்\",\r\n MISSING_TAG_NOS: \"டேக் எண் காணவில்லை\",\r\n UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY:\r\n \"வழங்குவதற்கான ஆர்டர்களைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_PENDING_PICKUPS:\r\n \"நிலுவையிலுள்ள இடும் இடங்களைப் பெற முடியவில்லை\",\r\n UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY:\r\n \"தொழிற்சாலைக்கு மாற்ற நிலுவையில் உள்ள ஆர்டர்களை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_GET_DATA_FOR_DASHBOARD: \"டாஷ்போர்டுக்கான தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_DATA_FOR_TIMESLOT: \"டைம்ஸ்லாட்டுக்கான தரவைப் பெற முடியவில்லை\",\r\n CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER:\r\n \"ஏற்கனவே மேலும் முன்னேறியுள்ளதால் விநியோகத்தை மீண்டும் ஒதுக்க முடியாது\",\r\n DELIVERY_REASSIGNED_SUCCESSFULLY: \"டெலிவரி வெற்றிகரமாக ஒதுக்கப்பட்டது\",\r\n UNABLE_TO_REASSIGN_DELIVERY_REQUEST:\r\n \"விநியோக கோரிக்கையை மீண்டும் ஒதுக்க முடியவில்லை\",\r\n DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED:\r\n \"டெலிவரி நிலை டெலிவரி திட்டமிடப்பட்ட அல்லது ஒதுக்கப்பட்டதாக இருக்க வேண்டும்\",\r\n DELIVERY_RESCHEDULED_SUCCESSFULLY: \"டெலிவரி வெற்றிகரமாக திட்டமிடப்பட்டது\",\r\n UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST:\r\n \"விநியோக கோரிக்கையை மறுபரிசீலனை செய்ய முடியவில்லை\",\r\n REQUEST_CANCELLED_SUCCESSFULLY: \"கோரிக்கை வெற்றிகரமாக ரத்து செய்யப்பட்டது\",\r\n UNABLE_TO_CANCEL_DELIVERY_REQUEST:\r\n \"விநியோக கோரிக்கையை ரத்து செய்ய முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA:\r\n \"விநியோக பட்டியல் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n EXPENSE_DELETED_SUCCESSFULLY: \"செலவு வெற்றிகரமாக நீக்கப்பட்டது\",\r\n UNABLE_TO_DELETE_EXPENSE: \"செலவை நீக்க முடியவில்லை\",\r\n EXPENSE_ADDED_SUCCESSFULLY: \"செலவு வெற்றிகரமாக சேர்க்கப்பட்டது\",\r\n EXPENSE_UPDATED_SUCCESSFULLY: \"செலவு வெற்றிகரமாக புதுப்பிக்கப்பட்டது\",\r\n UNABLE_TO_SUBMIT_DATA: \"தரவை சமர்ப்பிக்க முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_EXPENSES: \"செலவுகளின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA:\r\n \"கேட் பாஸ் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA:\r\n \"கடை ஆடை சரக்கு தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_SPLIT_ORDER_DETAILS:\r\n \"பிளவு ஒழுங்கு விவரங்களைப் பெற முடியவில்லை\",\r\n INVOICE_GENERATED_SUCCESSFULLY:\r\n \"விலைப்பட்டியல் வெற்றிகரமாக உருவாக்கப்பட்டது\",\r\n UNABLE_TO_GENERATE_INVOICE: \"விலைப்பட்டியல் உருவாக்க முடியவில்லை\",\r\n INVOICE_DATA_SUBMITTED_SUCCESSFULLY:\r\n \"விலைப்பட்டியல் தரவு வெற்றிகரமாக சமர்ப்பிக்கப்பட்டது\",\r\n UNABLE_TO_SUBMIT_INVOICE_DATA:\r\n \"விலைப்பட்டியல் தரவை சமர்ப்பிக்க முடியவில்லை\",\r\n INVOICE_SETTLED_SUCCESSFULLY:\r\n \"விலைப்பட்டியல் வெற்றிகரமாக தீர்வு காணப்பட்டது\",\r\n UNABLE_TO_SETTLE_INVOICE: \"விலைப்பட்டியல் தீர்க்க முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_ORDERS: \"ஆர்டர்களின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_UOM_LIST: \"Uom பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GENERATE_ESTIMATED_ORDER:\r\n \"மதிப்பிடப்பட்ட வரிசையை உருவாக்க முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_SERVICES: \"சேவைகளின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_STORE_DATA: \"ஸ்டோர் தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_PICKUP_DATA: \"இடும் தரவைப் பெற முடியவில்லை\",\r\n TAGS_GENERATED_SUCCESSFULLY: \"குறிச்சொற்கள் வெற்றிகரமாக உருவாக்கப்பட்டன\",\r\n UNABLE_TO_GENERATE_TAGS: \"குறிச்சொற்களை உருவாக்க முடியவில்லை\",\r\n UNABLE_TO_GET_ORDER_INFORMATION: \"ஆர்டர் தகவலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_TIME_CARD: \"நேர அட்டை பெற முடியவில்லை\",\r\n UNABLE_TO_LOAD_ADD_ON_SERVICES:\r\n \"சேவைகளில் சேர்க்க ஏற்றுவதை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_GET_PACKAGING_CHARGES: \"பேக்கேஜிங் கட்டணங்களைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_DELIVERY_CHARGES: \"விநியோக கட்டணங்களை பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_GARMENTS: \"ஆடைகளின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_RATES: \"கட்டணங்களைப் பெற முடியவில்லை\",\r\n ORDER_SUCCESSFULLY_CREATED: \"ஆர்டர் வெற்றிகரமாக உருவாக்கப்பட்டது\",\r\n UNABLE_TO_CREATE_THE_ORDER: \"வரிசையை உருவாக்க முடியவில்லை\",\r\n PLEASE_ENTER_THE_PROMOCODE: \"விளம்பர குறியீட்டை உள்ளிடவும்\",\r\n PROMOCODE_APPLIED_SUCCESSFULLY:\r\n \"விளம்பர குறியீடு வெற்றிகரமாக பயன்படுத்தப்பட்டது\",\r\n PROMOCODE_IS_INVALID: \"விளம்பர குறியீடு தவறானது\",\r\n UNABLE_TO_VALIDATE_PROMOCODE: \"விளம்பர குறியீட்டை சரிபார்க்க முடியவில்லை\",\r\n ORDER_SUCCESSFULLY_UPDATED: \"ஆர்டர் வெற்றிகரமாக புதுப்பிக்கப்பட்டது\",\r\n UNABLE_TO_UPDATE_THE_ORDER: \"ஆர்டரைப் புதுப்பிக்க முடியவில்லை\",\r\n ORDER_SUCCESSFULLY_CANCELLED: \"ஆர்டர் வெற்றிகரமாக ரத்து செய்யப்பட்டது\",\r\n UNABLE_TO_CANCEL_ORDER: \"ஆர்டரை ரத்து செய்ய முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_PICKUP_DATA:\r\n \"இடும் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_USER_DATA: \"பயனர் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_REASSIGN_THE_PICKUP: \"இடும் இடத்தை மீண்டும் ஒதுக்க முடியவில்லை\",\r\n UNABLE_TO_GET_DATA_FOR_HISTORY: \"வரலாற்றுக்கான தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES:\r\n \"விநியோக வகைகளுக்கான தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS:\r\n \"இடும் நிலைக்கு தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA:\r\n \"செயல்பாட்டு வழிமுறை தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_SERVICES_DATA: \"சேவை தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_REASONS_DATA: \"காரணங்களின் தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_DATA_FOR_CUSTOMER:\r\n \"வாடிக்கையாளருக்கான தரவைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_CUSTOMER_ADDRESSES:\r\n \"வாடிக்கையாளர் முகவரிகளைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_DATA: \"தரவைப் பெற முடியவில்லை\",\r\n PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE:\r\n \"வாடிக்கையாளர் பெயர் / முகவரி / சேவைகள் / விளம்பர குறியீட்டை உள்ளிடவும்\",\r\n PICKUP_IS_UPDATED: \"இடும் புதுப்பிக்கப்பட்டது\",\r\n PICKUP_IS_SCHEDULED: \"இடும் திட்டமிடப்பட்டுள்ளது\",\r\n PICKUP_IS_RESCHEDULED_SUCCESSFULLY:\r\n \"இடும் வெற்றிகரமாக மாற்றியமைக்கப்பட்டுள்ளது\",\r\n UNABLE_TO_RESCHEDULE_THE_PICKUP:\r\n \"இடும் நேரத்தை மறுபரிசீலனை செய்ய முடியவில்லை\",\r\n PICKUP_IS_CANCELLED_SUCCESSFULLY:\r\n \"எடுப்பது வெற்றிகரமாக ரத்து செய்யப்படுகிறது\",\r\n UNABLE_TO_CANCEL_PICKUP: \"இடும் ரத்து செய்ய முடியவில்லை\",\r\n UNABLE_TO_GET_PRE_QC_RESPONSE_LIST:\r\n \"முன் qc மறுமொழி பட்டியலைப் பெற முடியவில்லை\",\r\n QC_RESPONSE_SUBMITTED_SUCCESSFULLY:\r\n \"QC பதில் வெற்றிகரமாக சமர்ப்பிக்கப்பட்டது\",\r\n UNABLE_TO_SUBMIT_QC_RESPONSE: \"QC பதிலைச் சமர்ப்பிக்க முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA:\r\n \"டெலிவரி / விலைப்பட்டியல் தரவுகளுக்குத் தயாரான பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_SUBMIT_STICKER_DATA: \"ஸ்டிக்கர் தரவை சமர்ப்பிக்க முடியவில்லை\",\r\n UNABLE_TO_GET_STICKER_DATA: \"ஸ்டிக்கர் தரவைப் பெற முடியவில்லை\",\r\n PLEASE_ENTER_STICKER_ID: \"ஸ்டிக்கர் ஐடியை உள்ளிடவும்\",\r\n UNABLE_TO_GET_LIST_OF_SERVICE_DATA:\r\n \"சேவை தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_SPLIT_ORDER_NUMBERS: \"பிளவு வரிசை எண்களைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_FACTORY_DATA:\r\n \"தொழிற்சாலை தரவுகளின் பட்டியலைப் பெற முடியவில்லை\",\r\n HAS_BEEN_GENERATED: \"கேட் பாஸ் உருவாக்கப்பட்டுள்ளது\",\r\n UNABLE_TO_GET_LIST_OF_STICKER_DATA:\r\n \"ஸ்டிக்கர் தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA:\r\n \"தொகுப்பு உள்ளமைவு தரவின் பட்டியலைப் பெற முடியவில்லை\",\r\n PLEASE_SELECT_ATLEAST_ONE_ROW:\r\n \"குறைந்தபட்சம் ஒரு வரிசையைத் தேர்ந்தெடுக்கவும்\",\r\n UNABLE_TO_LOAD_REWASH_REASONS: \"Rewash காரணங்களை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST:\r\n \"பட்டியல் மூலம் கோரப்பட்ட Rewash ஐ ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS:\r\n \"செயல்பாட்டு வழிமுறைகளை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_LOAD_BRANDS: \"பிராண்டுகளை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_LOAD_SIZES: \"அளவுகளை ஏற்ற முடியவில்லை\",\r\n UNABLE_TO_LOAD_COLORS: \"வண்ணங்களை ஏற்ற முடியவில்லை\",\r\n WALLET_BALANCE: \"Wallet இருப்பு\",\r\n INVALID: \"தவறானது\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK:\r\n \"SplitOrderNumber காலியாக இருக்கக்கூடாது\",\r\n VALID: \"செல்லுபடியாகும்\",\r\n ADJUSTMENTAMOUNT_SHOULD_BE_BETWEEN_0_AND_10:\r\n \"சரிசெய்தல் தொகை 0 முதல் 10 வரை இருக்க வேண்டும்\",\r\n SERVICE_RATE_NOT_AVAILABLE: \"சேவை வீதம் கிடைக்கவில்லை\",\r\n ADDON_SERVICE_RATE_NOT_AVAILABLE: \"கூடுதல் சேவை வீதம் கிடைக்கவில்லை\",\r\n SCAN_GARMENT: \"ஆடை ஸ்கேன்\",\r\n CLEAR: \"அழி\",\r\n SCAN_TAG: \"ஸ்கேன் டேக்\",\r\n PLEASE_SCAN_TAG: \"குறிச்சொல்லை ஸ்கேன் செய்யவும்\",\r\n READY_FOR_TRANSFER_OUT: \"பரிமாற்றத்திற்கு தயாராக உள்ளது\",\r\n SCANNED_GARMENT_LIST: \"ஸ்கேன் செய்யப்பட்ட ஆடை பட்டியல்\",\r\n THIS_STICKER_BELONGS_TO_ANOTHER_STORE:\r\n \"இந்த ஸ்டிக்கர் மற்றொரு கடைக்கு சொந்தமானது\",\r\n PLEASE_ENTER_VALID_STICKER_NUMBER:\r\n \"செல்லுபடியாகும் ஸ்டிக்கர் எண்ணை உள்ளிடவும்\",\r\n ALL: \"அனைத்தும்\",\r\n THIS_TAG_ALREADY_EXISTS: \"இந்த குறிச்சொல் ஏற்கனவே உள்ளது\",\r\n PREVIOUSLY_PACKE_ON: \"முன்பு பேக் செய்யப்பட்டது\",\r\n CASH_COLLECTION: \"பண வசூல்\",\r\n ALREADY_EXISTS: \"ஏற்கனவே இருக்கிறது\",\r\n USER_PUNCHIN_NOT_FOUND: \"பயனர் புஞ்சின் கிடைக்கவில்லை\",\r\n IT_IS_ALREADY_BLOCKED: \"இது ஏற்கனவே தடுக்கப்பட்டுள்ளது\",\r\n AUTHORIZED: \"அங்கீகாரம் பெற்றது\",\r\n BLOCKED: \"தடுக்கப்பட்டது\",\r\n INVALID_OTP: \"தவறான OTP\",\r\n PLEASE_CHECK_THE_PROVIDED_BANNERID:\r\n \"வழங்கப்பட்ட பேனர் ஐடியைச் சரிபார்க்கவும்\",\r\n ALREADY_IN_USE: \"ஏற்கனவே உபயோகத்தில் உள்ளது\",\r\n ALREADY_EXISTS: \"ஏற்கனவே இருக்கிறது\",\r\n DATE_OVERLAPPING: \"தேதி ஒன்றுடன் ஒன்று\",\r\n REFERRAL_CODE_DOES_NOT_EXISTS: \"பரிந்துரை குறியீடு இல்லை\",\r\n REFERRAL_CODE_IS_ALREADY_USED:\r\n \"பரிந்துரை குறியீடு ஏற்கனவே பயன்படுத்தப்பட்டுள்ளது\",\r\n USER_NAME_IS_INVALID: \"பயனர்பெயர் தவறானது\",\r\n PASSWORD_IS_INVALID: \"கடவுச்சொல் தவறானது\",\r\n USER_NAME_AND_PASSWORD_DOES_NOT_MATCH:\r\n \"பயனர் பெயர் மற்றும் கடவுச்சொல் பொருந்தவில்லை\",\r\n USER_IS_NOT_EXISTS: \"பயனர் இல்லை\",\r\n SPLIT_ORDER_NUMBER_IS_REQUIRED: \"பிளவு ஆர்டர் எண் தேவை\",\r\n INVALID_SPLIT_ORDER_NUMBER: \"தவறான பிளவு ஆர்டர் எண்\",\r\n IT_IS_ALREADY_INACTIVATED: \"இது ஏற்கனவே செயலிழந்துள்ளது\",\r\n COUPON_CODE_NOT_EXISTS: \"கூப்பன் குறியீடு இல்லை\",\r\n CASH_COUPON_EXPIRED: \"பண கூப்பன் காலாவதியானது\",\r\n IT_IS_APPLICABLE_FOR_ONLY_FIRST_TIME_USERS:\r\n \"இது முதல் முறையாக பயனர்களுக்கு மட்டுமே பொருந்தும்\",\r\n YOU_HAVE_ALREADY_USED_THIS_COUPON:\r\n \"நீங்கள் ஏற்கனவே இந்த கூப்பனைப் பயன்படுத்தியுள்ளீர்கள்\",\r\n INVALID_COUPON: \"தவறான கூப்பன்\",\r\n SPLITORDERNUMBER_SHOULD_NOT_BE_BLANK:\r\n \"SplitOrderNumber காலியாக இருக்கக்கூடாது\",\r\n THIS_PICKUP_IS_ALREADY_IN_PROGRESS: \"இந்த இடும் ஏற்கனவே செயலில் உள்ளது\",\r\n YOU_HAVE_ALREADY_RESCHEDULED_THIS_PICKUP_3_TIMES:\r\n \"நீங்கள் ஏற்கனவே இந்த இடத்தை 3 முறை மாற்றியமைத்துள்ளீர்கள்\",\r\n PLEASE_CHECK_WITH_DELIVERYID: \"DeliveryID உடன் சரிபார்க்கவும்\",\r\n PLEASE_ASSIGN_IT_TO_SOMEONE_FIRST: \"முதலில் அதை ஒருவருக்கு ஒதுக்குங்கள்\",\r\n CANNOT_REASSIGN_DELIVERY_AS_ALREADY_PROCEED_FURTHER:\r\n \"ஏற்கனவே மேலும் முன்னேறுவதால் விநியோகத்தை மீண்டும் ஒதுக்க முடியாது\",\r\n PLEASE_CHECK_WITH_STATUS: \"நிலையை சரிபார்க்கவும்\",\r\n\r\n STICKER_ID: \"ஸ்டிக்கர் ஐடி\",\r\n PACKED_On: \"பேக் ஆன்\",\r\n PACKING_IDS: \"பேக்கிங் ஐடிகள்\",\r\n RESORTING_AND_PACKAGING: \"ரிசார்டிங் மற்றும் பேக்கேஜிங்\",\r\n RESORTING_AND_PACKAGING_List: \"ரிசார்டிங் மற்றும் பேக்கேஜிங் பட்டியல்\",\r\n PADING_QC_RESPONSE: \"முன்-க்யூசி மறுமொழி எண்ணிக்கை நிலுவையில் உள்ளது\",\r\n LANGUAGE: \"மொழி\",\r\n CHANGE_PASSWORD: \"கடவுச்சொல்லை மாற்று\",\r\n LOGOUT: \"வெளியேறு\",\r\n TAG_NUMBER_NOT_FOUND: \"குறிச்சொல் எண் கிடைக்கவில்லை\",\r\n TAG_NO: \"குறிச்சொல் எண்\",\r\n\r\n YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE:\r\n \"நீங்கள் JPG / PNG / JPEG கோப்பை மட்டுமே பதிவேற்ற முடியும்\",\r\n IMAGE_MUST_BE_SMALLER_THAN_5_MB:\r\n \"படம் 5 எம்பியை விட சிறியதாக இருக்க வேண்டும்\",\r\n GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC:\r\n \"க்யூ.சி.க்கு சேர்க்க ஆலை தொழிற்சாலையில் இருக்க வேண்டும்\",\r\n ORDER_ALREADY_CONFIRMED: \"ஆர்டர் ஏற்கனவே உறுதிப்படுத்தப்பட்டுள்ளது\",\r\n PENDING_PAYMENT: \"கட்டணம் நிலுவையில்\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_SERVICES_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"சில சேவைகள் கணினியில் இல்லை என்பது போல் தெரிகிறது. சேவை மாஸ்டர் திரையில் விவரங்களைச் சரிபார்த்து மீண்டும் முயற்சிக்கவும்\",\r\n IT_SEEMS_LIKE_FEW_OF_THE_GARMENTS_ARE_NOT_EXISTS_INTO_SYSTEM:\r\n \"சில ஆடைகள் அமைப்பில் இல்லை என்பது போல் தெரிகிறது. ஆடை மாஸ்டர் திரையில் விவரங்களைச் சரிபார்த்து மீண்டும் முயற்சிக்கவும்\",\r\n SERVICE_TAX_DETAIL_IS_MISSING_IN_SECOND_SHEET:\r\n \"சேவை வரி விவரம் இரண்டாவது தாளில் இல்லை\",\r\n PLATFORM: \"கட்டணம் நிலுவையில்\",\r\n ORDER_COUNT: \"நடைமேடை\",\r\n PROMO_CODE: \"விளம்பர குறியீடு\",\r\n PICK_BOY: \"பிக்கப் பாய்\",\r\n CUST_MO_No: \"வாடிக்கையாளர் மொபைல் எண்\",\r\n SERVICE_ICONS: \"சேவை சின்னங்கள்\",\r\n REQUEST_CREATED_DATE: \"கோரிக்கை உருவாக்கிய தேதி & நேரம்\",\r\n PICKUP_REQUEST_DATE: \"இடும் கோரிக்கை தேதி & ஸ்லாட்\",\r\n ORDER_CREATED_DATE: \"ஆர்டர் உருவாக்கப்பட்ட தேதி & நேரம்\",\r\n REPRINT_TAX_INVOICE: \"வரி விலைப்பட்டியல் மறுபதிப்பு\",\r\n SEMI_EXPRESS_RATE: \"(செமி எக்ஸ்பிரஸ் - 1.5 எக்ஸ்)\",\r\n EXPRESS_RATE: \"(எக்ஸ்பிரஸ் - 2 எக்ஸ்)\",\r\n TOTAL_STICKERS: \"மொத்த ஸ்டிக்கர்கள்\",\r\n DELIVERY_BOY: \"டெலிவரி பாய்\",\r\n POST_QC: \"QC ஐ இடுங்கள்\",\r\n UNABLE_TO_GET_POST_QC_DATA: \"பிந்தைய qc தரவைப் பெற முடியவில்லை\",\r\n GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS:\r\n \"பிந்தைய qc செயல்முறைக்கு ஆடை மேலும் தொடர்ந்தது\",\r\n POST_QC_STATUS: \"PostQC நிலை\",\r\n POST_QC_REMARK: \"PostQC குறிப்பு\",\r\n POST_QC_DATETIME: \"QC தேதிநேரத்தை இடுகையிடவும்\",\r\n POSTED_BY: \"பதிவிட்டவர்\",\r\n ADD_GARMENT_FOR_POST_QC: \"இடுகை QC க்கு ஆடை சேர்க்கவும்\",\r\n LATEST_POSTQC_DETAILS: \"சமீபத்திய PostQc விவரங்கள்\",\r\n PICKUP_TIMESLOT: \"பிக்அப் டைம்ஸ்லாட்\",\r\n UNABLE_TO_GET_STORE_NAME: \"ஸ்டோர் நம் பெற முடியவில்லை\",\r\n CANCEL_REASON_IS_REQUIRED: \"ரத்துசெய் புலம் தேவை\",\r\n FACTORY_GATE_PASS: \"தொழிற்சாலை கேட் பாஸ் பட்டியல்\",\r\n CUSTOMER_REMARK: \"வாடிக்கையாளர் கருத்து\",\r\n STORE_OUT_DATE: \"தேதியை சேமிக்கவும்\",\r\n LAST_UPDATED_ON: \"கடைசியாக புதுப்பிக்கப்பட்டது\",\r\n LAST_UPDATED_BY: \"கடைசியாக புதுப்பிக்கப்பட்டது\",\r\n FACTORY_IN_DATETIME: \"தேதிநேரத்தில் தொழிற்சாலை\",\r\n GARMENTS_FACTORY_IN: \"ஆடைகள் தொழிற்சாலை\",\r\n GARMENTS_MISSING: \"ஆடைகள் காணவில்லை\",\r\n BALANCED_GARMENTS: \"சமச்சீர் ஆடைகள்\",\r\n FACTORY_IN_DATE: \"தேதியில் தொழிற்சாலை\",\r\n LOT_SIZE: \"நிறைய அளவு\",\r\n STANDARD_RATE_CARD: \"நிலையான வீத அட்டை\",\r\n ORDER_STATUS: \"ஆர்டர் நிலை\",\r\n INVOICE_STATUS: \"விலைப்பட்டியல் நிலை\",\r\n STOREINDATE: \"தேதியில் சேமிக்கவும்\",\r\n FACTORYOUTDATE: \"தொழிற்சாலை அவுட் தேதி\",\r\n PLEASE_SELECT_PAYMENT_MODE: \"கட்டண பயன்முறையைத் தேர்ந்தெடுக்கவும்\",\r\n SELECT_PACKING_MATERIAL:\r\n \"நீங்கள் 99 வரை மட்டுமே பொதி பொருளைத் தேர்ந்தெடுக்க முடியும்\",\r\n SOMETHING_WENT_WRONG: \"ஏதோ தவறு நடந்துவிட்டது\",\r\n UNABLE_TO_GET_PAYMENT_METHOD_DATA: \"கட்டண முறை தரவைப் பெற முடியவில்லை\",\r\n ARE_YOU_SURE_YOU_WANT_TO_MARK_ORDER_AS_COMPLETED:\r\n \"ஆர்டர் முடிந்ததை குறிக்க விரும்புகிறீர்களா?\",\r\n ORDER_MARKED_AS_COMPLETED: \"ஆர்டர் முடிந்ததாக குறிக்கப்பட்டுள்ளது\",\r\n UNABLE_TO_MARK_ORDER_AS_COMPLETED: \"முடிந்ததை ஆர்டர் குறிக்க முடியவில்லை\",\r\n EDC_CONFIGURATION: \"EDC சாதனம் இந்த கடையுடன் இணைக்கப்படவில்லை\",\r\n ALTER_PHONE_NUMBER: \"மாற்று தொலைபேசி எண்\",\r\n // ATTENDANCE: \"வருகை\",\r\n // ATTENDANCE_REPORT: \"வருகை அறிக்கை\",\r\n // OTHER_TYPE: \"பிற வகை\",\r\n // PLEASE_ENTER_OTHER_TYPE: \"தயவுசெய்து பிற வகையை உள்ளிடுக\",\r\n // ENTER_OTHER_TYPE: \"பிற வகையை உள்ளிடுக\",\r\n },\r\n};\r\n\r\nconst currentLang = Object.keys(allLabels).includes(\r\n localStorage.getItem(\"locale\")\r\n)\r\n ? localStorage.getItem(\"locale\")\r\n : \"ENGLISH\";\r\n\r\nconst currentLangLabels = allLabels[currentLang];\r\nconst englishLabels = allLabels[\"ENGLISH\"];\r\nconst labels = { ...englishLabels, ...currentLangLabels };\r\n\r\nlet engKeys = Object.keys(allLabels[\"ENGLISH\"]);\r\nlet langKeys = Object.keys(allLabels[\"HINDI\"]);\r\nlet nonExist = engKeys.filter(function (el) {\r\n return langKeys.indexOf(el) < 0;\r\n});\r\nexport { labels, currentLang, allLabels };\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport { labels } from \"../shared/language\";\r\n\r\nclass Common {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n }\r\n\r\n async GetSystemEnums(enumName) {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SYSTEME_NUMS });\r\n let itemArray = [];\r\n let param = \"?EnumNames=\" + enumName;\r\n\r\n await myApi.endpoints.GetSystemEnums.getOne(param, {})\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async refreshToken(callback = () => null) {\r\n const myApi = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n myApi.createEntity({ name: this.endpoint.REFRESH_TOKEN });\r\n return myApi.endpoints[this.endpoint.REFRESH_TOKEN].create({\r\n token: JSON.parse(localStorage.getItem(\"currentuser\")).token,\r\n refreshToken: JSON.parse(localStorage.getItem(\"currentuser\"))\r\n .refreshToken,\r\n });\r\n // .then((response) => {\r\n // if (response.data.statusCode === 200) {\r\n // localStorage.setItem(\r\n // \"currentuser\",\r\n // JSON.stringify(response.data.data)\r\n // );\r\n // return callback();\r\n // } else {\r\n // //logout\r\n // }\r\n // })\r\n // .catch((err) => {\r\n // //logout\r\n // });\r\n // return Promise.resolve();\r\n }\r\n\r\n setToken = (response) => {\r\n if (response.data.data !== null) {\r\n localStorage.setItem(\"currentuser\", JSON.stringify(response.data.data));\r\n }\r\n };\r\n\r\n Message(message) {\r\n var res =\r\n labels[\r\n ![undefined, \"\", null].includes(message)\r\n ? message\r\n .toUpperCase()\r\n .replace(\"/\", \"_\")\r\n .replace(\"-\", \"_\")\r\n .replace(/[\\*\\^\\'\\!\\,\\.\\-]/g, \"\")\r\n .replace(\" \", \" \")\r\n .split(\" \")\r\n .join(\"_\")\r\n .replace(\"__\", \"_\")\r\n : \"\"\r\n ];\r\n return ![undefined, null, \"\"].includes(res) ? res : message;\r\n }\r\n\r\n PaytmTransNumber(ids, name) {\r\n let rendomNumber = Math.floor(Math.random() * 899999 + 100000);\r\n let prefix = \"POS\";\r\n let count = \"\";\r\n\r\n count = ids.indexOf(\",\") > 0 ? ids.split(\",\").length : ids.length;\r\n count =\r\n name === \"Order Payment\" ? count.toString().padStart(3, \"0\") : \"001\";\r\n\r\n let firstChar =\r\n ![undefined, null, \"\"].includes(name) && name.length > 1\r\n ? name.charAt(0)\r\n : \"\";\r\n let fid =\r\n ids.indexOf(\",\") > 0\r\n ? ids.split(\",\")[0].toString().padStart(7, \"0\")\r\n : ids.padStart(7, \"0\");\r\n\r\n let transNumber = rendomNumber + prefix + count + firstChar + fid;\r\n return transNumber;\r\n }\r\n\r\n handleError(err) {\r\n let strstatusCode = 500;\r\n let strmessage = \"Something went wrong\";\r\n if (![undefined, null, \"\"].includes(err.response)) {\r\n strstatusCode = err.response.status;\r\n }\r\n return { statusCode: strstatusCode, message: strmessage };\r\n }\r\n\r\n \r\n}\r\n\r\nexport default Common;\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass AuthService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n }\r\n\r\n async MakeRemoteAuthRequest(username, password) {\r\n const myApi = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n // console.log(\"myApi->\",myApi);\r\n myApi.createEntity({ name: this.endpoint.AUTH_USER });\r\n // console.log(\"myApi1->\",myApi);\r\n let payLoad;\r\n const post = {\r\n username: username,\r\n password: password,\r\n };\r\n await myApi.endpoints[this.endpoint.AUTH_USER]\r\n .postAllWithoutToken(post)\r\n .then((data) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n //if (response.data.accessToken) {\r\n\r\n localStorage.setItem(\"currentuser\", JSON.stringify(data.data.data));\r\n\r\n // localStorage.setItem(\"branchID\",selectedBranch)\r\n //}\r\n // return response.data;\r\n payLoad = data;\r\n })\r\n .catch((err) => {\r\n this.handleError(err);\r\n console.log(err);\r\n });\r\n return Promise.resolve(payLoad);\r\n }\r\n\r\n async getAssignStoreFactoryByUserId(postdata) {\r\n const myApi = new API({ url: this.config.LAUNDRETKART_AUTH + \"/api/Auth\" });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_ASSIGNED_STORE_FACTORY_BY_USERID,\r\n });\r\n let payLoad = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_ASSIGNED_STORE_FACTORY_BY_USERID]\r\n .getAllPost(postdata)\r\n .then((data) => {\r\n localStorage.setItem(\"BranchInfo\", JSON.stringify(data.data.data));\r\n payLoad = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n payLoad = this.getAssignStoreFactoryByUserId(postdata);\r\n });\r\n }\r\n return Promise.resolve(payLoad);\r\n }\r\n\r\n async GetScreenRightsByUser(userId) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SCREENRIGHTBY_USER });\r\n let payLoad = [];\r\n const idParams = \"?UserID=\" + userId;\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_SCREENRIGHTBY_USER]\r\n .getById(idParams)\r\n .then(({ data }) => {\r\n payLoad = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n payLoad = this.GetScreenRightsByUser(userId);\r\n });\r\n }\r\n return Promise.resolve(payLoad);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n\r\n getCurrentUser() {\r\n return JSON.parse(localStorage.getItem(\"currentuser\"));\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem(\"currentuser\");\r\n localStorage.removeItem(\"userrights\");\r\n localStorage.removeItem(\"branchID\");\r\n localStorage.removeItem(\"Store/FactoryName\");\r\n localStorage.removeItem(\"Store/FactoryType\");\r\n localStorage.removeItem(\"BranchInfo\");\r\n localStorage.removeItem(\"roleNames\");\r\n localStorage.removeItem(\"StoreSlots\");\r\n\r\n window.location.href = \"/\";\r\n }\r\n\r\n async SendOTP(mobileNo) {\r\n const myApi = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n myApi.createEntity({ name: this.endpoint.GET_USER_INFO });\r\n let payLoad = [];\r\n const idParams = \"?mobileNo=\" + mobileNo;\r\n await myApi.endpoints[this.endpoint.GET_USER_INFO]\r\n .getByIdWithoutToken(idParams)\r\n .then(({ data }) => {\r\n payLoad = data;\r\n })\r\n .catch((err) => {\r\n this.handleError(err);\r\n console.log(err);\r\n });\r\n return Promise.resolve(payLoad);\r\n }\r\n\r\n async SubmitPassword(userId, password) {\r\n const myApi = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n myApi.createEntity({ name: this.endpoint.UPDARE_PASSWORD });\r\n let payLoad = [];\r\n const post = {\r\n userId: userId,\r\n newPassword: password,\r\n };\r\n await myApi.endpoints[this.endpoint.UPDARE_PASSWORD]\r\n .postAllWithoutToken(post)\r\n .then((data) => {\r\n payLoad = data;\r\n })\r\n .catch((err) => {\r\n this.handleError(err);\r\n console.log(err);\r\n });\r\n return Promise.resolve(payLoad);\r\n }\r\n\r\n async ResetPassword(newPassword, oldPassword) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.CHANGE_PASSWORD });\r\n let payLoad = [];\r\n const post = {\r\n oldPassword: oldPassword,\r\n newPassword: newPassword,\r\n };\r\n await myApi.endpoints[this.endpoint.CHANGE_PASSWORD]\r\n .create(post)\r\n .then((data) => {\r\n payLoad = data;\r\n })\r\n .catch((err) => {\r\n this.handleError(err);\r\n console.log(err);\r\n });\r\n return Promise.resolve(payLoad);\r\n }\r\n}\r\n\r\nexport default AuthService;\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class PickupService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getPickupStatusList() {\r\n const pickupStatusListAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n pickupStatusListAPI.createEntity({\r\n name: this.endpoint.GET_PICKUP_STATUS_LIST,\r\n });\r\n let status = [];\r\n\r\n await pickupStatusListAPI.endpoints[this.endpoint.GET_PICKUP_STATUS_LIST]\r\n .getAll()\r\n .then((response) => {\r\n status = response.data;\r\n })\r\n .catch((err) => {\r\n status = this.common.handleError(err);\r\n });\r\n if (status.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n status = this.getPickupStatusList();\r\n });\r\n }\r\n return Promise.resolve(status);\r\n }\r\n\r\n async getOpInstructList() {\r\n const getOpInstructAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n getOpInstructAPI.createEntity({\r\n name: this.endpoint.GET_OPERATION_INSTRUCT_LIST,\r\n });\r\n let opInstruct = [];\r\n await getOpInstructAPI.endpoints[this.endpoint.GET_OPERATION_INSTRUCT_LIST]\r\n .getAll()\r\n .then((response) => {\r\n opInstruct = response.data;\r\n })\r\n .catch((err) => {\r\n opInstruct = this.common.handleError(err);\r\n });\r\n if (opInstruct.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n opInstruct = this.getOpInstructList();\r\n });\r\n }\r\n return Promise.resolve(opInstruct);\r\n }\r\n\r\n async getTimeSlotList(storeid) {\r\n const pickupStatusListAPI = new API({\r\n url: this.config.ITEM_URL,\r\n });\r\n pickupStatusListAPI.createEntity({\r\n name: this.endpoint.GET_STORE_SLOTS,\r\n });\r\n let timeslot = [];\r\n const idParam = \"?StoreID=\" + storeid;\r\n await pickupStatusListAPI.endpoints[this.endpoint.GET_STORE_SLOTS]\r\n .getOne(idParam)\r\n .then((response) => {\r\n timeslot = response.data;\r\n })\r\n .catch((err) => {\r\n timeslot = this.common.handleError(err);\r\n });\r\n if (timeslot.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n timeslot = this.getTimeSlotList(storeid);\r\n });\r\n }\r\n return Promise.resolve(timeslot);\r\n }\r\n\r\n async getDeliveryTypeList() {\r\n const deliveryTypeAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n deliveryTypeAPI.createEntity({\r\n name: this.endpoint.GET_DELIVERY_TYPES,\r\n });\r\n let deliveryTypes = [];\r\n await deliveryTypeAPI.endpoints[this.endpoint.GET_DELIVERY_TYPES]\r\n .getAll()\r\n .then((response) => {\r\n deliveryTypes = response.data;\r\n })\r\n .catch((err) => {\r\n deliveryTypes = this.common.handleError(err);\r\n });\r\n if (deliveryTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n deliveryTypes = this.getDeliveryTypeList();\r\n });\r\n }\r\n return Promise.resolve(deliveryTypes);\r\n }\r\n\r\n async getCancelReasonsList() {\r\n const reasonListAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n reasonListAPI.createEntity({\r\n name: this.endpoint.GET_PICKUP_CANCEL_REASON_LIST,\r\n });\r\n let reasons = [];\r\n await reasonListAPI.endpoints[this.endpoint.GET_PICKUP_CANCEL_REASON_LIST]\r\n .getAll()\r\n .then((response) => {\r\n reasons = response.data;\r\n })\r\n .catch((err) => {\r\n reasons = this.common.handleError(err);\r\n });\r\n if (reasons.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n reasons = this.getCancelReasonsList();\r\n });\r\n }\r\n return Promise.resolve(reasons);\r\n }\r\n\r\n async getServices() {\r\n const servicesAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n servicesAPI.createEntity({\r\n name: this.endpoint.GET_SERVICES_OFFERED,\r\n });\r\n let services = [];\r\n await servicesAPI.endpoints[this.endpoint.GET_SERVICES_OFFERED]\r\n .getAll()\r\n .then((response) => {\r\n services = response.data;\r\n })\r\n .catch((err) => {\r\n services = this.common.handleError(err);\r\n });\r\n if (services.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n services = this.getServices();\r\n });\r\n }\r\n return Promise.resolve(services);\r\n }\r\n\r\n async getCustomerData(searchStr) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SEARCH_CUSTOMER,\r\n });\r\n let itemArray = [];\r\n let ID = \"?SearchString=\" + searchStr;\r\n await myApi.endpoints.GetSearchCustomer.getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getCustomerData(searchStr);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getCustomerAddresses(id) {\r\n const getAddressAPI = new API({ url: this.config.ITEM_URL });\r\n getAddressAPI.createEntity({\r\n name: this.endpoint.GET_CUSTOMER_ADDRESSES,\r\n });\r\n let addresses = [];\r\n const idParam = \"?CustomerId=\" + id;\r\n await getAddressAPI.endpoints[this.endpoint.GET_CUSTOMER_ADDRESSES]\r\n .getOne(idParam)\r\n .then((response) => (addresses = response.data))\r\n .catch((err) => {\r\n addresses = this.common.handleError(err);\r\n });\r\n if (addresses.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n addresses = this.getCustomerAddresses(id);\r\n });\r\n }\r\n return Promise.resolve(addresses);\r\n }\r\n\r\n async getDaysBasedOnServices() {\r\n const daysApi = new API({\r\n url: this.config.LAUNDRETKART_AUTH,\r\n });\r\n daysApi.createEntity({\r\n name: this.endpoint.GET_SAMPLE_TIME_CARD,\r\n });\r\n let days = [];\r\n await daysApi.endpoints[this.endpoint.GET_SAMPLE_TIME_CARD]\r\n .getAll()\r\n .then((response) => {\r\n days = response.data;\r\n })\r\n .catch((err) => {\r\n days = this.common.handleError(err);\r\n });\r\n if (days.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n days = this.getDaysBasedOnServices();\r\n });\r\n }\r\n return Promise.resolve(days);\r\n }\r\n\r\n async getPickupRequestHistory(pickupID) {\r\n const historyApi = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n historyApi.createEntity({\r\n name: this.endpoint.GET_PICKUP_REQUEST_HISTORY,\r\n });\r\n let history = [];\r\n const id = \"?PickupID=\" + pickupID;\r\n // const id={ PickupID: pickupID }\r\n await historyApi.endpoints[this.endpoint.GET_PICKUP_REQUEST_HISTORY]\r\n .uploadFile(id, \"\", pickupID)\r\n .then((response) => {\r\n history = response.data;\r\n })\r\n .catch((err) => {\r\n history = this.common.handleError(err);\r\n });\r\n if (history.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n history = this.getPickupRequestHistory(pickupID);\r\n });\r\n }\r\n return Promise.resolve(history);\r\n }\r\n\r\n async getReassignPickups(params) {\r\n const reassignAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n reassignAPI.createEntity({\r\n name: this.endpoint.REASSIGN_PICKUP_REQUEST,\r\n });\r\n let reassignedPickup = [];\r\n await reassignAPI.endpoints[this.endpoint.REASSIGN_PICKUP_REQUEST]\r\n .create(params)\r\n .then((response) => {\r\n reassignedPickup = response.data;\r\n })\r\n .catch((err) => {\r\n reassignedPickup = this.common.handleError(err);\r\n });\r\n if (reassignedPickup.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n reassignedPickup = this.getReassignPickups(params);\r\n });\r\n }\r\n return Promise.resolve(reassignedPickup);\r\n }\r\n\r\n async getUserListBasedOnStore(storeid) {\r\n const userAPI = new API({ url: this.config.DROPDOWN_URL });\r\n userAPI.createEntity({\r\n name: this.endpoint.GET_USER_LIST_BY_STORE_ID,\r\n });\r\n let users = [];\r\n const idParam = \"?StoreID=\" + storeid;\r\n await userAPI.endpoints[this.endpoint.GET_USER_LIST_BY_STORE_ID]\r\n .getOne(idParam)\r\n .then((response) => {\r\n users = response.data;\r\n })\r\n .catch((err) => {\r\n users = this.common.handleError(err);\r\n });\r\n if (users.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n users = this.getUserListBasedOnStore(storeid);\r\n });\r\n }\r\n return Promise.resolve(users);\r\n }\r\n \r\n async retriveHolidaylist(param) {\r\n \r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n \r\n myApi.createEntity({ name: this.endpoint.GET_HOLIDAYLIST_BY_STOREID});\r\n let itemArray = [];\r\n let ID = \"?StoreID=\" + param;\r\n\r\n await myApi.endpoints.GetHolidaylistByStoreID.getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n \r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retriveHolidaylist(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async validateDisPromocode(params) {\r\n const promocodeAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n promocodeAPI.createEntity({\r\n name: this.endpoint.PICKUP_VALIDATE_PROMOCODE,\r\n });\r\n let promocode = [];\r\n await promocodeAPI.endpoints[this.endpoint.PICKUP_VALIDATE_PROMOCODE]\r\n .getAllPost(params)\r\n .then((response) => {\r\n promocode = response.data;\r\n })\r\n .catch((err) => {\r\n promocode = this.common.handleError(err);\r\n });\r\n if (promocode.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n promocode = this.validateDisPromocode(params);\r\n });\r\n }\r\n return Promise.resolve(promocode);\r\n }\r\n\r\n async getPickup(param) {\r\n const allPickupAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n allPickupAPI.createEntity({\r\n name: this.endpoint.GET_PICKUP_REQUEST,\r\n });\r\n let pickups = [];\r\n await allPickupAPI.endpoints[this.endpoint.GET_PICKUP_REQUEST]\r\n .getAllPost(param)\r\n .then((response) => {\r\n pickups = response.data;\r\n })\r\n .catch((err) => {\r\n pickups = this.common.handleError(err);\r\n });\r\n if (pickups.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n pickups = this.getPickup(param);\r\n });\r\n }\r\n return Promise.resolve(pickups);\r\n }\r\n\r\n async addUpdatePickupRequest(postData) {\r\n const addUpdateAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n addUpdateAPI.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_PICKUP_REQUEST,\r\n });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.SAVE_UPDATE_PICKUP_REQUEST]\r\n .create(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdatePickupRequest(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getPickUpDetailsByID(id) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_PICKUP_REQUEST_BY_PICKUPID,\r\n });\r\n let itemArray = [];\r\n let ID = \"?PickupId=\" + id;\r\n await myApi.endpoints.GetPickupRequestByPickupID.getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPickUpDetailsByID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async requestReschedulePickup(params) {\r\n const reassignAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n reassignAPI.createEntity({\r\n name: this.endpoint.RESCHEDULE_PICKUP_REQUEST,\r\n });\r\n let reassignedPickup = [];\r\n await reassignAPI.endpoints[this.endpoint.RESCHEDULE_PICKUP_REQUEST]\r\n .create(params)\r\n .then((response) => {\r\n reassignedPickup = response.data;\r\n })\r\n .catch((err) => {\r\n reassignedPickup = this.common.handleError(err);\r\n });\r\n if (reassignedPickup.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n reassignedPickup = this.requestReschedulePickup(params);\r\n });\r\n }\r\n return Promise.resolve(reassignedPickup);\r\n }\r\n\r\n async requestCancelPickup(postdata) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.CANCEL_PICKUP_REQUEST,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.CANCEL_PICKUP_REQUEST]\r\n .create(postdata)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.requestCancelPickup(postdata);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStoreByCustomerAddressID(id) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_STORE_ID_BY_CUST_ADDRESS,\r\n });\r\n let itemArray = [];\r\n let ID = \"?CustomerAddressID=\" + id;\r\n await myApi.endpoints[this.endpoint.GET_STORE_ID_BY_CUST_ADDRESS]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreByCustomerAddressID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getSlotListByStoreIDS(storeids) {\r\n const pickupStatusListAPI = new API({\r\n url: this.config.ITEM_URL,\r\n });\r\n pickupStatusListAPI.createEntity({\r\n name: this.endpoint.GET_STORE_SLOTS_BY_STOREIDS,\r\n });\r\n let timeslot = [];\r\n const idParam = \"?StoreIDS=\" + storeids;\r\n await pickupStatusListAPI.endpoints[this.endpoint.GET_STORE_SLOTS_BY_STOREIDS]\r\n .getOne(idParam)\r\n .then((response) => {\r\n timeslot = response.data;\r\n })\r\n .catch((err) => {\r\n timeslot = this.common.handleError(err);\r\n });\r\n if (timeslot.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n timeslot = this.getSlotListByStoreIDS(storeids);\r\n });\r\n }\r\n return Promise.resolve(timeslot);\r\n }\r\n\r\n \r\n async GetTodayPickipList(param) {\r\n const allPickupAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n allPickupAPI.createEntity({\r\n name: this.endpoint.GET_TODAY_PICKUP_LIST,\r\n });\r\n let pickups = [];\r\n await allPickupAPI.endpoints[this.endpoint.GET_TODAY_PICKUP_LIST]\r\n .getAllPost(param)\r\n .then((response) => {\r\n pickups = response.data;\r\n })\r\n .catch((err) => {\r\n pickups = this.common.handleError(err);\r\n });\r\n if (pickups.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n pickups = this.GetTodayPickipList(param);\r\n });\r\n }\r\n return Promise.resolve(pickups);\r\n }\r\n\r\n async updatePickupStoreID(postData) {\r\n const addUpdateAPI = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n addUpdateAPI.createEntity({\r\n name: this.endpoint.UPDATE_PICKUP_STOREID,\r\n });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.UPDATE_PICKUP_STOREID]\r\n .create(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdatePickupRequest(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","/**\r\n * This file should hold all the routes for the application\r\n * to be used in navigation for creating routes and\r\n * to be used while redirecting from anywhere\r\n * so just in case it is needed to be changed,\r\n * it can be changed globally.\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\n\r\nlet ROUTES = {};\r\nROUTES.LOGIN = \"/\";\r\nROUTES.SPLASH = \"/splash\";\r\nROUTES.DASHBOARD = \"/dashboard\";\r\nROUTES.ADMIN_CONFIG = \"/adminconfiguration\";\r\nROUTES.MASTER = \"/master\";\r\nROUTES.AUTHENTICATION = \"/authentication\";\r\nROUTES.STOREMODULE = \"/store\";\r\nROUTES.FACTORY = \"/factory\";\r\nROUTES.LKWALLET = \"/lkwallet\";\r\nROUTES.DELIVERY_DASHBORAD = \"/deliverydashboard\";\r\nROUTES.PACKAGE_CHARGES_MASTER = \"/adminconfiguration/packagingcharges\";\r\nROUTES.DELIVERY_CHARGES_MASTER = \"/adminconfiguration/deliverycharges\";\r\nROUTES.REWARDS_CONFIG = \"/adminconfiguration/rewardsconfig\";\r\nROUTES.BANNER = \"/adminconfiguration/banner\";\r\nROUTES.NOTICE_BOARD = \"/adminconfiguration/notice-board\";\r\nROUTES.STANDARD_RATE_CARD = \"/adminconfiguration/standard-rate-card\";\r\nROUTES.PAYTM_EDC_MACHINE_CONFING =\r\n \"/adminconfiguration/paytm-edc-machine-configuration\";\r\n ROUTES.TERMS_AND_CONDITIONS = \"/adminconfiguration/terms-and-conditions\";\r\nROUTES.RATECARD = \"/adminconfiguration/serviceratecard\";\r\nROUTES.ADD_RATECARD = \"/adminconfiguration/serviceratecard/add\";\r\nROUTES.EDIT_RATECARD = \"/adminconfiguration/serviceratecard/edit\";\r\nROUTES.VIEW_RATECARD = \"/adminconfiguration/serviceratecard/view\";\r\nROUTES.VIEW_RATESTOREASSIGNMENT =\r\n \"/adminconfiguration/serviceratecard/storeassignment\";\r\nROUTES.VIEW_RATECORPORATEASSIGNMENT =\r\n \"/adminconfiguration/serviceratecard/corporateassignment\";\r\nROUTES.VIEW_ROLE = \"/role\";\r\n\r\nROUTES.TIMECARD = \"/adminconfiguration/servicetimecard\";\r\nROUTES.ADD_TIMECARD = \"/adminconfiguration/servicetimecard/add\";\r\nROUTES.EDIT_TIMECARD = \"/adminconfiguration/servicetimecard/edit\";\r\nROUTES.VIEW_TIMECARD = \"/adminconfiguration/servicetimecard/view\";\r\nROUTES.VIEW_TIMESTOREASSIGNMENT =\r\n \"/adminconfiguration/servicetimecard/storeassignment\";\r\nROUTES.VIEW_TIMECORPORATEASSIGNMENT =\r\n \"/adminconfiguration/servicetimecard/corporateassignment\";\r\n\r\nROUTES.DISCOUNT_MASTER = \"/adminconfiguration/discountmaster\";\r\nROUTES.VIEW_DISCOUNT_CODES = \"/adminconfiguration/discountmaster/discountcodes\";\r\nROUTES.ADD_DISCOUNT_MASTER = \"/adminconfiguration/discountmaster/add\";\r\nROUTES.VIEW_DISCOUNT_MASTER = \"/adminconfiguration/discountmaster/view\";\r\nROUTES.EDIT_DISCOUNT_MASTER = \"/adminconfiguration/discountmaster/edit\";\r\nROUTES.FAQ = \"/adminconfiguration/faq\";\r\n\r\nROUTES.STORE = \"/master/store\";\r\nROUTES.CITY_MASTER = \"/master/city\";\r\nROUTES.STATE_MASTER = \"/master/state\";\r\nROUTES.DESIGNATION_MASTER = \"/master/designation\";\r\nROUTES.BRAND_MASTER = \"/master/garmentbrand\";\r\nROUTES.SIZE_MASTER = \"/master/garmentsize\";\r\nROUTES.KYCDOCTYPE_MASTER = \"/master/kycdocumenttype\";\r\nROUTES.SERVICE_MASTER = \"/master/service\";\r\nROUTES.GARMENT_MASTER = \"/master/garment\";\r\nROUTES.COLOR_MASTER = \"/master/garmentcolor\";\r\nROUTES.REWASH_REASON_MASTER = \"/master/rewashreason\";\r\nROUTES.OPERATION_INSTRUCTION_MASTER = \"/master/operationinstruction\";\r\nROUTES.EXPENSE_TYPE_MASTER = \"/master/expensetype\";\r\nROUTES.FACTORY_MASTER = \"/master/factory\";\r\nROUTES.ADD_FACTORY = \"/master/factory/add\";\r\nROUTES.EDIT_FACTORY = \"/master/factory/edit\";\r\nROUTES.VIEW_FACTORY = \"/master/factory/view\";\r\n\r\nROUTES.SERVICE_ICONS = \"/master/service-icons\";\r\n\r\nROUTES.USER = \"/authentication/manageuser\";\r\nROUTES.ADD_USER = \"/authentication/manageuser/add\";\r\nROUTES.EDIT_USER = \"/authentication/manageuser/edit\";\r\nROUTES.VIEW_USER = \"/authentication/manageuser/view\";\r\n\r\nROUTES.CUSTOMER_MASTER = \"/master/customer\";\r\nROUTES.ADD_CUSTOMER = \"/master/customer/add\";\r\nROUTES.EDIT_CUSTOMER = \"/master/customer/edit\";\r\nROUTES.VIEW_CUSTOMER = \"/master/customer/view\";\r\nROUTES.VIEW_ADDRESSES = \"/master/customer/addresses\";\r\n\r\nROUTES.ROLE_SCREEN_MAPPING = \"/authentication/manage-role-operation\";\r\nROUTES.ROLE_MASTER = \"/authentication/roles\";\r\n\r\nROUTES.ADD_STORE = \"/master/store/add\";\r\nROUTES.EDIT_STORE = \"/master/store/edit\";\r\nROUTES.VIEW_STORE = \"/master/store/view\";\r\n\r\nROUTES.CORPORATE_MASTER = \"/master/corporate\";\r\nROUTES.ADD_CORPORATE = \"/master/corporate/add\";\r\nROUTES.EDIT_CORPORATE = \"/master/corporate/edit\";\r\nROUTES.VIEW_CORPORATE = \"/master/corporate/view\";\r\n\r\nROUTES.STORE_GATE_PASS_LIST = \"/store/gate-pass-list\";\r\nROUTES.FACTORY_GATE_PASS_LIST = \"/factory/gate-pass-list\";\r\n\r\nROUTES.STORE_PRE_QC_RESPONSE_LIST = \"/store/pre-qc-response-list\";\r\nROUTES.VIEW_PRE_QC_STORE = \"/store/pre-qc-response-list/view\";\r\nROUTES.EDIT_PRE_QC_STORE = \"/store/pre-qc-response-list/edit\";\r\n\r\nROUTES.STORE_READY_FOR_DELIVERY_ORDERS = \"/store/ready-for-delivery-orders\";\r\nROUTES.STORE_EXPENSE_ENTRY = \"/store/expense-entry\";\r\nROUTES.STORE_INVENTORY = \"/store/storeinventory\";\r\nROUTES.STORE_TRANSFER_OUT = \"/store/transfer-out\";\r\nROUTES.STORE_TRANSFER_IN = \"/store/transfer-in\";\r\nROUTES.STORE_IN_PENDING = \"/store/store-in-pending\";\r\n\r\nROUTES.STORE_DASHBOARD = \"/store/dashboard\";\r\nROUTES.STORE_ORDER_HISTORY = \"/store/storeorderhistory\";\r\n\r\nROUTES.TRANSFER_IN_FACTORY = \"/factory/factory-in\";\r\nROUTES.TRANSFER_OUT_FACTORY = \"/factory/factory-out\";\r\n// ROUTES.FACTORY_INVENTORY = \"/factory/factoryinventory\";\r\nROUTES.FACTORY_GARMENT_INVENTORY=\"/factory/factoryinventory/GarmentInventory\";\r\nROUTES.INVENTORY_SUMMARY=\"/factory/factoryinventory/inventorySummary\";\r\nROUTES.FACTORY_Resorting_Packaging = \"/factory/resorting&packaging\";\r\nROUTES.FACTORY_Resorting_Print = \"/factory/Stiker-Print\";\r\nROUTES.RESORTING_AND_PACKAGING = \"/factory/resorting&packaginglist\";\r\n// ROUTES.FACTORY_GATE_PASS = \"/factory/factory-gate-pass\";\r\nROUTES.FACTORY_ORDER_HISTORY = \"/factory/factoryorderhistory\";\r\nROUTES.FACTORY_IN_PENDING = \"/factory/factory-in-pending\";\r\n\r\nROUTES.GARMENT_PROCESSING = \"/factory/garment-processing\";\r\nROUTES.PROCESSING_LIST = \"/factory/processing-list\";\r\n\r\nROUTES.PRE_QC_FACTORY = \"/factory/pre-qc\";\r\nROUTES.ADD_PRE_QC_FACTORY = \"/factory/pre-qc/add\";\r\nROUTES.VIEW_PRE_QC_FACTORY = \"/factory/pre-qc/view\";\r\nROUTES.EDIT_PRE_QC_FACTORY = \"/factory/pre-qc/edit\";\r\n\r\nROUTES.POST_QC_FACTORY = \"/factory/post-qc\";\r\nROUTES.ADD_POST_QC_FACTORY = \"/factory/post-qc/add\";\r\nROUTES.VIEW_POST_QC_FACTORY = \"/factory/post-qc/view\";\r\nROUTES.EDIT_POST_QC_FACTORY = \"/factory/post-qc/edit\";\r\n\r\nROUTES.FACTORY_DASHBOARD = \"/factory/dashboard\";\r\n\r\nROUTES.PACKAGE_CONFIGURATION = \"/lkwallet/packageconfiguration\";\r\nROUTES.REFFERAL_BONUS_CONFIGURATION = \"/lkwallet/refferalbonusconfiguration\";\r\nROUTES.COMPENSATION_MASTER = \"/lkwallet/compensation\";\r\nROUTES.EMPLOYEE_CREDIT = \"/lkwallet/employeecredit\";\r\nROUTES.LKREFUND = \"/lkwallet/refund\";\r\nROUTES.ADVANCE_PAYMENT = \"/lkwallet/advancepayment\";\r\nROUTES.BUY_PACKAGE = \"/lkwallet/buy-package\";\r\nROUTES.CUSTOMER_BULK_CREDIT = \"/lkwallet/customerbulkcredit\";\r\nROUTES.CUSTOMER_BULK_DEBIT = \"/lkwallet/customerbulkdebit\";\r\nROUTES.CUSTOM_BULK_NOTIFICATION_UPLOAD = \"/lkwallet/custombulknotificationupload\";\r\n\r\n\r\n\r\nROUTES.CASH_COUPON = \"/adminconfiguration/cashcoupon\";\r\nROUTES.VIEW_CASHCOUPON_CODES = \"/adminconfiguration/cashcoupon/cashcouponcodes\";\r\nROUTES.ADD_CASH_COUPON = \"/adminconfiguration/cashcoupon/add\";\r\nROUTES.VIEW_CASH_COUPON = \"/adminconfiguration/cashcoupon/view\";\r\nROUTES.EDIT_CASH_COUPON = \"/adminconfiguration/cashcoupon/edit\";\r\nROUTES.UPLOAD_CUSTOMER_TO_COUPON_MAPPING = \"/adminconfiguration/uploadcustomertocouponmapping\";\r\nROUTES.HOLIDAY_CONFIGURATION=\"/adminconfiguration/holidayconfiguration\";\r\n\r\n\r\nROUTES.COLLECT_FINGERS = \"/adminconfiguration/collect-fingerprints\";\r\nROUTES.ATTENDANCE = \"/adminconfiguration/attendance\";\r\nROUTES.ATTENDANCEREPORT = \"/adminconfiguration/attendanceReport\";\r\n\r\nROUTES.CREATE_ORDER = \"/store/order/create\";\r\nROUTES.ORDER_LISTING = \"/store/order-list\";\r\nROUTES.UPDATE_ORDER = \"/store/order/update\";\r\n\r\nROUTES.PICKUP_LIST = \"/store/pickup\";\r\nROUTES.ADD_PICKUP = \"/store/pickup/add\";\r\nROUTES.VIEW_PICKUP = \"/store/pickup/view\";\r\nROUTES.EDIT_PICKUP = \"/store/pickup/edit\";\r\n\r\nROUTES.DELIVERY_LIST = \"/store/delivery-list\";\r\n\r\nROUTES.PROFORMA_INVOICE = \"/store/invoice\";\r\n\r\nROUTES.PARTIAL_ORDER_RECEIVED = \"/store/partial-order-received\";\r\n\r\nROUTES.CASH_COLLECTION = \"/authentication/cash-collection\";\r\n\r\nROUTES.REDIRECT_INVALID_REQUEST = \"/invalid-request\";\r\n\r\nROUTES.VERIFICATION = \"/Verification\";\r\n\r\nROUTES.PENDING_CASH_SUMMARY = \"/Audit/Pending-cash-summary\";\r\nROUTES.ORDERS_SUMMARY = \"/Audit/Orders-summary\";\r\nROUTES.STORE_TRANSFER_IN = \"/store/transfer-in\";\r\n\r\nROUTES.OUT_OF_COVERAGE = \"/Audit/out-of-coverage\";\r\nROUTES.PICKUP_DELIVERY_ASSIGNMENT=\"/Audit/Pickup-Delivery-Assignment\";\r\nROUTES.DAILY_ORDER_SUMMARY =\"/Audit/Daily-Order-Summary\";\r\nROUTES.MONTHLY_ORDER_SUMMARY =\"/Audit/Monthly-Order-Summary\";\r\nROUTES.DAILY_PICKUP_SUMMARY =\"/Audit/Daily-Pickup-Summary\";\r\nROUTES.MONTHLY_PICKUP_SUMMARY =\"/Audit/Pickup-Summary\";\r\n\r\nROUTES.APPSFLYER = \"/adminconfiguration/appsflyer\";\r\n\r\nROUTES.EXPRESS_URGENT=\"/factory/daily-sheets/Express-Urgent\";\r\nROUTES.REWASH=\"/factory/daily-sheets/Rewash\";\r\nROUTES.FIVE_STARE=\"/factory/daily-sheets/5-Star\";\r\n\r\nROUTES.VIEW_ON_MAP = \"/store/view-on-map\"\r\n\r\nexport default ROUTES;\r\n","import React from \"react\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport { Row, Col, Form, Input, Radio } from \"antd\";\r\nimport styles from \"./createuser.module.css\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { RegexLetters, MessageLetters } from \"../../../../shared/validator\";\r\n\r\nlet map;\r\n// let bounds = new window.google.maps.LatLngBounds();\r\nlet coordinates = [];\r\nvar drawingManager;\r\nvar selectedShape;\r\nvar allPolygonNew = [];\r\nvar allPolygonOld = [];\r\nvar newShape = \"\";\r\nvar selectedCoordinates = \"\";\r\nvar geoCoordinate = \"\";\r\n/**\r\n * A form as a part of create user - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module User\r\n */\r\nexport default class UserContact extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n isPolicyVerified: \"\",\r\n geoFencing: \"\",\r\n };\r\n this.renderCoordinate = this.renderCoordinate.bind(this);\r\n // this.initMap = this.initMap.bind(this);\r\n this.deleteSelectedShape = this.deleteSelectedShape.bind(this);\r\n }\r\n componentDidMount() {\r\n // this.initMap();\r\n }\r\n\r\n // Geo-Fencing Map\r\n\r\n initMap = () => {\r\n if (\r\n localStorage.getItem(\"geoFencing\") !== \"\" &&\r\n localStorage.getItem(\"geoFencing\") !== undefined &&\r\n localStorage.getItem(\"geoFencing\") !== null\r\n ) {\r\n selectedCoordinates = localStorage.getItem(\"geoFencing\");\r\n }\r\n if (this.props.mode === \"add\") {\r\n selectedCoordinates = \"\";\r\n }\r\n map = new window.google.maps.Map(document.getElementById(\"map\"), {\r\n center: { lat: 12.9716, lng: 77.5946 },\r\n zoom: 10,\r\n zoomControl: true,\r\n zoomControlOptions: {\r\n position: window.google.maps.ControlPosition.RIGHT_CENTER,\r\n },\r\n scrollwheel: false,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n mapTypeId: \"roadmap\",\r\n });\r\n var myPolygon = new window.google.maps.Polygon({\r\n //paths: this.buildCoordinates(\"20.385816,77.281992 19.694305,77.682993 20.576216,78.446543\"),\r\n paths: this.buildCoordinates(selectedCoordinates),\r\n description: [\"1\", \"0\", \"\", \"\"],\r\n IsChanged: \"0\",\r\n draggable: true,\r\n editable: true,\r\n strokeColor: \"#1E90FF\",\r\n strokeOpacity: 0.8,\r\n strokeWeight: 0,\r\n fillColor: \"#66ccff\",\r\n fillOpacity: 0.45,\r\n });\r\n\r\n myPolygon.setMap(map);\r\n allPolygonOld.push(myPolygon);\r\n window.google.maps.event.addListener(myPolygon, \"click\", function () {\r\n selectedShape = myPolygon;\r\n window.google.maps.event.addListener(\r\n myPolygon.getPath(),\r\n \"insert_at\",\r\n this.mapEditing\r\n );\r\n window.google.maps.event.addListener(\r\n myPolygon.getPath(),\r\n \"set_at\",\r\n this.mapEditing\r\n );\r\n });\r\n\r\n drawingManager = new window.google.maps.drawing.DrawingManager({\r\n markerOptions: {\r\n draggable: true,\r\n },\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n position: window.google.maps.ControlPosition.TOP_CENTER,\r\n drawingModes: [\"polygon\"],\r\n },\r\n polygonOptions: {\r\n strokeWeight: 0,\r\n fillOpacity: 0.45,\r\n editable: true,\r\n description: [],\r\n strokeColor: \"#1E90FF\",\r\n fillColor: \"#1E90FF\",\r\n IsChanged: \"0\",\r\n draggable: true,\r\n },\r\n\r\n map: map,\r\n });\r\n\r\n window.google.maps.event.addListener(\r\n drawingManager,\r\n \"overlaycomplete\",\r\n function (e) {\r\n selectedCoordinates = \"\";\r\n var firstPointCoordinates = \"\";\r\n newShape = e.overlay;\r\n newShape.type = e.type;\r\n\r\n newShape.description = [\"1\", \"0\", \"\", \"\"];\r\n if (e.type !== window.google.maps.drawing.OverlayType.MARKER) {\r\n for (var i = 0; i < newShape.getPath().getLength(); i++) {\r\n selectedCoordinates +=\r\n newShape.getPath().getAt(i).toUrlValue(6) + \" \";\r\n geoCoordinate = selectedCoordinates;\r\n if (i === 0) {\r\n firstPointCoordinates = selectedCoordinates;\r\n }\r\n if (i === newShape.getPath().getLength() - 1) {\r\n selectedCoordinates += firstPointCoordinates;\r\n }\r\n }\r\n // localStorage.setItem(\"geoFencing\", selectedCoordinates);\r\n selectedShape = newShape;\r\n allPolygonNew.push(newShape);\r\n }\r\n }\r\n );\r\n\r\n window.google.maps.event.addListener(\r\n drawingManager,\r\n \"drawingmode_changed\",\r\n this.clearSelection()\r\n );\r\n window.google.maps.event.addListener(map, \"click\", this.clearSelection());\r\n };\r\n\r\n deleteSelectedShape = () => {\r\n var shape = selectedShape;\r\n if (shape !== undefined && shape.type !== \"marker\") {\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"insert_at\"\r\n );\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"set_at\"\r\n );\r\n selectedShape.setEditable(false);\r\n selectedShape = null;\r\n shape.setEditable(true);\r\n }\r\n selectedShape = shape;\r\n\r\n if (selectedShape) {\r\n if (selectedShape.description[0] !== \"1\") {\r\n for (var i = 0; i < allPolygonNew.length; i++) {\r\n if (\r\n allPolygonNew[i].description[1] === selectedShape.description[1]\r\n ) {\r\n allPolygonNew.splice(i, 1);\r\n selectedShape.setMap(null);\r\n }\r\n }\r\n } else {\r\n selectedShape.description[2] = \"D\";\r\n selectedShape.setMap(null);\r\n }\r\n }\r\n // localStorage.setItem(\"geoFencing\", \"\");\r\n };\r\n\r\n buildCoordinates(cordinates) {\r\n var finalData = [];\r\n var grouped = cordinates.split(\" \");\r\n grouped.forEach(function (item, i) {\r\n let a = item.trim().split(\",\");\r\n finalData.push(new window.google.maps.LatLng(a[0], a[1]));\r\n });\r\n\r\n return finalData;\r\n }\r\n\r\n clearSelection() {\r\n if (selectedShape) {\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"insert_at\"\r\n );\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"set_at\"\r\n );\r\n selectedShape.setEditable(false);\r\n selectedShape = null;\r\n }\r\n }\r\n\r\n mapEditing() {\r\n if (selectedShape && selectedShape.IsChanged === \"0\") {\r\n selectedShape.IsChanged = \"1\";\r\n }\r\n }\r\n\r\n renderCoordinate(paths) {\r\n coordinates = [];\r\n let position = 0;\r\n paths.map((location) => {\r\n if (position % 10 === 0) {\r\n coordinates.push({ lat: location[1], lng: location[0] });\r\n }\r\n position++;\r\n return true;\r\n });\r\n }\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\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 Yes\r\n No\r\n \r\n \r\n \r\n\r\n {/* \r\n Geo-Fencing */}\r\n {/* {this.props.mode !=\"view\" ? null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n : null} */}\r\n {/* \r\n \r\n */}\r\n {/* e.target.value.toUpperCase().trim()}>\r\n \r\n */}\r\n {/*
*/}\r\n {/* \r\n Delete\r\n */}\r\n {/* */}\r\n \r\n \r\n \r\n Previuos\r\n \r\n \r\n Next\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./logincomponent.module.css\";\r\nimport LogoImg from \"../../images/Common/Picture1logo.png\";\r\n// import LogoImg from \"../../images/Common/Logo.png\";\r\nimport { Form, Input, notification, Select } from \"antd\";\r\nimport Button from \"../Common/Button/button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faUser, faLock, faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport AuthService from \"../../services/authservice\";\r\nimport PickupService from \"../../services/pickupservice\";\r\nimport ROUTES from \"../../routes\";\r\nimport { labels } from \"../../shared/language\";\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Option } = Select;\r\n/**\r\n * This file contains the Login Form that is displayed on right in Login Screen\r\n *\r\n * @author Niraj Gohel\r\n * @since 1.0.0\r\n * @module Login\r\n *\r\n * @created 29 May 2020\r\n *\r\n */\r\n\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nclass Login extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.authservice = new AuthService();\r\n this.pickupService = new PickupService();\r\n this.state = {\r\n userName: \"\",\r\n password: \"\",\r\n isShow: false,\r\n branchTypes: [],\r\n isNextVisible: true,\r\n isSelectVisible: false,\r\n isLoginVisible: false,\r\n selectedBranch: null,\r\n selectedBranchName: \"\",\r\n selectedBranchType: \"\",\r\n validation: 0,\r\n oldUserName: \"\",\r\n oldPassword: \"\",\r\n isValidate: false,\r\n validateStatus: null,\r\n validationMessage: null,\r\n isForgotShow: false,\r\n isPasswordUpdateShow: false,\r\n isOtpShow: false,\r\n isLoginShow: false,\r\n userId: 0,\r\n InputOtp: 0,\r\n Otp: 0,\r\n mobileNo: \"\",\r\n usernameValidateStatus: null,\r\n passwordValidateStatus: null,\r\n mobileNoValidateStatus: null,\r\n nextBtnLoading: false,\r\n isHideForgotLink: false,\r\n timeSlot: {\r\n data: [],\r\n },\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n this.setState({\r\n isForgotShow: false,\r\n isLoginShow: true,\r\n isPasswordUpdateShow: false,\r\n isOtpShow: false,\r\n isHideForgotLink: false,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, document.title, window.location.href);\r\n window.addEventListener(\"popstate\", function (event) {\r\n window.history.pushState(null, document.title, window.location.href);\r\n });\r\n }\r\n\r\n handlePressEnterUserName = (e) => {\r\n this.setState({ validateStatus: null, userName: e.target.value });\r\n if ([null, undefined, \"\"].includes(e.target.value)) {\r\n this.setState({ usernameValidateStatus: \"error\" });\r\n } else {\r\n this.setState({ usernameValidateStatus: null });\r\n }\r\n };\r\n\r\n handlePressEnterPassword = (e) => {\r\n this.setState({ validateStatus: null, password: e.target.value });\r\n if ([null, undefined, \"\"].includes(e.target.value)) {\r\n this.setState({ passwordValidateStatus: \"error\" });\r\n } else {\r\n this.setState({ passwordValidateStatus: null });\r\n }\r\n };\r\n\r\n handlePressMobile = (e) => {\r\n this.setState({ mobileNoValidateStatus: null, mobileNo: e.target.value });\r\n };\r\n\r\n handleSelect = (event1) => {\r\n let event = parseInt(event1.slice(1));\r\n let type = event1.charAt(0);\r\n var branchArray = this.state.branchTypes.filter(\r\n (x) =>\r\n x.branchID === event &&\r\n ((x.branchType === \"Store\" && type === \"s\") ||\r\n (x.branchType === \"Factory\" && type === \"f\"))\r\n );\r\n\r\n if (branchArray !== undefined) {\r\n this.setState({\r\n selectedBranch: branchArray[0].branchID,\r\n selectedBranchName: branchArray[0].branchName,\r\n selectedBranchType: branchArray[0].branchType,\r\n validation: event,\r\n });\r\n }\r\n };\r\n\r\n getTimeSlot = (storeid) => {\r\n this.pickupService.getTimeSlotList(storeid).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n timeSlot: {\r\n ...this.state.timeSlot,\r\n data: response.data,\r\n },\r\n },\r\n () => {\r\n localStorage.setItem(\r\n \"StoreSlots\",\r\n JSON.stringify(this.state.timeSlot.data)\r\n );\r\n // this.props.history.push(ROUTES.STORE_DASHBOARD);\r\n this.props.history.push(ROUTES.SPLASH);\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleClick = () => {\r\n if (\r\n this.state.userName == this.state.oldUserName &&\r\n this.state.password == this.state.oldPassword\r\n ) {\r\n if (this.state.validation == \"\") {\r\n // notification[\"error\"]({\r\n // message: \"Select Store/Factory.\",\r\n // });\r\n return false;\r\n }\r\n localStorage.setItem(\"branchID\", this.state.selectedBranch);\r\n localStorage.setItem(\"Store/FactoryName\", this.state.selectedBranchName);\r\n localStorage.setItem(\"Store/FactoryType\", this.state.selectedBranchType);\r\n if (this.state.selectedBranchType.toLowerCase() === \"store\") {\r\n this.getTimeSlot(this.state.selectedBranch);\r\n } else if (this.state.selectedBranchType.toLowerCase() === \"factory\") {\r\n localStorage.removeItem(\"StoreSlots\");\r\n // this.props.history.push(ROUTES.FACTORY_DASHBOARD);\r\n this.props.history.push(ROUTES.SPLASH);\r\n }\r\n } else {\r\n this.setState({ validateStatus: \"error\" }, () =>\r\n console.log(this.state.validateStatus)\r\n );\r\n openNotificationWithIcon(\"error\", \"Wrong credentials\", \"\");\r\n this.setState({ validateStatus: \"error\" });\r\n // this.setState({ usernameValidateStatus: \"error\" });\r\n // this.setState({ passwordValidateStatus: \"error\" });\r\n }\r\n };\r\n\r\n getAssignStoreFactory = () => {\r\n const params = {\r\n username: this.state.userName,\r\n password: this.state.password,\r\n };\r\n this.authservice.getAssignStoreFactoryByUserId(params).then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n branchTypes: response.data.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Login\",\r\n description: \"Unable to get data for Store/Factory\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n RemoteRequest = () => {\r\n if (\r\n ![undefined, null, \"\"].includes(this.state.userName) &&\r\n ![undefined, null, \"\"].includes(this.state.password)\r\n ) {\r\n this.setState({ nextBtnLoading: true });\r\n this.authservice\r\n .MakeRemoteAuthRequest(this.state.userName, this.state.password)\r\n .then((items) => {\r\n if (items != undefined && items.data.result == \"Success\") {\r\n var userId = jwt.decode(\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n ).unique_name;\r\n this.authservice.GetScreenRightsByUser(userId).then((rights) => {\r\n // console.log(\"rights->\",rights);\r\n localStorage.setItem(\"userrights\", JSON.stringify(rights.data.vmUserScreenRights)); \r\n localStorage.setItem(\"buttonAccess\", JSON.stringify(rights.data.vmUserAccessRes));\r\n this.setState({ isShow: false });\r\n if (items.data.result === \"Success\") {\r\n this.setState({ isSelectVisible: true, isNextVisible: false });\r\n this.getAssignStoreFactory();\r\n }\r\n });\r\n this.setState({\r\n isShow: true,\r\n oldUserName: this.state.userName,\r\n oldPassword: this.state.password,\r\n isValidate: true,\r\n isHideForgotLink: true,\r\n\r\n usernameValidateStatus: null,\r\n passwordValidateStatus: null,\r\n });\r\n localStorage.setItem(\"roleNames\", items.data.data.roleNames);\r\n } else {\r\n if (items == undefined) {\r\n notification[\"error\"]({\r\n message: \"Login\",\r\n description: \"Please contact technical team.\",\r\n });\r\n return false;\r\n }\r\n if (this.state.userName !== \"\" && this.state.password !== \"\") {\r\n notification[\"error\"]({\r\n message: \"Login\",\r\n description: \"Wrong credentials\",\r\n });\r\n this.setState({ validateStatus: \"error\" });\r\n this.setState({ usernameValidateStatus: \"error\" });\r\n this.setState({ passwordValidateStatus: \"error\" });\r\n }\r\n }\r\n this.setState({ nextBtnLoading: false });\r\n });\r\n } else {\r\n this.setState({\r\n usernameValidateStatus: \"error\",\r\n passwordValidateStatus: \"error\",\r\n });\r\n }\r\n // this.props.history.push(ROUTES.DASHBOARD);\r\n };\r\n\r\n handleBack = (e) => {\r\n // if (this.state.validateStatus === \"\") {\r\n this.setState({\r\n isSelectVisible: false,\r\n isValidate: false,\r\n isNextVisible: true,\r\n branchTypes: [],\r\n isHideForgotLink: false,\r\n });\r\n // }\r\n };\r\n\r\n handleChange = (e) => {\r\n this.setState({ validation: e });\r\n };\r\n handleOTPBack = () => {\r\n this.setState({ isOtpShow: false, isForgotShow: true });\r\n };\r\n ForgotPassword = () => {\r\n this.setState({\r\n isForgotShow: true,\r\n isLoginShow: false,\r\n isNextVisible: true,\r\n userName: undefined,\r\n password: undefined,\r\n });\r\n };\r\n formRef = React.createRef();\r\n render() {\r\n const onFinish = (values) => {\r\n // console.log(\"Received values of form: \", values);\r\n };\r\n\r\n const layout = {\r\n labelCol: { span: 10 },\r\n wrapperCol: { span: 24 },\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \"Laundrokart\r\n
\r\n
\r\n {this.state.isNextVisible ? (\r\n this.state.isOtpShow ? (\r\n \r\n \r\n \r\n ) : null\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n {this.state.isLoginShow == true ? (\r\n \r\n \r\n \r\n // }\r\n value={this.state.userName}\r\n // placeholder=\"Username\"\r\n onChange={this.handlePressEnterUserName}\r\n disabled={this.state.isValidate}\r\n />\r\n \r\n \r\n \r\n // }\r\n disabled={this.state.isValidate}\r\n value={this.state.password}\r\n type=\"password\"\r\n // placeholder=\"Password\"\r\n onChange={this.handlePressEnterPassword}\r\n />\r\n \r\n {this.state.isSelectVisible ? (\r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.branchTypes.length !== 0\r\n ? this.state.branchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n ) : null}\r\n \r\n {this.state.isNextVisible ? (\r\n \r\n Next\r\n \r\n ) : (\r\n <>\r\n \r\n Log in\r\n \r\n \r\n )}\r\n \r\n \r\n {/* {this.state.isShow === true ? (\r\n Credentials are invalid\r\n ) : null} */}\r\n {!this.state.isHideForgotLink ? (\r\n
\r\n \r\n forgot password ?\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n ) : null}\r\n\r\n {this.state.isForgotShow == true ? (\r\n \r\n \r\n \r\n }\r\n maxLength={10}\r\n placeholder=\"Mobile No\"\r\n onChange={this.handlePressMobile}\r\n />\r\n \r\n\r\n \r\n \r\n Send OTP\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.isOtpShow == true ? (\r\n \r\n \r\n \r\n }\r\n placeholder=\"OTP\"\r\n onChange={this.handlePressEnterOtp}\r\n />\r\n \r\n\r\n \r\n \r\n Verify OTP\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {this.state.isPasswordUpdateShow == true ? (\r\n \r\n \r\n \r\n \r\n\r\n ({\r\n validator(rule, value) {\r\n if (!value || getFieldValue(\"password\") === value) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n \"New password & confirm password do not match\"\r\n );\r\n },\r\n }),\r\n ]}\r\n >\r\n \r\n \r\n \r\n Update Password\r\n \r\n \r\n ) : null}\r\n {this.state.isForgotShow === true ||\r\n this.state.OtpVerify == true ||\r\n this.state.isPasswordUpdateShow == true ? (\r\n \r\n
\r\n \r\n Login ?\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n\r\n CallLogin = () => {\r\n this.setState({\r\n isForgotShow: false,\r\n isPasswordUpdateShow: false,\r\n isOtpShow: false,\r\n isLoginShow: true,\r\n isNextVisible: true,\r\n isSelectVisible: false,\r\n isValidate: false,\r\n isHideForgotLink: false,\r\n });\r\n };\r\n\r\n SendOtp = () => {\r\n this.setState({ nextBtnLoading: true });\r\n this.authservice.SendOTP(this.state.mobileNo).then((response) => {\r\n if (response.result == \"Success\") {\r\n this.setState({\r\n Otp: response.data.otp,\r\n userId: response.data.userId,\r\n isForgotShow: false,\r\n isOtpShow: true,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Login\",\r\n description: response.message,\r\n });\r\n this.setState({ mobileNoValidateStatus: \"error\" });\r\n }\r\n this.setState({ nextBtnLoading: false });\r\n });\r\n };\r\n OtpVerify = () => {\r\n if (this.state.Otp == this.state.InputOtp) {\r\n this.setState({\r\n isForgotShow: false,\r\n isOtpShow: false,\r\n isPasswordUpdateShow: true,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Login\",\r\n description: \"Incorrect OTP\",\r\n });\r\n return false;\r\n }\r\n };\r\n\r\n handlePressEnterOtp = (e) => {\r\n this.setState({ InputOtp: e.target.value });\r\n };\r\n\r\n handleNewPassword = (e) => {\r\n this.setState({\r\n newPassword: e.target.value,\r\n });\r\n };\r\n\r\n SubmitPassword = () => {\r\n this.authservice\r\n .SubmitPassword(this.state.userId, this.state.newPassword)\r\n .then((response) => {\r\n if ((response.data.result = \"Success\")) {\r\n notification[\"success\"]({\r\n message: \"Login\",\r\n description: \"Password has been changed.\",\r\n });\r\n\r\n this.setState({\r\n isForgotShow: false,\r\n isOtpShow: false,\r\n isPasswordUpdateShow: false,\r\n isLoginShow: true,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Login\",\r\n description: \"Something went wrong. Please contact technical team\",\r\n });\r\n }\r\n });\r\n };\r\n}\r\nexport default withRouter(Login);\r\n","import React from \"react\";\r\nimport styles from \"./loginscreen.module.css\";\r\nimport { Row, Col, Typography } from \"antd\";\r\nimport LoginHero from \"../../images/Login/LoginHero.png\";\r\nimport LoginForm from \"../../components/Login/login.component\";\r\nconst { Title } = Typography;\r\n\r\n/**\r\n * This file contains the view of Login Screen\r\n *\r\n * @author Niraj Gohel\r\n * @since 1.0.0\r\n * @module Login\r\n *\r\n * @created 29 May 2020\r\n *\r\n */\r\n\r\nexport default class Login extends React.Component {\r\n /**\r\n * The left-hand side title and image are stored in state variable\r\n * which then will be used to render the component\r\n *\r\n * the reason for doing this is you can fetch the data from some api and make dynamic if needed.\r\n *\r\n */\r\n state = {\r\n title: \"Safety, Hygiene and Fresh Laundry is our Priority\",\r\n heroImage: LoginHero,\r\n heroImageAlt: \"An image showing laundry process\",\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n {this.state.title}\r\n \r\n \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// import { Form, Input, Checkbox } from \"antd\";\r\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n// import { faUser, faLock } from \"@fortawesome/free-solid-svg-icons\";\r\n// import { Link, withRouter } from \"react-router-dom\";\r\n// import Button from \"../../components/Common/Button/button\";\r\n// import styles from \"../../screens/Login/loginscreen.module.css\";\r\n\r\nexport default class Dashboard extends React.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

Welcome To Laundrokart

\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Typography } from \"antd\";\r\nconst { Text } = Typography;\r\nexport default class blankscreen extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n Welcome to Karelabel, use sidebar menu to access all functionality.\r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n Owned and operated by “Kleenco On Demand Services Private Limited” \r\n \r\n */}\r\n \r\n );\r\n }\r\n}\r\n","class UserRightsConfiguration {\r\n DASHBOARD = \"Dashboard\";\r\n //masters\r\n FACTORY = \"Factory\";\r\n CITY_MASTER = \"City\";\r\n STATE_MASTER = \"State\";\r\n DESIGNATION = \"Designation\";\r\n GARMENT_BRAND = \"Garment Brand\";\r\n GARMENT_SIZE = \"Garment Size\";\r\n KYC_DOC_TYPE = \"KYC Document Type\";\r\n SERVICE = \"Service\";\r\n GARMENT = \"Garment\";\r\n // GARMENT_COLOR = \"Garment Color\";\r\n REWASH_REASON = \"Rewash Reason\";\r\n OPER_INSTRUCTION = \"Operation Instruction\";\r\n EXPENSE_TYPE = \"Expense Type\";\r\n CORPORATE = \"Corporate\";\r\n STORE = \"Store\";\r\n CUSTOMER = \"Manage Customers\"; //updated\r\n SERVICE_ICONS = \"Service Icons\";\r\n\r\n //admin configurations\r\n SERVICE_TIME = \"Service Time Card\";\r\n SERVICE_RATE = \"Service Rate Card\";\r\n CASH_COUPON = \"Cash Coupon\";\r\n UPLOAD_CUSTOMER_TO_COUPON_MAPPING = \"Upload Customer to Coupon Mapping\";\r\n PACKAGING_CHARGES = \"Packaging Charges\";\r\n DELIVERY_CHARGES = \"Delivery Charges\";\r\n REWARDS_CONFIG = \"Rewards Config\";\r\n DISCOUNT_MASTER = \"Discount Master\";\r\n BANNER = \"Banner\";\r\n NOTICE_BOARD = \"Notice Board\";\r\n STANDARD_RATE_CARD = \"Standard Rate Card\";\r\n HOLIDAY_CONFIGURATION = \"Holiday Configuration\";\r\n TERMS_AND_CONDITIONS = \"Terms And Conditions\";\r\n //authentication\r\n USERS = \"Users\"; //added\r\n ROLES = \"Roles\";\r\n ROLE_OPERATION = \"Role Operations\"; //added\r\n CASH_COLLECTION = \"Cash Collection\";\r\n\r\n //store module\r\n // STORE_DASHBOARD = \"Dashboard\";\r\n STORE_TRANSFER_IN = \"Transfer In\";\r\n STORE_IN_PENDING = \"Store In Pending\";\r\n PICKUP = \"Pickups\"; //added\r\n ORDER_LIST = \"Manage Orders\"; //added\r\n // ORDERS = \"Order\";\r\n GATE_PASS_LIST = \"Gate Pass List\";\r\n READY_FOR_DELIVERY_ORDERS = \"Ready For Delivery/Invoice\"; //added\r\n EXPENSE_ENTRY = \"User Expenses\"; //added\r\n STORE_MANAGE_QC = \"Pre-QC Response\"; //added\r\n STORE_TRANSFER_OUT = \"Transfer Out\";\r\n STORE_INVENTORY = \"Store Inventory\";\r\n STORE_DELIVERY_LIST = \"Deliveries\"; //added\r\n PARTIAL_ORDER_RECEIVED = \"Partial Order Received\";\r\n STORE_ORDER_HISTORY = \"Store Order History\";\r\n VIEW_ON_MAP = \"View On Map\";\r\n // INVOICE = \"Invoice\";\r\n\r\n //factory module\r\n // FACTORY_DASHBOARD = \"Dashboard\";\r\n FACTORY_IN = \"Factory In\";\r\n FACTORY_PRE_QC = \"Pre QC\";\r\n FACTORY_POST_QC = \"Post QC\";\r\n FACTORY_OUT = \"Factory Out\";\r\n FACTORY_INVENTORY = \"Factory Inventory\";\r\n RESORT_PACK = \"Resorting & Packaging\";\r\n RESORTING_AND_PACKAGING_LIST = \"Resorting And Packaging List\";\r\n FACTORY_GATE_PASS = \"Factory Gate Pass List\";\r\n FACTORY_ORDER_HISTORY = \"Factory Order History\";\r\n FACTORY_IN_PENDING = \"Factory In Pending\";\r\n FACTORY_GARMENT_INVENTORY=\"Factory Garment Inventory\";\r\n INVENTORY_SUMMARY=\"Inventory Summary\";\r\n\r\n\r\n //LKWallet\r\n PACKAGE_CONFIG = \"Package Configuration\";\r\n REFERRAL_BONUS = \"Refferal Bonus Configuration\";\r\n COMPENSATION = \"Compensation\";\r\n EMPLOYEE_CREDITS = \"Employee Credit\";\r\n REFUND = \"Refund\";\r\n ADVANCE_PAYMENT = \"Advance Payment\";\r\n BUY_PACKAGE = \"Buy Package\";\r\n CUSTOMER_BULK_CREDIT = \"Customer Bulk Credit\";\r\n CUSTOMER_BULK_DEBIT = \"Customer Bulk Debit\";\r\n CUSTOM_BULK_NOTIFICATION_UPLOAD = \"Custom Bulk Notification Upload\";\r\n\r\n COLLECT_FINGERPRINTS = \"Collect FingerPrints\";\r\n ATTENDANCE = \"Attendance\";\r\n ATTENDANCE_REPORT = \"Attendance Report\";\r\n //REPORTS = \"Reports\";\r\n STORE_GATE_PASS_REPORT = \"Store Gate Pass Report\";\r\n GARMENT_SUMMARY_REPORT = \"Garment Summary Report\";\r\n QC_REPORT = \"QC Report\";\r\n FACTORY_IN_SUMMARY_REPORT = \"Factory In Summary Report\";\r\n FACTORY_GATE_PASS_REPORT = \"Factory Gate Pass Report\";\r\n STORE_GATE_PASS_SUMMARY_REPORT = \"Store Gate Pass Summary Report\";\r\n CUSTOMER_REPORT = \"Customer Report\";\r\n RAF_REPORT = \"RAF Report\";\r\n REVENUE_REPORT = \"Revenue Report\";\r\n ORDER_REPORT = \"Order Report\";\r\n WALLET_TRANSACTION_REPORT = \"Wallet Transaction Report\";\r\n PACKAGE_RECHARGE_REPORT = \"Package Recharge Report\";\r\n STORE_TRANSFER_IN_REPORT = \"Store Transfer In Report\";\r\n STORE_TRANSFER_OUT_REPORT = \"Store Transfer Out Report\";\r\n TRANSACTION_REPORT = \"Transaction Report\";\r\n ODM_REPORT = \"ODM Report\";\r\n PROMOCODE_REPORT = \"Promo Code Report\";\r\n CUSTOMER_VALUE_SUMMARY_REPORT = \"Customer Value Summary Report\";\r\n CASH_COUPON_REPORT = \"Cash Coupon Report\";\r\n PAYTM_EDC_MACHINE_CONFING = \"Paytm EDC Machine Configuration\";\r\n\r\n //Processing\r\n GARMENT_PROCESSING = \"Garment Processing\";\r\n PROCESSING_LIST = \"Processing List\";\r\n\r\n //Faq\r\n FAQ = \"Faq\";\r\n\r\n //Audit\r\n AUDIT = \"Audit\";\r\n PENDING_CASH_SUMMARY = \"Pending Cash Summary\";\r\n OUT_OF_COVERAGE=\"Out Of Coverage\";\r\n PICKUP_DELIVERY_ASSIGNMENT=\"Pickup Delivery Assignment\";\r\n DAILY_ORDER_SUMMARY=\"Daily Order Summary\";\r\n MONTHLY_ORDER_SUMMARY=\"Monthly Order Summary\";\r\n DAILY_PICKUP_SUMMARY=\"Daily Pickup Summary\";\r\n MONTHLY_PICKUP_SUMMARY=\"Pickup Summary\"\r\n\r\n //Orders Summary\r\n ORDERS_SUMMARY=\"Orders Summary\";\r\n APPSFLYER=\"AppsFlyer\";\r\n\r\n EXPRESS_URGENT=\"Express/Urgent\";\r\n REWASH=\"Rewash\";\r\n FIVE_STARE=\"5 Star\";\r\n\r\n \r\n}\r\n\r\nexport default UserRightsConfiguration;\r\n","import React from \"react\";\r\nimport { Menu } from \"antd\";\r\nimport styles from \"./sidebar.module.css\";\r\nimport Button from \"../Button/button\";\r\nimport DashboardIcon from \"../../../images/Sidebar/dashboard.svg\";\r\nimport DeliveryIcon from \"../../../images/Sidebar/bikedelivery.svg\";\r\nimport CustomersIcon from \"../../../images/Sidebar/customers.svg\";\r\n// import PickupsIcon from \"../../../images/Sidebar/pickups.svg\";\r\nimport OrdersIcon from \"../../../images/Sidebar/orders.svg\";\r\nimport TruckIcon from \"../../../images/Sidebar/truck.svg\";\r\nimport MasterIcon from \"../../../images/Sidebar/master.svg\";\r\n// import TaggingIcon from \"../../../images/Sidebar/tagging.svg\";\r\nimport BillingIcon from \"../../../images/Sidebar/billing.svg\";\r\n// import TaggingIcon from \"../../../images/Sidebar/tagging.svg\";\r\nimport InventoryIcon from \"../../../images/Sidebar/inventory.svg\";\r\nimport AttendanceIcon from \"../../../images/Sidebar/attendance.svg\";\r\nimport SettingIcon from \"../../../images/Sidebar/setting.svg\";\r\nimport ToggleIcon from \"../../../images/Sidebar/toggler.svg\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport Configuration from \"../../../shared/configuration\";\r\nimport AuditIcon from \"../../../images/Sidebar/audit.svg\";\r\n// import {\r\n// BrowserRouter as Router,\r\n// Switch,\r\n// Route,\r\n// Link,\r\n// useParams,\r\n// useRouteMatch,\r\n// } from \"react-router-dom\";\r\n// import { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nconst { SubMenu } = Menu;\r\n/**\r\n * This file contains the sidebar of the application\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * This class supports below mentioned props\r\n * @props toggleFunction : a function to modify parent state varibale which holds toggle status (collapsed or not)\r\n * @props collapsedState : parent state varibale to check whether it is collapsed or not\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n */\r\nexport default class Sidebar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n userRights: [],\r\n };\r\n this.config = new Configuration();\r\n }\r\n\r\n componentWillMount() {\r\n // if (!IsAuthenticated()) {\r\n // window.location.href = \"/\";\r\n // }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n // console.log(\"data->\",data);\r\n // var res = data.filter((val) => val.screenName == this.UserRightsConfiguration.CITY_MASTER)\r\n this.setState({ userRights: data });\r\n }\r\n\r\n userRights = (role) => {\r\n // debugger;\r\n // var data1=this.state.userRights.filter((val) => val.screenName == role)\r\n let filtered = this.state.userRights.filter(\r\n (val) => val.screenName == role\r\n );\r\n // console.log(\"filtered->\",filtered);\r\n return filtered.length > 0 && filtered[0].isView === true;\r\n };\r\n\r\n render() {\r\n /**\r\n * Stored all menu configs in an array to dynamically render the list\r\n *\r\n * @param title : title to be displayed for the menu\r\n * @param icon : icon to be displayed along with the menu\r\n *\r\n * @todo add submenu rendering and more supported props\r\n * @todo add router links and active toggling\r\n */\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n let menuItems = [];\r\n if (storeOrFactory === \"store\") {\r\n menuItems = [\r\n {\r\n title: labels.DASHBOARD,\r\n icon: DashboardIcon,\r\n url: ROUTES.STORE_DASHBOARD,\r\n },\r\n\r\n {\r\n title: labels.DELIVERY_DASHBORAD,\r\n icon: DeliveryIcon,\r\n url: ROUTES.DELIVERY_DASHBORAD,\r\n },\r\n\r\n this.userRights(this.UserRightsConfiguration.CUSTOMER) ||\r\n this.userRights(this.UserRightsConfiguration.PACKAGE_CONFIG) ||\r\n this.userRights(this.UserRightsConfiguration.REFERRAL_BONUS) ||\r\n this.userRights(this.UserRightsConfiguration.EMPLOYEE_CREDITS) ||\r\n this.userRights(this.UserRightsConfiguration.BUY_PACKAGE) ||\r\n this.userRights(this.UserRightsConfiguration.ADVANCE_PAYMENT) ||\r\n this.userRights(this.UserRightsConfiguration.COMPENSATION) ||\r\n this.userRights(this.UserRightsConfiguration.REFUND) ||\r\n this.userRights(this.UserRightsConfiguration.CUSTOMER_BULK_CREDIT) ||\r\n this.userRights(this.UserRightsConfiguration.CUSTOMER_BULK_DEBIT) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.CUSTOM_BULK_NOTIFICATION_UPLOAD\r\n )\r\n ? {\r\n title: labels.CUSTOMERS,\r\n icon: CustomersIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.CUSTOMER)\r\n ? {\r\n title: labels.MANAGE_CUSTOMERS,\r\n url: ROUTES.CUSTOMER_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.PACKAGE_CONFIG)\r\n ? {\r\n title: labels.PACKAGE_CONFIGURATION,\r\n url: ROUTES.PACKAGE_CONFIGURATION,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.REFERRAL_BONUS)\r\n ? {\r\n title: labels.REFERRAL_BONUS_CONFIGURATION,\r\n url: ROUTES.REFFERAL_BONUS_CONFIGURATION,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.EMPLOYEE_CREDITS)\r\n ? {\r\n title: labels.EMPLOYEE_CREDITS,\r\n url: ROUTES.EMPLOYEE_CREDIT,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.BUY_PACKAGE)\r\n ? {\r\n title: labels.BUY_PACKAGE,\r\n url: ROUTES.BUY_PACKAGE,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.ADVANCE_PAYMENT)\r\n ? {\r\n title: labels.ADVANCE_PAYMENTS,\r\n url: ROUTES.ADVANCE_PAYMENT,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.COMPENSATION)\r\n ? {\r\n title: labels.COMPENSATION,\r\n url: ROUTES.COMPENSATION_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.REFUND)\r\n ? {\r\n title: labels.REFUND,\r\n url: ROUTES.LKREFUND,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.CUSTOMER_BULK_CREDIT\r\n )\r\n ? {\r\n title: labels.CUSTOMER_BULK_CREDIT,\r\n url: ROUTES.CUSTOMER_BULK_CREDIT,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.CUSTOMER_BULK_DEBIT\r\n )\r\n ? {\r\n title: labels.CUSTOMER_BULK_DEBIT,\r\n url: ROUTES.CUSTOMER_BULK_DEBIT,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.CUSTOM_BULK_NOTIFICATION_UPLOAD\r\n )\r\n ? {\r\n title: labels.CUSTOM_BULK_NOTIFICATION_UPLOAD,\r\n url: ROUTES.CUSTOM_BULK_NOTIFICATION_UPLOAD,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.STORE) ||\r\n this.userRights(this.UserRightsConfiguration.FACTORY) ||\r\n this.userRights(this.UserRightsConfiguration.CORPORATE) ||\r\n this.userRights(this.UserRightsConfiguration.CITY_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.STATE_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.DESIGNATION) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT_BRAND) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT_SIZE) ||\r\n this.userRights(this.UserRightsConfiguration.KYC_DOC_TYPE) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT_COLOR) ||\r\n this.userRights(this.UserRightsConfiguration.REWASH_REASON) ||\r\n this.userRights(this.UserRightsConfiguration.OPER_INSTRUCTION) ||\r\n this.userRights(this.UserRightsConfiguration.EXPENSE_TYPE) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_ICONS)\r\n ? {\r\n title: labels.MASTER,\r\n icon: MasterIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.STORE)\r\n ? {\r\n title: labels.STORE,\r\n url: ROUTES.STORE,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FACTORY)\r\n ? {\r\n title: labels.FACTORY,\r\n url: ROUTES.FACTORY_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.CORPORATE)\r\n ? {\r\n title: labels.CORPORATE,\r\n url: ROUTES.CORPORATE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.CITY_MASTER)\r\n ? {\r\n title: labels.CITY,\r\n url: ROUTES.CITY_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.STATE_MASTER)\r\n ? {\r\n title: labels.STATE,\r\n url: ROUTES.STATE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.DESIGNATION)\r\n ? {\r\n title: labels.DESIGNATION,\r\n url: ROUTES.DESIGNATION_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.GARMENT_BRAND)\r\n ? {\r\n title: labels.GARMENT_BRAND,\r\n url: ROUTES.BRAND_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.GARMENT_SIZE)\r\n ? {\r\n title: labels.GARMENT_SIZE,\r\n url: ROUTES.SIZE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.KYC_DOC_TYPE)\r\n ? {\r\n title: labels.KYC_DOCUMENT_TYPE,\r\n url: ROUTES.KYCDOCTYPE_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.SERVICE)\r\n ? {\r\n title: labels.SERVICE,\r\n url: ROUTES.SERVICE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.GARMENT)\r\n ? {\r\n title: labels.GARMENT,\r\n url: ROUTES.GARMENT_MASTER,\r\n }\r\n : null,\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_COLOR)\r\n // ? {\r\n // title: \"Garment Color\",\r\n // url: ROUTES.COLOR_MASTER,\r\n // }\r\n // : null,\r\n this.userRights(this.UserRightsConfiguration.REWASH_REASON)\r\n ? {\r\n title: labels.REWASH_REASON,\r\n url: ROUTES.REWASH_REASON_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.OPER_INSTRUCTION)\r\n ? {\r\n title: labels.OPERATION_INSTRUCTION,\r\n url: ROUTES.OPERATION_INSTRUCTION_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.EXPENSE_TYPE)\r\n ? {\r\n title: labels.EXPENSE_TYPE,\r\n url: ROUTES.EXPENSE_TYPE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.SERVICE_ICONS)\r\n ? {\r\n title: labels.SERVICE_ICONS,\r\n url: ROUTES.SERVICE_ICONS,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.PICKUP) ||\r\n this.userRights(this.UserRightsConfiguration.ORDER_LIST) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.READY_FOR_DELIVERY_ORDERS\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.STORE_DELIVERY_LIST) ||\r\n this.userRights(this.UserRightsConfiguration.PARTIAL_ORDER_RECEIVED) ||\r\n this.userRights(this.UserRightsConfiguration.VIEW_ON_MAP) \r\n ? {\r\n title: labels.ORDERS,\r\n icon: OrdersIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.PICKUP)\r\n ? {\r\n title: labels.PICKUPS,\r\n url: ROUTES.PICKUP_LIST,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.ORDER_LIST)\r\n ? {\r\n title: labels.MANAGE_ORDERS,\r\n url: ROUTES.ORDER_LISTING,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.READY_FOR_DELIVERY_ORDERS\r\n )\r\n ? {\r\n title: labels.READY_FOR_DELIVERY_OR_INVOICE,\r\n url: ROUTES.STORE_READY_FOR_DELIVERY_ORDERS,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.STORE_DELIVERY_LIST\r\n )\r\n ? {\r\n title: labels.DELIVERIES,\r\n url: ROUTES.DELIVERY_LIST,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.PARTIAL_ORDER_RECEIVED\r\n )\r\n ? {\r\n title: labels.PARTIAL_ORDER_RECEIVED,\r\n url: ROUTES.PARTIAL_ORDER_RECEIVED,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.VIEW_ON_MAP\r\n )\r\n ? {\r\n title: labels.VIEW_ON_MAP,\r\n url: ROUTES.VIEW_ON_MAP,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_IN) ||\r\n this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_OUT) ||\r\n this.userRights(this.UserRightsConfiguration.GATE_PASS_LIST) ||\r\n this.userRights(this.UserRightsConfiguration.STORE_IN_PENDING)\r\n ? {\r\n title: labels.TRANSFER_IN_OUT,\r\n icon: TruckIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_OUT)\r\n ? {\r\n title: labels.TRANSFER_OUT,\r\n url: ROUTES.STORE_TRANSFER_OUT,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.GATE_PASS_LIST)\r\n ? {\r\n title: labels.GATE_PASS_LIST,\r\n url: ROUTES.STORE_GATE_PASS_LIST,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_IN)\r\n ? {\r\n title: labels.TRANSFER_IN,\r\n url: ROUTES.STORE_TRANSFER_IN,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.STORE_IN_PENDING)\r\n ? {\r\n title: labels.STORE_IN_PENDING,\r\n url: ROUTES.STORE_IN_PENDING,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.STORE_MANAGE_QC)\r\n ? {\r\n title: labels.PRE_QC_RESPONSES,\r\n icon: AttendanceIcon,\r\n url: ROUTES.STORE_PRE_QC_RESPONSE_LIST,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.EXPENSE_ENTRY)\r\n ? {\r\n title: labels.USER_EXPENSES,\r\n url: ROUTES.STORE_EXPENSE_ENTRY,\r\n icon: BillingIcon,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.STORE_INVENTORY)\r\n ? {\r\n title: labels.INVENTORY,\r\n url: ROUTES.STORE_INVENTORY,\r\n icon: InventoryIcon,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.USERS) ||\r\n this.userRights(this.UserRightsConfiguration.ROLES) ||\r\n this.userRights(this.UserRightsConfiguration.ROLE_OPERATION) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COLLECTION) || //added by pb\r\n this.userRights(this.UserRightsConfiguration.SERVICE_TIME) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_RATE) ||\r\n this.userRights(this.UserRightsConfiguration.DISCOUNT_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COUPON) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.PACKAGING_CHARGES) ||\r\n this.userRights(this.UserRightsConfiguration.DELIVERY_CHARGES) ||\r\n this.userRights(this.UserRightsConfiguration.REWARDS_CONFIG) ||\r\n this.userRights(this.UserRightsConfiguration.BANNER) ||\r\n this.userRights(this.UserRightsConfiguration.NOTICE_BOARD) ||\r\n this.userRights(this.UserRightsConfiguration.STANDARD_RATE_CARD) ||\r\n this.userRights(this.UserRightsConfiguration.COLLECT_FINGERPRINTS) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE_REPORT) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.HOLIDAY_CONFIGURATION) ||\r\n this.userRights(this.UserRightsConfiguration.TERMS_AND_CONDITIONS) ||\r\n this.userRights(this.UserRightsConfiguration.FAQ) ||\r\n this.userRights(this.UserRightsConfiguration.APPSFLYER)\r\n ? {\r\n title: labels.SETTINGS,\r\n icon: SettingIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.USERS) ||\r\n this.userRights(this.UserRightsConfiguration.ROLES) ||\r\n this.userRights(this.UserRightsConfiguration.ROLE_OPERATION) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COLLECTION)\r\n ? {\r\n title: labels.AUTHENTICATION,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.USERS)\r\n ? {\r\n title: labels.USERS,\r\n url: ROUTES.USER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.ROLES)\r\n ? {\r\n title: labels.ROLES,\r\n url: ROUTES.ROLE_MASTER,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.ROLE_OPERATION\r\n )\r\n ? {\r\n title: labels.ROLE_OPERATIONS,\r\n url: ROUTES.ROLE_SCREEN_MAPPING,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.CASH_COLLECTION\r\n )\r\n ? {\r\n title: labels.CASH_COLLECTION,\r\n url: ROUTES.CASH_COLLECTION,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.SERVICE_TIME) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_RATE) ||\r\n this.userRights(this.UserRightsConfiguration.DISCOUNT_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COUPON) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PACKAGING_CHARGES\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.DELIVERY_CHARGES\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.REWARDS_CONFIG) ||\r\n this.userRights(this.UserRightsConfiguration.BANNER) ||\r\n this.userRights(this.UserRightsConfiguration.NOTICE_BOARD) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.STANDARD_RATE_CARD\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.HOLIDAY_CONFIGURATION\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.TERMS_AND_CONDITIONS\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.FAQ) ||\r\n this.userRights(this.UserRightsConfiguration.APPSFLYER)\r\n ? {\r\n title: labels.CONFIGURATION,\r\n submenu: [\r\n this.userRights(\r\n this.UserRightsConfiguration.SERVICE_TIME\r\n )\r\n ? {\r\n title: labels.TIME_CARD,\r\n url: ROUTES.TIMECARD,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.SERVICE_RATE\r\n )\r\n ? {\r\n title: labels.RATE_CARD,\r\n url: ROUTES.RATECARD,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.DISCOUNT_MASTER\r\n )\r\n ? {\r\n title: labels.DISCOUNT,\r\n url: ROUTES.DISCOUNT_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.CASH_COUPON\r\n )\r\n ? {\r\n title: labels.CASH_COUPON,\r\n url: ROUTES.CASH_COUPON,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration\r\n .UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n )\r\n ? {\r\n title: labels.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n url: ROUTES.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.PACKAGING_CHARGES\r\n )\r\n ? {\r\n title: labels.PACKAGING_CHARGES,\r\n url: ROUTES.PACKAGE_CHARGES_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.DELIVERY_CHARGES\r\n )\r\n ? {\r\n title: labels.DELIVERY_CHARGES,\r\n url: ROUTES.DELIVERY_CHARGES_MASTER,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.REWARDS_CONFIG\r\n )\r\n ? {\r\n title: labels.REWARDS_CONFIG,\r\n url: ROUTES.REWARDS_CONFIG,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.BANNER)\r\n ? {\r\n title: labels.BANNER,\r\n url: ROUTES.BANNER,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.NOTICE_BOARD\r\n )\r\n ? {\r\n title: labels.NOTICE_BOARD,\r\n url: ROUTES.NOTICE_BOARD,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.STANDARD_RATE_CARD\r\n )\r\n ? {\r\n title: labels.STANDARD_RATE_CARD,\r\n url: ROUTES.STANDARD_RATE_CARD,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n )\r\n ? {\r\n title: labels.PAYTM_EDC_MACHINE_CONFING,\r\n url: ROUTES.PAYTM_EDC_MACHINE_CONFING,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.HOLIDAY_CONFIGURATION\r\n )\r\n ? {\r\n title: labels.HOLIDAY_CONFIGURATION,\r\n url: ROUTES.HOLIDAY_CONFIGURATION,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.TERMS_AND_CONDITIONS\r\n )\r\n ? {\r\n title: labels.TERMS_AND_CONDITIONS,\r\n url: ROUTES.TERMS_AND_CONDITIONS,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FAQ)\r\n ? {\r\n title: labels.FAQ,\r\n url: ROUTES.FAQ,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.APPSFLYER)\r\n ? {\r\n title: labels.APPSFLYER,\r\n url: ROUTES.APPSFLYER,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.COLLECT_FINGERPRINTS\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE_REPORT)\r\n ? {\r\n title: labels.FINGER_SCAN,\r\n submenu: [\r\n this.userRights(\r\n this.UserRightsConfiguration.COLLECT_FINGERPRINTS\r\n )\r\n ? {\r\n title: labels.COLLECT_FINGERPRINTS,\r\n url: ROUTES.COLLECT_FINGERS,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE)\r\n ? {\r\n title: labels.ATTENDANCE,\r\n url: ROUTES.ATTENDANCE,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.ATTENDANCE_REPORT\r\n )\r\n ? {\r\n title: labels.ATTENDANCE_REPORT,\r\n url: ROUTES.ATTENDANCEREPORT,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.STORE_ORDER_HISTORY)\r\n ? {\r\n title: labels.ORDER_HISTORY,\r\n url: ROUTES.STORE_ORDER_HISTORY,\r\n icon: OrdersIcon,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.PENDING_CASH_SUMMARY) ||\r\n this.userRights(this.UserRightsConfiguration.ORDERS_SUMMARY) ||\r\n this.userRights(this.UserRightsConfiguration.OUT_OF_COVERAGE) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PICKUP_DELIVERY_ASSIGNMENT\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.DAILY_ORDER_SUMMARY) ||\r\n this.userRights(this.UserRightsConfiguration.MONTHLY_ORDER_SUMMARY) ||\r\n this.userRights(this.UserRightsConfiguration.DAILY_PICKUP_SUMMARY) ||\r\n this.userRights(this.UserRightsConfiguration.MONTHLY_PICKUP_SUMMARY)\r\n ? {\r\n title: labels.AUDIT,\r\n icon: AuditIcon,\r\n submenu: [\r\n this.userRights(\r\n this.UserRightsConfiguration.PENDING_CASH_SUMMARY\r\n )\r\n ? {\r\n title: labels.PENDING_CASH_SUMMARY,\r\n url: ROUTES.PENDING_CASH_SUMMARY,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.ORDERS_SUMMARY)\r\n ? {\r\n title: labels.ORDERS_SUMMARY,\r\n url: ROUTES.ORDERS_SUMMARY,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.OUT_OF_COVERAGE)\r\n ? {\r\n title: labels.OUT_OF_COVERAGE,\r\n url: ROUTES.OUT_OF_COVERAGE,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.PICKUP_DELIVERY_ASSIGNMENT\r\n )\r\n ? {\r\n title: labels.PICKUP_DELIVERY_ASSIGNMENT,\r\n url: ROUTES.PICKUP_DELIVERY_ASSIGNMENT,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.DAILY_ORDER_SUMMARY\r\n )\r\n ? {\r\n title: labels.DAILY_ORDER_SUMMARY,\r\n url: ROUTES.DAILY_ORDER_SUMMARY,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.MONTHLY_ORDER_SUMMARY\r\n )\r\n ? {\r\n title: labels.MONTHLY_ORDER_SUMMARY,\r\n url: ROUTES.MONTHLY_ORDER_SUMMARY,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.DAILY_PICKUP_SUMMARY\r\n )\r\n ? {\r\n title: labels.DAILY_PICKUP_SUMMARY,\r\n url: ROUTES.DAILY_PICKUP_SUMMARY,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.MONTHLY_PICKUP_SUMMARY\r\n )\r\n ? {\r\n title: labels.MONTHLY_PICKUP_SUMMARY,\r\n url: ROUTES.MONTHLY_PICKUP_SUMMARY,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n ];\r\n } else if (storeOrFactory === \"factory\") {\r\n menuItems = [\r\n {\r\n title: labels.DASHBOARD,\r\n url: ROUTES.FACTORY_DASHBOARD,\r\n icon: DashboardIcon,\r\n },\r\n this.userRights(this.UserRightsConfiguration.STORE) ||\r\n this.userRights(this.UserRightsConfiguration.FACTORY) ||\r\n this.userRights(this.UserRightsConfiguration.CORPORATE) ||\r\n this.userRights(this.UserRightsConfiguration.CITY_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.STATE_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.DESIGNATION) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT_BRAND) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT_SIZE) ||\r\n this.userRights(this.UserRightsConfiguration.KYC_DOC_TYPE) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT) ||\r\n this.userRights(this.UserRightsConfiguration.GARMENT_COLOR) ||\r\n this.userRights(this.UserRightsConfiguration.REWASH_REASON) ||\r\n this.userRights(this.UserRightsConfiguration.OPER_INSTRUCTION) ||\r\n this.userRights(this.UserRightsConfiguration.EXPENSE_TYPE) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_ICONS)\r\n ? {\r\n title: labels.MASTER,\r\n icon: MasterIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.STORE)\r\n ? {\r\n title: labels.STORE,\r\n url: ROUTES.STORE,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FACTORY)\r\n ? {\r\n title: labels.FACTORY,\r\n url: ROUTES.FACTORY_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.CORPORATE)\r\n ? {\r\n title: labels.CORPORATE,\r\n url: ROUTES.CORPORATE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.CITY_MASTER)\r\n ? {\r\n title: labels.CITY,\r\n url: ROUTES.CITY_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.STATE_MASTER)\r\n ? {\r\n title: labels.STATE,\r\n url: ROUTES.STATE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.DESIGNATION)\r\n ? {\r\n title: labels.DESIGNATION,\r\n url: ROUTES.DESIGNATION_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.GARMENT_BRAND)\r\n ? {\r\n title: labels.GARMENT_BRAND,\r\n url: ROUTES.BRAND_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.GARMENT_SIZE)\r\n ? {\r\n title: labels.GARMENT_SIZE,\r\n url: ROUTES.SIZE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.KYC_DOC_TYPE)\r\n ? {\r\n title: labels.KYC_DOCUMENT_TYPE,\r\n url: ROUTES.KYCDOCTYPE_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.SERVICE)\r\n ? {\r\n title: labels.SERVICE,\r\n url: ROUTES.SERVICE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.GARMENT)\r\n ? {\r\n title: labels.GARMENT,\r\n url: ROUTES.GARMENT_MASTER,\r\n }\r\n : null,\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_COLOR)\r\n // ? {\r\n // title: \"Garment Color\",\r\n // url: ROUTES.COLOR_MASTER,\r\n // }\r\n // : null,\r\n this.userRights(this.UserRightsConfiguration.REWASH_REASON)\r\n ? {\r\n title: labels.REWASH_REASON,\r\n url: ROUTES.REWASH_REASON_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.OPER_INSTRUCTION)\r\n ? {\r\n title: labels.OPERATION_INSTRUCTION,\r\n url: ROUTES.OPERATION_INSTRUCTION_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.EXPENSE_TYPE)\r\n ? {\r\n title: labels.EXPENSE_TYPE,\r\n url: ROUTES.EXPENSE_TYPE_MASTER,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.SERVICE_ICONS)\r\n ? {\r\n title: labels.SERVICE_ICONS,\r\n url: ROUTES.SERVICE_ICONS,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FACTORY_IN) ||\r\n this.userRights(this.UserRightsConfiguration.FACTORY_OUT) ||\r\n this.userRights(this.UserRightsConfiguration.RESORT_PACK) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.RESORTING_AND_PACKAGING_LIST\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.FACTORY_GATE_PASS) ||\r\n this.userRights(this.UserRightsConfiguration.FACTORY_IN_PENDING)\r\n ? {\r\n title: labels.TRANSFER_IN_OUT,\r\n icon: TruckIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.FACTORY_IN)\r\n ? {\r\n title: labels.TRANSFER_IN,\r\n url: ROUTES.TRANSFER_IN_FACTORY,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.RESORT_PACK)\r\n ? {\r\n title: labels.RESORTING_AND_PACKAGING,\r\n url: ROUTES.FACTORY_Resorting_Packaging,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FACTORY_OUT)\r\n ? {\r\n title: labels.TRANSFER_OUT,\r\n url: ROUTES.TRANSFER_OUT_FACTORY,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.RESORTING_AND_PACKAGING_LIST\r\n )\r\n ? {\r\n title: labels.RESORTING_AND_PACKAGING_List,\r\n url: ROUTES.RESORTING_AND_PACKAGING,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.FACTORY_GATE_PASS)\r\n ? {\r\n title: labels.FACTORY_GATE_PASS,\r\n url: ROUTES.FACTORY_GATE_PASS_LIST,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FACTORY_IN_PENDING)\r\n ? {\r\n title: labels.FACTORY_IN_PENDING,\r\n url: ROUTES.FACTORY_IN_PENDING,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.GARMENT_PROCESSING) ||\r\n this.userRights(this.UserRightsConfiguration.PROCESSING_LIST)\r\n ? {\r\n title: labels.PROCESSING,\r\n icon: OrdersIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.GARMENT_PROCESSING)\r\n ? {\r\n title: labels.GARMENT_PROCESSING,\r\n url: ROUTES.GARMENT_PROCESSING,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.PROCESSING_LIST)\r\n ? {\r\n title: labels.PROCESSING_LIST,\r\n url: ROUTES.PROCESSING_LIST,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.FACTORY_PRE_QC) ||\r\n this.userRights(this.UserRightsConfiguration.FACTORY_POST_QC)\r\n ? {\r\n title: labels.QC_RESPONSES,\r\n icon: AttendanceIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.FACTORY_PRE_QC)\r\n ? {\r\n title: labels.PRE_QC,\r\n url: ROUTES.PRE_QC_FACTORY,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FACTORY_POST_QC)\r\n ? {\r\n title: labels.POST_QC,\r\n url: ROUTES.POST_QC_FACTORY,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.FACTORY_GARMENT_INVENTORY\r\n ) || this.userRights(this.UserRightsConfiguration.INVENTORY_SUMMARY)\r\n ? {\r\n title: labels.INVENTORY,\r\n // url: ROUTES.FACTORY_INVENTORY,\r\n icon: InventoryIcon,\r\n submenu: [\r\n this.userRights(\r\n this.UserRightsConfiguration.FACTORY_GARMENT_INVENTORY\r\n )\r\n ? {\r\n title: labels.FACTORY_GARMENT_INVENTORY,\r\n url: ROUTES.FACTORY_GARMENT_INVENTORY,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.INVENTORY_SUMMARY)\r\n ? {\r\n title: labels.INVENTORY_SUMMARY,\r\n url: ROUTES.INVENTORY_SUMMARY,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.EXPRESS_URGENT) ||\r\n this.userRights(this.UserRightsConfiguration.REWASH) ||\r\n this.userRights(this.UserRightsConfiguration.FIVE_STARE)\r\n ? {\r\n title: labels.DAILY_SHEETS,\r\n // url: ROUTES.FACTORY_INVENTORY,\r\n icon: InventoryIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.EXPRESS_URGENT)\r\n ? {\r\n title: labels.EXPRESS_URGENT,\r\n url: ROUTES.EXPRESS_URGENT,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.REWASH)\r\n ? {\r\n title: labels.REWASH,\r\n url: ROUTES.REWASH,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FIVE_STARE)\r\n ? {\r\n title: labels.FIVE_STARE,\r\n url: ROUTES.FIVE_STARE,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_INVENTORY) // comment by Hasti\r\n // ? {\r\n // title: labels.INVENTORY,\r\n // url: ROUTES.FACTORY_INVENTORY,\r\n // icon: InventoryIcon,\r\n // }\r\n // : null,\r\n this.userRights(this.UserRightsConfiguration.USERS) ||\r\n this.userRights(this.UserRightsConfiguration.ROLES) ||\r\n this.userRights(this.UserRightsConfiguration.ROLE_OPERATION) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COLLECTION) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_TIME) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_RATE) ||\r\n this.userRights(this.UserRightsConfiguration.DISCOUNT_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COUPON) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.PACKAGING_CHARGES) ||\r\n this.userRights(this.UserRightsConfiguration.DELIVERY_CHARGES) ||\r\n this.userRights(this.UserRightsConfiguration.REWARDS_CONFIG) ||\r\n this.userRights(this.UserRightsConfiguration.BANNER) ||\r\n this.userRights(this.UserRightsConfiguration.NOTICE_BOARD) ||\r\n this.userRights(this.UserRightsConfiguration.STANDARD_RATE_CARD) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.HOLIDAY_CONFIGURATION) ||\r\n this.userRights(this.UserRightsConfiguration.COLLECT_FINGERPRINTS) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE_REPORT) ||\r\n this.userRights(this.UserRightsConfiguration.TERMS_AND_CONDITIONS) ||\r\n this.userRights(this.UserRightsConfiguration.FAQ)\r\n ? {\r\n title: labels.SETTINGS,\r\n icon: SettingIcon,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.USERS) ||\r\n this.userRights(this.UserRightsConfiguration.ROLES) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.ROLE_OPERATION ||\r\n this.userRights(\r\n this.UserRightsConfiguration.CASH_COLLECTION\r\n )\r\n )\r\n ? {\r\n title: labels.AUTHENTICATION,\r\n submenu: [\r\n this.userRights(this.UserRightsConfiguration.USERS)\r\n ? {\r\n title: labels.USERS,\r\n url: ROUTES.USER,\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.ROLES)\r\n ? {\r\n title: labels.ROLES,\r\n url: ROUTES.ROLE_MASTER,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.ROLE_OPERATION\r\n )\r\n ? {\r\n title: labels.ROLE_OPERATIONS,\r\n url: ROUTES.ROLE_SCREEN_MAPPING,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.CASH_COLLECTION\r\n )\r\n ? {\r\n title: labels.CASH_COLLECTION,\r\n url: ROUTES.CASH_COLLECTION,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.SERVICE_TIME) ||\r\n this.userRights(this.UserRightsConfiguration.SERVICE_RATE) ||\r\n this.userRights(this.UserRightsConfiguration.DISCOUNT_MASTER) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COUPON) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PACKAGING_CHARGES\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.DELIVERY_CHARGES\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.REWARDS_CONFIG) ||\r\n this.userRights(this.UserRightsConfiguration.BANNER) ||\r\n this.userRights(this.UserRightsConfiguration.NOTICE_BOARD) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.STANDARD_RATE_CARD\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.HOLIDAY_CONFIGURATION\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.TERMS_AND_CONDITIONS\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.FAQ)\r\n ? {\r\n title: labels.CONFIGURATION,\r\n submenu: [\r\n this.userRights(\r\n this.UserRightsConfiguration.SERVICE_TIME\r\n )\r\n ? {\r\n title: labels.TIME_CARD,\r\n url: ROUTES.TIMECARD,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.SERVICE_RATE\r\n )\r\n ? {\r\n title: labels.RATE_CARD,\r\n url: ROUTES.RATECARD,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.DISCOUNT_MASTER\r\n )\r\n ? {\r\n title: labels.DISCOUNT,\r\n url: ROUTES.DISCOUNT_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.CASH_COUPON\r\n )\r\n ? {\r\n title: labels.CASH_COUPON,\r\n url: ROUTES.CASH_COUPON,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration\r\n .UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n )\r\n ? {\r\n title: labels.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n url: ROUTES.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.PACKAGING_CHARGES\r\n )\r\n ? {\r\n title: labels.PACKAGING_CHARGES,\r\n url: ROUTES.PACKAGE_CHARGES_MASTER,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.DELIVERY_CHARGES\r\n )\r\n ? {\r\n title: labels.DELIVERY_CHARGES,\r\n url: ROUTES.DELIVERY_CHARGES_MASTER,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.REWARDS_CONFIG\r\n )\r\n ? {\r\n title: labels.REWARDS_CONFIG,\r\n url: ROUTES.REWARDS_CONFIG,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.BANNER)\r\n ? {\r\n title: labels.BANNER,\r\n url: ROUTES.BANNER,\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.NOTICE_BOARD\r\n )\r\n ? {\r\n title: labels.NOTICE_BOARD,\r\n url: ROUTES.NOTICE_BOARD,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.STANDARD_RATE_CARD\r\n )\r\n ? {\r\n title: labels.STANDARD_RATE_CARD,\r\n url: ROUTES.STANDARD_RATE_CARD,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n )\r\n ? {\r\n title: labels.PAYTM_EDC_MACHINE_CONFING,\r\n url: ROUTES.PAYTM_EDC_MACHINE_CONFING,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.HOLIDAY_CONFIGURATION\r\n )\r\n ? {\r\n title: labels.HOLIDAY_CONFIGURATION,\r\n url: ROUTES.HOLIDAY_CONFIGURATION,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.TERMS_AND_CONDITIONS\r\n )\r\n ? {\r\n title: labels.TERMS_AND_CONDITIONS,\r\n url: ROUTES.TERMS_AND_CONDITIONS,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.FAQ)\r\n ? {\r\n title: labels.FAQ,\r\n url: ROUTES.FAQ,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(\r\n this.UserRightsConfiguration.COLLECT_FINGERPRINTS\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE) ||\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE_REPORT)\r\n ? {\r\n title: labels.FINGER_SCAN,\r\n submenu: [\r\n this.userRights(\r\n this.UserRightsConfiguration.COLLECT_FINGERPRINTS\r\n )\r\n ? {\r\n title: labels.COLLECT_FINGERPRINTS,\r\n url: ROUTES.COLLECT_FINGERS,\r\n }\r\n : null,\r\n this.userRights(this.UserRightsConfiguration.ATTENDANCE)\r\n ? {\r\n title: labels.ATTENDANCE,\r\n url: ROUTES.ATTENDANCE,\r\n }\r\n : null,\r\n this.userRights(\r\n this.UserRightsConfiguration.ATTENDANCE_REPORT\r\n )\r\n ? {\r\n title: labels.ATTENDANCE_REPORT,\r\n url: ROUTES.ATTENDANCEREPORT,\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n ],\r\n }\r\n : null,\r\n\r\n this.userRights(this.UserRightsConfiguration.FACTORY_ORDER_HISTORY)\r\n ? {\r\n title: labels.ORDER_HISTORY,\r\n url: ROUTES.FACTORY_ORDER_HISTORY,\r\n icon: OrdersIcon,\r\n }\r\n : null,\r\n ];\r\n }\r\n // menuItems = [\r\n // {\r\n // id: \"1\",\r\n // title: \"Dashboard\",\r\n // icon: DashboardIcon,\r\n // exact: true,\r\n // url: ROUTES.DASHBOARD,\r\n // },\r\n\r\n // {\r\n // id: \"21\",\r\n // title: \"Authentication\",\r\n // icon: CustomersIcon,\r\n // url: ROUTES.AUTHENTICATION,\r\n // submenu: [\r\n // this.userRights(this.UserRightsConfiguration.USERS).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.USERS)[0].isView == true\r\n // ? {\r\n // id: \"19\",\r\n // title: \"Manage Users \",\r\n // url: ROUTES.USER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.ROLES).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.ROLES)[0].isView == true\r\n // ? {\r\n // id: \"43\",\r\n // title: \"Roles\",\r\n // url: ROUTES.ROLE_MASTER,\r\n // }\r\n // : null,\r\n // this.userRights(this.UserRightsConfiguration.ROLE_OPERATION).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.ROLE_OPERATION)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"42\",\r\n // title: \"Manage Role Operation\",\r\n // url: ROUTES.ROLE_SCREEN_MAPPING,\r\n // }\r\n // : null,\r\n // ],\r\n // },\r\n\r\n // {\r\n // id: \"50\",\r\n // title: \"Admin Configuration\",\r\n // icon: CustomersIcon,\r\n // url: ROUTES.ADMIN_CONFIG,\r\n // submenu: [\r\n // this.userRights(this.UserRightsConfiguration.SERVICE_TIME).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.SERVICE_TIME)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"38\",\r\n // title: \"Service Time Card\",\r\n // url: ROUTES.TIMECARD,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.SERVICE_RATE).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.SERVICE_RATE)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"22\",\r\n // title: \"Service Rate Card\",\r\n // url: ROUTES.RATECARD,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.DISCOUNT_MASTER).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.DISCOUNT_MASTER)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"45\",\r\n // title: \"Discount Master\",\r\n // url: ROUTES.DISCOUNT_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.CASH_COUPON).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.CASH_COUPON)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"44\",\r\n // title: \"Cash Coupon\",\r\n // url: ROUTES.CASH_COUPON,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.PACKAGING_CHARGES)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.PACKAGING_CHARGES)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"15\",\r\n // title: \"Packaging Charges\",\r\n // url: ROUTES.PACKAGE_CHARGES_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.DELIVERY_CHARGES)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.DELIVERY_CHARGES)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"16\",\r\n // title: \"Delivery Charges\",\r\n // url: ROUTES.DELIVERY_CHARGES_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.BANNER).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.BANNER)[0].isView == true\r\n // ? {\r\n // id: \"53\",\r\n // title: \"Banner\",\r\n // url: ROUTES.BANNER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.NOTICE_BOARD).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.NOTICE_BOARD)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"54\",\r\n // title: \"Notice Board\",\r\n // url: ROUTES.NOTICE_BOARD,\r\n // }\r\n // : null,\r\n // ],\r\n // },\r\n\r\n // {\r\n // id: \"2\",\r\n // title: \"Master\",\r\n // icon: InventoryIcon,\r\n // url: ROUTES.MASTER,\r\n // submenu: [\r\n // this.userRights(this.UserRightsConfiguration.CUSTOMER).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.CUSTOMER)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"18\",\r\n // title: \"Customer\",\r\n // url: ROUTES.CUSTOMER_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STORE).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STORE)[0].isView == true\r\n // ? {\r\n // id: \"20\",\r\n // title: \"Store\",\r\n // url: ROUTES.STORE,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.FACTORY)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"3\",\r\n // title: \"Factory\",\r\n // url: ROUTES.FACTORY_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.CORPORATE).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.CORPORATE)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"28\",\r\n // title: \"Corporate\",\r\n // url: ROUTES.CORPORATE_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.CITY_MASTER).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.CITY_MASTER)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"4\",\r\n // title: \"City\",\r\n // url: ROUTES.CITY_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STATE_MASTER).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STATE_MASTER)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"5\",\r\n // title: \"State\",\r\n // url: ROUTES.STATE_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.DESIGNATION).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.DESIGNATION)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"6\",\r\n // title: \"Designation\",\r\n // url: ROUTES.DESIGNATION_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_BRAND).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_BRAND)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"7\",\r\n // title: \"Garment Brand\",\r\n // url: ROUTES.BRAND_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_SIZE).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_SIZE)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"8\",\r\n // title: \"Garment Size\",\r\n // url: ROUTES.SIZE_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.KYC_DOC_TYPE).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.KYC_DOC_TYPE)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"9\",\r\n // title: \"KYC Document Type\",\r\n // url: ROUTES.KYCDOCTYPE_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.SERVICE).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.SERVICE)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"10\",\r\n // title: \"Service\",\r\n // url: ROUTES.SERVICE_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.GARMENT).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.GARMENT)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"11\",\r\n // title: \"Garment\",\r\n // url: ROUTES.GARMENT_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_COLOR).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.GARMENT_COLOR)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"12\",\r\n // title: \"Garment Color\",\r\n // url: ROUTES.COLOR_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.REWASH_REASON).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.REWASH_REASON)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"13\",\r\n // title: \"Rewash Reason\",\r\n // url: ROUTES.REWASH_REASON_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.OPER_INSTRUCTION)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.OPER_INSTRUCTION)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"14\",\r\n // title: \"Operation Instruction\",\r\n // url: ROUTES.OPERATION_INSTRUCTION_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.EXPENSE_TYPE).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.EXPENSE_TYPE)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"17\",\r\n // title: \"Expense Type\",\r\n // url: ROUTES.EXPENSE_TYPE_MASTER,\r\n // }\r\n // : null,\r\n // ],\r\n // },\r\n\r\n // {\r\n // id: \"31\",\r\n // title: \"Store Module\",\r\n // icon: InventoryIcon,\r\n // url: ROUTES.STOREMODULE,\r\n // submenu: [\r\n // {\r\n // id: \"80\",\r\n // title: \"Dashboard\",\r\n // url: ROUTES.STORE_DASHBOARD,\r\n // },\r\n\r\n // this.userRights(this.UserRightsConfiguration.PICKUP).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.PICKUP)[0].isView == true\r\n // ? {\r\n // id: \"46\",\r\n // title: \"Pickup\",\r\n // url: ROUTES.PICKUP_LIST,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.ORDER_LIST).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.ORDER_LIST)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"57\",\r\n // title: \"Order List\",\r\n // url: ROUTES.ORDER_LISTING,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_OUT)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_OUT)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"44\",\r\n // title: \"Transfer Out\",\r\n // url: ROUTES.STORE_TRANSFER_OUT,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_IN)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STORE_TRANSFER_IN)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"47\",\r\n // title: \"Transfer In\",\r\n // url: ROUTES.STORE_TRANSFER_IN,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(\r\n // this.UserRightsConfiguration.READY_FOR_DELIVERY_ORDERS\r\n // ).length > 0 &&\r\n // this.userRights(\r\n // this.UserRightsConfiguration.READY_FOR_DELIVERY_ORDERS\r\n // )[0].isView == true\r\n // ? {\r\n // id: \"37\",\r\n // title: \"Ready for Delivery Orders\",\r\n // url: ROUTES.STORE_READY_FOR_DELIVERY_ORDERS,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STORE_MANAGE_QC).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STORE_MANAGE_QC)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"36\",\r\n // title: \"Pre-QC Response List\",\r\n // url: ROUTES.STORE_PRE_QC_RESPONSE_LIST,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.GATE_PASS_LIST).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.GATE_PASS_LIST)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"35\",\r\n // title: \"Gate Pass List\",\r\n // url: ROUTES.STORE_GATE_PASS_LIST,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STORE_DELIVERY_LIST)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STORE_DELIVERY_LIST)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"55\",\r\n // title: \"Delivery List\",\r\n // url: ROUTES.DELIVERY_LIST,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.EXPENSE_ENTRY).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.EXPENSE_ENTRY)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"34\",\r\n // title: \"Expense Entry\",\r\n // url: ROUTES.STORE_EXPENSE_ENTRY,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.STORE_INVENTORY).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.STORE_INVENTORY)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"24\",\r\n // title: \"Store Inventory\",\r\n // url: ROUTES.STORE_INVENTORY,\r\n // }\r\n // : null,\r\n\r\n // // this.userRights(this.UserRightsConfiguration.INVOICE).length > 0 &&\r\n // // this.userRights(this.UserRightsConfiguration.INVOICE)[0].isView ==\r\n // // true\r\n // // ? {\r\n // // id: \"56\",\r\n // // title: \"Invoice\",\r\n // // url: ROUTES.PROFORMA_INVOICE,\r\n // // }\r\n // // : null,\r\n // ],\r\n // },\r\n\r\n // {\r\n // id: \"25\",\r\n // title: \"Factory Module\",\r\n // icon: InventoryIcon,\r\n // url: ROUTES.FACTORY,\r\n // submenu: [\r\n // {\r\n // id: \"30\",\r\n // title: \"Dashboard\",\r\n // url: ROUTES.FACTORY_DASHBOARD,\r\n // },\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_IN).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_IN)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"32\",\r\n // title: \"Factory In\",\r\n // url: ROUTES.TRANSFER_IN_FACTORY,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_PRE_QC).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_PRE_QC)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"27\",\r\n // title: \"Pre QC\",\r\n // url: ROUTES.PRE_QC_FACTORY,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_POST_QC).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_POST_QC)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"29\",\r\n // title: \"Post QC\",\r\n // url: ROUTES.POST_QC_FACTORY,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.RESORT_PACK).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.RESORT_PACK)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"49\",\r\n // title: \"Resorting & Packaging\",\r\n // url: ROUTES.FACTORY_Resorting_Packaging,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_OUT).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_OUT)[0].isView ==\r\n // true\r\n // ? {\r\n // id: \"26\",\r\n // title: \"Factory Out\",\r\n // url: ROUTES.TRANSFER_OUT_FACTORY,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_INVENTORY)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.FACTORY_INVENTORY)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"33\",\r\n // title: \"Factory Inventory\",\r\n // url: ROUTES.FACTORY_INVENTORY,\r\n // }\r\n // : null,\r\n // ],\r\n // },\r\n\r\n // {\r\n // id: \"39\",\r\n // title: \"LK Wallet\",\r\n // icon: InventoryIcon,\r\n // url: ROUTES.LKWALLET,\r\n // submenu: [\r\n // this.userRights(this.UserRightsConfiguration.PACKAGE_CONFIG).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.PACKAGE_CONFIG)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"40\",\r\n // title: \"Package Configuration\",\r\n // url: ROUTES.PACKAGE_CONFIGURATION,\r\n // }\r\n // : null,\r\n // this.userRights(this.UserRightsConfiguration.PACKAGE_CONFIG).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.PACKAGE_CONFIG)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"60\",\r\n // title: \"Buy Package\",\r\n // url: ROUTES.BUY_PACKAGE,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.REFERRAL_BONUS).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.REFERRAL_BONUS)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"41\",\r\n // title: \"Refferal Bonus Confuguration\",\r\n // url: ROUTES.REFFERAL_BONUS_CONFIGURATION,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.COMPENSATION).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.COMPENSATION)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"51\",\r\n // title: \"Compensation\",\r\n // url: ROUTES.COMPENSATION_MASTER,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.EMPLOYEE_CREDITS)\r\n // .length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.EMPLOYEE_CREDITS)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"52\",\r\n // title: \"Employee Credit\",\r\n // url: ROUTES.EMPLOYEE_CREDIT,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.REFUND).length > 0 &&\r\n // this.userRights(this.UserRightsConfiguration.REFUND)[0].isView == true\r\n // ? {\r\n // id: \"58\",\r\n // title: \"Refund\",\r\n // url: ROUTES.LKREFUND,\r\n // }\r\n // : null,\r\n\r\n // this.userRights(this.UserRightsConfiguration.ADVANCE_PAYMENT).length >\r\n // 0 &&\r\n // this.userRights(this.UserRightsConfiguration.ADVANCE_PAYMENT)[0]\r\n // .isView == true\r\n // ? {\r\n // id: \"59\",\r\n // title: \"Advance Payment\",\r\n // url: ROUTES.ADVANCE_PAYMENT,\r\n // }\r\n // : null,\r\n // ],\r\n // },\r\n // ];\r\n\r\n /**\r\n * A recursive function to generate the menu items dynamically.\r\n *\r\n * @param {array} menuObj : array of menu objects\r\n */\r\n let menuIndex = 0;\r\n const menuItemGenerator = (menuObj) => {\r\n return menuObj.map((singleMenu, index) => {\r\n menuIndex = menuIndex + 1;\r\n if (singleMenu != null && singleMenu.submenu) {\r\n return (\r\n \r\n ) : null\r\n }\r\n title={\r\n singleMenu.url ? (\r\n {singleMenu.title}\r\n ) : (\r\n singleMenu.title\r\n )\r\n }\r\n >\r\n {menuItemGenerator(singleMenu.submenu)}\r\n \r\n );\r\n } else {\r\n return singleMenu != null ? (\r\n \r\n ) : null\r\n }\r\n >\r\n {singleMenu.title}\r\n \r\n ) : null;\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/**\r\n * Button to toggle the sidebar\r\n */}\r\n \r\n \"\r\n className={\r\n this.props.collapsedState === false\r\n ? styles.TogglerIconOpen\r\n : null\r\n }\r\n />\r\n \r\n \r\n \r\n {menuItemGenerator(menuItems)}\r\n {this.userRights(\r\n this.UserRightsConfiguration.STORE_GATE_PASS_REPORT\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.GARMENT_SUMMARY_REPORT\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.QC_REPORT) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.FACTORY_IN_SUMMARY_REPORT\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.FACTORY_GATE_PASS_REPORT\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.STORE_GATE_PASS_SUMMARY_REPORT\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.CUSTOMER_REPORT) ||\r\n this.userRights(this.UserRightsConfiguration.RAF_REPORT) ||\r\n this.userRights(this.UserRightsConfiguration.REVENUE_REPORT) ||\r\n this.userRights(this.UserRightsConfiguration.ORDER_REPORT) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.WALLET_TRANSACTION_REPORT\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.PACKAGE_RECHARGE_REPORT\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.STORE_TRANSFER_IN_REPORT\r\n ) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.STORE_TRANSFER_OUT_REPORT\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.TRANSACTION_REPORT) ||\r\n this.userRights(this.UserRightsConfiguration.ODM_REPORT) ||\r\n this.userRights(this.UserRightsConfiguration.PROMOCODE_REPORT) ||\r\n this.userRights(\r\n this.UserRightsConfiguration.CUSTOMER_VALUE_SUMMARY_REPORT\r\n ) ||\r\n this.userRights(this.UserRightsConfiguration.CASH_COUPON_REPORT) ? (\r\n \r\n \r\n\r\n \r\n Reports\r\n \r\n \r\n ) : null}\r\n \r\n \r\n FAQs\r\n \r\n |\r\n \r\n e-Learning\r\n \r\n \r\n \r\n \r\n Returns & Refunds\r\n \r\n \r\n \r\n \r\n Terms & Conditions\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\n\r\nexport default class Header {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async AddScanGarmentRecords(postData) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.UPDATE_SCANNED_TAGS_STATUS_FOR_READY_FOR_TRANS_OUT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.UpdateScannedTagsStatusForReadyForTransOut.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.AddScanGarmentRecords(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getPreQcresponseCount(storeId) {\r\n const getFactoryAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n getFactoryAPI.createEntity({ name: this.endpoint.GET_PRE_QC_PANDING_LIST });\r\n let itemArray = [];\r\n let idParams = \"?storeId=\" + storeId.storeID;\r\n let shouldWait = false;\r\n await getFactoryAPI.endpoints[this.endpoint.GET_PRE_QC_PANDING_LIST]\r\n .getById(idParams)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPreQcresponseCount(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}","import React from \"react\";\r\nimport styles from \"./tableactions.module.css\";\r\n/**\r\n * Container file to hold buttons for actions in master grid screen tables\r\n * @porps isPagination : if it is in a table with pagination or not, it will apply styles accordingly\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 4 June 2020\r\n */\r\nexport default class TableActions extends React.Component {\r\n render() {\r\n const { children, isPagination, ...rest } = this.props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass PreQCResponseList {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getResponseList(param) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.STORE_GET_PRE_QC_REQUEST_LIST }); //var change\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.STORE_GET_PRE_QC_REQUEST_LIST]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getResponseList(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // async getResponseList(param) {\r\n // const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n // myApi.createEntity({ name: this.endpoint.GET_PRE_QC_REQUEST_LIST });\r\n // let itemArray = [];\r\n // await myApi.endpoints[this.endpoint.GET_PRE_QC_REQUEST_LIST]\r\n // .getAllPost(param)\r\n // .then(({ data }) => {\r\n // itemArray = data;\r\n // })\r\n // .catch((err) => {\r\n // itemArray = this.common.handleError(err);\r\n // });\r\n // if (itemArray.statusCode == 401) {\r\n // await this.common.refreshToken().then((response) => {\r\n // this.common.setToken(response);\r\n // itemArray = this.getResponseList(param);\r\n // });\r\n // }\r\n // return Promise.resolve(itemArray);\r\n // }\r\n\r\n async getGarmentDetailByTagNo(tagNo) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_GARMENT_DETAIL_BY_TAGNO,\r\n });\r\n let states = [];\r\n let param = \"?TagNo=\" + tagNo;\r\n await stateListAPI.endpoints[this.endpoint.GET_GARMENT_DETAIL_BY_TAGNO]\r\n .getOne(param, {})\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getGarmentDetailByTagNo(tagNo);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getLastQC(tagNo, pendingFrom) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_LAST_QC_INFO,\r\n });\r\n let states = [];\r\n let param = \"?TagNo=\" + tagNo + \"&QCPendingfrom=\" + parseInt(pendingFrom);\r\n await stateListAPI.endpoints[this.endpoint.GET_LAST_QC_INFO]\r\n .getOne(param, {})\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getLastQC(tagNo, pendingFrom);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n async OrderGarmentQCRequest(data) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ORDER_GARMENT_QC_REQUEST });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.ORDER_GARMENT_QC_REQUEST]\r\n .create(data)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.OrderGarmentQCRequest(data);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n async GetQCHistoryByTagNo(id) {\r\n const getFactoryAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n getFactoryAPI.createEntity({ name: this.endpoint.GET_QC_HISTORY_BY_TAGNO });\r\n let factory = [];\r\n let shouldWait = false;\r\n let idParams = {\r\n params: {\r\n TagNo: id,\r\n },\r\n };\r\n await getFactoryAPI.endpoints[this.endpoint.GET_QC_HISTORY_BY_TAGNO]\r\n .getAll(idParams)\r\n .then((response) => {\r\n factory = response.data;\r\n })\r\n .catch((err) => {\r\n factory = this.common.handleError(err);\r\n });\r\n if (factory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factory = this.GetQCHistoryByTagNo(id);\r\n });\r\n }\r\n return Promise.resolve(factory);\r\n }\r\n\r\n async getResponseListForDashboard(param) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PRE_QC_REQUEST_LIST }); \r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_PRE_QC_REQUEST_LIST]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getResponseListForDashboard(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default PreQCResponseList;\r\n","import React from \"react\";\r\nimport styles from \"./header.module.css\";\r\nimport {\r\n Input,\r\n Modal,\r\n Menu,\r\n Row,\r\n Col,\r\n Space,\r\n Form,\r\n notification,\r\n Tooltip,\r\n Select,\r\n Spin,\r\n Table,\r\n Badge,\r\n Dropdown,\r\n} from \"antd\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Logo from \"../../../images/Common/Dashboardwhitebg.png\";\r\nimport seperatorIcon from \"../../../images/Header/seperator.svg\";\r\nimport BellIcon from \"../../../images/Header/notification.svg\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faKey,\r\n faPlus,\r\n faPowerOff,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n// import userImage from \"../../../images/Header/userImage.jpg\";\r\nimport AuthService from \"../../../services/authservice\";\r\nimport ROUTES from \"../../../routes\";\r\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\r\nimport { labels, allLabels } from \"../../../shared/language\";\r\nimport HeaderService from \"../../../services/headerservice\";\r\nimport { OmitProps } from \"antd/lib/transfer/ListBody\";\r\nimport Common, { common } from \"../../../services/common\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport PreQCResponseList from \"../../../services/storepreqcresponselistservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport PickupService from \"../../../services/pickupservice\";\r\nconst { Option } = Select;\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Search } = Input;\r\nconst { confirm } = Modal;\r\n/**\r\n * This file contains the header of the application\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 3 June 2020\r\n */\r\nclass Header extends React.Component {\r\n /**\r\n * Header variables are stored in the state property to make it easy to modify\r\n *\r\n * @var storeName.name : holds the name of the store user logged in to\r\n * @var currentUser.name : Name of the current user\r\n * @var currentUser.designation : designation of the current user\r\n * @var photo : Image object or url of the profile picture\r\n *\r\n * @todo currentUser object can be fetched from the global variable storage via service/redux.\r\n */\r\n\r\n constructor(props) {\r\n super(props);\r\n this.authservice = new AuthService();\r\n this.headerService = new HeaderService();\r\n this.common = new Common();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pickupService = new PickupService();\r\n // this.PreQCResponseListService = new PreQCResponseList();\r\n }\r\n\r\n state = {\r\n modalLoading: false,\r\n storeName: \"ECC Road Store\",\r\n currentUser: {\r\n name: \"\",\r\n designation: \"\",\r\n },\r\n showAddPopup: false,\r\n newPassword: \"\",\r\n oldPassword: \"\",\r\n showScanGarmentPopup: false,\r\n ScnanGarmentRecords: [],\r\n AddScanGarmentRecords: [],\r\n GarmentNumber: \"\",\r\n PendingPreQCResponse: 0,\r\n IsShowWrongTag: false,\r\n MessageWrongTag: \"\",\r\n isPleaseScanTagCount: 0,\r\n timeSlot: {\r\n data: [],\r\n },\r\n };\r\n\r\n notificationMenu = (\r\n \r\n {/* \r\n 1st menu item\r\n \r\n \r\n \r\n 2nd menu item\r\n \r\n \r\n \r\n 3rd menu item\r\n */}\r\n \r\n );\r\n\r\n Logout = () => {\r\n confirm({\r\n title: \"Are you sure you want to logout?\",\r\n icon: ,\r\n okText: \"Yes\",\r\n cancelText: \"No\",\r\n onOk: () => {\r\n this.authservice.logout();\r\n },\r\n onCancel() { },\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n let userInfo = jwt.decode(\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n );\r\n\r\n if (userInfo !== undefined) {\r\n this.setState({\r\n currentUser: {\r\n ...this.state.currentUser,\r\n name: userInfo.UserFullName,\r\n designation: userInfo.DesignationName,\r\n },\r\n });\r\n\r\n const intervalID = setInterval(() => {\r\n this.getPreQcresponseCount();\r\n },10800000);\r\n }\r\n\r\n let branchName = localStorage.getItem(\"Store/FactoryName\");\r\n if (branchName !== undefined) {\r\n this.setState({\r\n storeName: branchName,\r\n });\r\n }\r\n }\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ORDER_LIST\r\n );\r\n this.setState({ userRights: res });\r\n\r\n this.getPreQcresponseCount();\r\n }\r\n\r\n getPreQcresponseCount = () => {\r\n var f = parseInt(localStorage.getItem(\"branchID\"));\r\n this.headerService\r\n .getPreQcresponseCount({\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n PendingPreQCResponse: response.data.pendingPreQcCount,\r\n });\r\n }\r\n // else {\r\n // notification[\"error\"]({\r\n // message: labels.PRE_QC_RESPONSES,\r\n // description: response.message\r\n // ? this.common.Message(response.message)\r\n // : labels.UNABLE_TO_GET_PRE_QC_RESPONSE_LIST,\r\n // });\r\n // }\r\n });\r\n };\r\n\r\n ChangePassword = () => {\r\n this.setState({ showAddPopup: true });\r\n };\r\n handlePopupCancel = () => {\r\n window.location.reload();\r\n this.setState({\r\n showAddPopup: false,\r\n showScanGarmentPopup: false,\r\n ScnanGarmentRecords: [],\r\n });\r\n this.formInstance.current.setFieldsValue({\r\n ScanGarment: undefined,\r\n });\r\n };\r\n\r\n handleInputPassword = (e) => {\r\n this.setState({\r\n newPassword: e.target.value,\r\n });\r\n };\r\n handleOldPassword = (e) => {\r\n this.setState({\r\n oldPassword: e.target.value,\r\n });\r\n };\r\n\r\n ResetPassword = () => {\r\n if (this.state.newPassword == this.state.oldPassword) {\r\n notification[\"error\"]({\r\n message: \"Change Password\",\r\n description: \"Old password and new password should not same.\",\r\n });\r\n return false;\r\n }\r\n this.setState({ modalLoading: true });\r\n this.authservice\r\n .ResetPassword(this.state.newPassword, this.state.oldPassword)\r\n .then((response) => {\r\n if (response.data.result == \"Success\") {\r\n notification[\"success\"]({\r\n message: \"Change Password\",\r\n description: \"Password has been changed.\",\r\n });\r\n\r\n this.setState({\r\n showAddPopup: false,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Change Password\",\r\n description: response.data.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n ShowScanGarmentModel = () => {\r\n this.setState({\r\n showScanGarmentPopup: true,\r\n });\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.NO,\r\n dataIndex: \"no\",\r\n key: \"no\",\r\n width: 70,\r\n // sorte: true,\r\n },\r\n {\r\n title: \"Tag No\",\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record, index) => (\r\n \r\n {/* this.removeItems(record.cityID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n > */}\r\n \r\n {\r\n let updated = [...this.state.ScnanGarmentRecords];\r\n updated[index] = undefined;\r\n updated = updated.filter((x) => x !== undefined);\r\n this.setState({\r\n ScnanGarmentRecords: updated,\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n {/* */}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n handleScanedGarment = (e) => {\r\n var res =\r\n this.state.ScnanGarmentRecords.length > 0\r\n ? this.state.ScnanGarmentRecords.filter(\r\n (item) => item == e.target.value\r\n )\r\n : [];\r\n if (res.length == 0) {\r\n let garmentRes = this.state.ScnanGarmentRecords;\r\n if (![undefined, null, \"\", \" \", \" \"].includes(e.target.value.trim())) {\r\n garmentRes.push(e.target.value);\r\n this.setState({\r\n ScnanGarmentRecords: garmentRes,\r\n armentNumber: \"\",\r\n });\r\n this.formInstance.current.setFieldsValue({\r\n ScanGarment: undefined,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.SCAN_TAG,\r\n description: labels.TAG_ALREADY_EXISTS.replace(\"{0}\", e.target.value),\r\n });\r\n }\r\n };\r\n\r\n handlePopupClear = () => {\r\n this.setState({\r\n ScnanGarmentRecords: [],\r\n GarmentNumber: undefined,\r\n });\r\n this.formInstance.current.setFieldsValue({\r\n ScanGarment: undefined,\r\n });\r\n };\r\n\r\n handleGarmentNumber = (e) => {\r\n this.setState({ GarmentNumber: e.target.value });\r\n };\r\n\r\n AddScannedgarmentRecords = () => {\r\n if (this.state.ScnanGarmentRecords.length > 0) {\r\n let postData = {\r\n tagNos: this.state.ScnanGarmentRecords.toString(),\r\n sourceFrom: 1,\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n };\r\n\r\n this.headerService.AddScanGarmentRecords(postData).then((res) => {\r\n if (res.statusCode === 200) {\r\n this.setState({ ScnanGarmentRecords: [] });\r\n this.formInstance.current.setFieldsValue({\r\n ScanGarment: undefined,\r\n isPleaseScanTagCount: 0,\r\n });\r\n\r\n if (\r\n res.message.toUpperCase() === \"DATA IS SUCCESSFULLY UPDATED\" &&\r\n res.result == \"Success\"\r\n ) {\r\n notification[\"success\"]({\r\n message: labels.SCAN_TAG,\r\n description: this.common.Message(res.message),\r\n });\r\n window.location.reload();\r\n this.setState({\r\n showScanGarmentPopup: false,\r\n isPleaseScanTagCount: 0,\r\n });\r\n } else {\r\n this.setState({\r\n MessageWrongTag: res.message,\r\n IsShowWrongTag: true,\r\n isPleaseScanTagCount: 0,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.SCAN_TAG,\r\n description: this.common.Message(res.message),\r\n });\r\n }\r\n });\r\n } else {\r\n if (this.state.isPleaseScanTagCount === 0) {\r\n notification[\"error\"]({\r\n message: labels.SCAN_TAG,\r\n description: labels.PLEASE_SCAN_TAG,\r\n });\r\n\r\n this.setState({\r\n isPleaseScanTagCount: this.state.isPleaseScanTagCount + 1,\r\n });\r\n }\r\n }\r\n };\r\n\r\n getTimeSlot = (storeid) => {\r\n this.pickupService.getTimeSlotList(storeid).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n timeSlot: {\r\n ...this.state.timeSlot,\r\n data: response.data,\r\n },\r\n },\r\n () => {\r\n localStorage.setItem(\r\n \"StoreSlots\",\r\n JSON.stringify(this.state.timeSlot.data)\r\n );\r\n // this.props.history.push(ROUTES.STORE_DASHBOARD);\r\n this.props.history.push(ROUTES.SPLASH);\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleSelect = (event1) => {\r\n localStorage.removeItem(\"StoreSlots\");\r\n let event = parseInt(event1.slice(1));\r\n let type = event1.charAt(0);\r\n\r\n const branchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\"))\r\n : [];\r\n var branchArray = branchTypes.filter(\r\n (x) =>\r\n x.branchID === event &&\r\n ((x.branchType === \"Store\" && type === \"s\") ||\r\n (x.branchType === \"Factory\" && type === \"f\"))\r\n );\r\n if (branchArray !== undefined) {\r\n localStorage.setItem(\"branchID\", branchArray[0].branchID);\r\n localStorage.setItem(\"Store/FactoryName\", branchArray[0].branchName);\r\n localStorage.setItem(\"Store/FactoryType\", branchArray[0].branchType);\r\n if (branchArray[0].branchType.toLowerCase() === \"store\") {\r\n this.getTimeSlot(branchArray[0].branchID);\r\n } else if (branchArray[0].branchType.toLowerCase() === \"factory\") {\r\n localStorage.removeItem(\"StoreSlots\");\r\n // this.props.history.push(ROUTES.FACTORY_DASHBOARD);\r\n this.props.history.push(ROUTES.SPLASH);\r\n }\r\n }\r\n };\r\n\r\n // handleClick = () => {\r\n // if (\r\n // this.state.userName == this.state.oldUserName &&\r\n // this.state.password == this.state.oldPassword\r\n // ) {\r\n // if (this.state.validation == \"\") {\r\n // // notification[\"error\"]({\r\n // // message: \"Select Store/Factory.\",\r\n // // });\r\n // return false;\r\n // }\r\n // localStorage.setItem(\"branchID\", this.state.selectedBranch);\r\n // localStorage.setItem(\"Store/FactoryName\", this.state.selectedBranchName);\r\n // localStorage.setItem(\"Store/FactoryType\", this.state.selectedBranchType);\r\n // if (this.state.selectedBranchType.toLowerCase() === \"store\") {\r\n // this.props.history.push(ROUTES.STORE_DASHBOARD);\r\n // } else if (this.state.selectedBranchType.toLowerCase() === \"factory\") {\r\n // this.props.history.push(ROUTES.FACTORY_DASHBOARD);\r\n // }\r\n // } else {\r\n // this.setState({ validateStatus: \"error\" }, () =>\r\n // console.log(this.state.validateStatus)\r\n // );\r\n // openNotificationWithIcon(\"error\", \"Wrong credentials\", \"\");\r\n // this.setState({ validateStatus: \"error\" });\r\n // // this.setState({ usernameValidateStatus: \"error\" });\r\n // // this.setState({ passwordValidateStatus: \"error\" });\r\n // }\r\n // };\r\n\r\n formInstance = React.createRef();\r\n\r\n render() {\r\n const layout = {\r\n labelCol: { span: 8 },\r\n wrapperCol: { span: 16 },\r\n };\r\n let branchType = localStorage.getItem(\"Store/FactoryType\").toLowerCase();\r\n\r\n const listItems =\r\n this.state.ScnanGarmentRecords.length > 0\r\n ? this.state.ScnanGarmentRecords.map((item, index) => ({\r\n no: index + 1,\r\n tagNo: item,\r\n }))\r\n : [];\r\n\r\n const branchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\"))\r\n : [];\r\n const branchname = localStorage.getItem(\"Store/FactoryName\");\r\n return (\r\n
\r\n
\r\n
\r\n {/* */}\r\n \"Laundrokart\"\r\n {/* */}\r\n \"\" />\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n style={{ minWidth: 150 }}\r\n >\r\n {branchTypes.length !== 0\r\n ? branchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n
\r\n\r\n {/* {this.state.storeName} */}\r\n
\r\n
\r\n
\r\n {branchType === \"store\" ? (\r\n \r\n \r\n // }\r\n // onClick={()=>{this.props.history.push('/empty');this.props.history.replace(ROUTES.CRE)}}\r\n className={styles.CreateOrderButton}\r\n onClick={this.ShowScanGarmentModel}\r\n >\r\n {labels.SCAN_GARMENT}\r\n \r\n \r\n {this.state.userRights[0].isAdd == true ? (\r\n \r\n }\r\n // onClick={()=>{this.props.history.push('/empty');this.props.history.replace(ROUTES.CRE)}}\r\n className={styles.CreateOrderButton}\r\n >\r\n {labels.CREATE_ORDER}\r\n \r\n ) : null}\r\n \r\n \r\n ) : null}\r\n {/**\r\n * Please go through below documentation for badge to display notification count\r\n * https:\r\n * https:\r\n *\r\n */}\r\n {branchType === \"store\" ? (\r\n \r\n \r\n \"bell\"\r\n \r\n \r\n ) : null}\r\n
\r\n \r\n {\r\n localStorage.setItem(\"locale\", value);\r\n window.location.reload();\r\n }}\r\n >\r\n {Object.keys(allLabels).map((single) => {\r\n return (\r\n \r\n {single.charAt(0).toUpperCase() +\r\n single.slice(1).toLowerCase()}\r\n \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.currentUser.name}\r\n \r\n \r\n {this.state.currentUser.name\r\n .split(\" \")\r\n .map((n) => n[0])\r\n .join(\"\")}\r\n \r\n
\r\n
\r\n \r\n {this.state.currentUser.designation}\r\n \r\n \r\n {this.state.currentUser.designation\r\n .split(\" \")\r\n .map((n) => n[0])\r\n .join(\"\")}\r\n \r\n
\r\n
\r\n
\r\n {/**\r\n * Logout Button\r\n *\r\n * @todo Put Logout Function on onClick Listener\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({\r\n validator(rule, value) {\r\n if (!value || getFieldValue(\"password\") === value) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n \"Password & confirm password do not match.\"\r\n );\r\n },\r\n }),\r\n ]}\r\n >\r\n \r\n \r\n \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.IsShowWrongTag ? (\r\n \r\n \r\n \r\n \r\n }\r\n value={this.state.GarmentNumber}\r\n />\r\n \r\n \r\n \r\n {/* {scanGarmentList} */}\r\n \r\n \r\n {labels.SCANNED_GARMENT_LIST}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n <>\r\n \r\n {labels.CLEAR}\r\n \r\n \r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n {labels.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 {![undefined, null, \"\"].includes(this.state.MessageWrongTag)\r\n ? this.state.MessageWrongTag.split(\",\").join(\", \")\r\n : null}{\" \"}\r\n \r\n \r\n \r\n <>\r\n \r\n {labels.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\nexport default withRouter(Header);\r\n","import React from \"react\";\r\nimport { Layout, Typography } from \"antd\";\r\nimport Sidebar from \"../Sidebar/sidebar\";\r\nimport LaundrokartHeader from \"../Header/header\";\r\nconst { Header, Sider, Content, Footer } = Layout;\r\nconst { Text } = Typography;\r\n\r\n/**\r\n * A common component to add header and sidebar to any screen\r\n *\r\n * Usage : { Your Screen Content } \r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nexport default class WithHeaderSidebar extends React.Component {\r\n state = {\r\n collapsed: false,\r\n };\r\n menuToggler = () => {\r\n this.setState({ collapsed: !this.state.collapsed });\r\n };\r\n\r\n /**\r\n * To collapse the sidebar on width less than 992px\r\n */\r\n responsiveSidebarToggle = () => {\r\n if (window.innerWidth < 992) {\r\n this.setState({ collapsed: true });\r\n } else {\r\n this.setState({ collapsed: false });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n this.responsiveSidebarToggle();\r\n window.addEventListener(\"resize\", () => {\r\n this.responsiveSidebarToggle();\r\n });\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{this.props.children}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Owned and operated by “Kleenco On Demand Services Private\r\n Limited”\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./box.module.css\";\r\n/**\r\n * A component to render a card-like box with shadow\r\n * Generally used to wrap a content of the screen/card\r\n *\r\n * @prop sub : if sub is applied, it won't take full viewport height\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n */\r\n\r\nexport default class Box extends React.Component {\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./filters.module.css\";\r\n/**\r\n * File Contains the filter container for master screens\r\n * provides pink background with proper margin-padding and animation for toggle\r\n *\r\n * @props show: variable to determine to show or not\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 4 June 2020\r\n */\r\nexport default class Filters extends React.Component {\r\n render() {\r\n return (\r\n \r\n {this.props.show ? this.props.children : null}\r\n \r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass UserService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveEmployeeType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_EMPLOYEETYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetEmployeeTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveEmployeeType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveReportingTo() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_REPORTINGTO });\r\n let itemArray = [];\r\n await myApi.endpoints.GetReportingToList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveReportingTo();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveDesignation() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DESIGNATION });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDesignationList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveDesignation();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveKYCDocumentType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_KYCDOCUMENT_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetKYCDocumentTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveKYCDocumentType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveUserMaster(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USERMASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetUserMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveUserMaster(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveUserMasterByfilter(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USERMASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetUserMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveUserMasterByfilter(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // Save User\r\n\r\n async saveUpdateUserMaster(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_USERMASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateUserMaster.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateUserMaster(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // User KYC details\r\n\r\n async getUserKYCDetails(userID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USER_KYC_DETAILS });\r\n let itemArray = [];\r\n let id = \"?UserID=\" + userID;\r\n\r\n await myApi.endpoints.GetUserKYCDetails.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getUserKYCDetails(userID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // Save User KYC\r\n\r\n async saveUpdateUserKYCDetails(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_USERKYC_DETAIL });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateUserKYCDetail.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateUserKYCDetails(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async deleteKYCByKYCID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DELETE_USERKYC });\r\n let itemArray = [];\r\n let Id = \"?KYCIDs=\" + id.toString();\r\n await myApi.endpoints.DeleteUserKYCDetailByKYCID.deleteById(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteKYCByKYCID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getKYCByKYCID(kycID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_KYC_DETAILS_BY_USERID });\r\n let itemArray = [];\r\n let Id = \"?KYCID=\" + kycID;\r\n await myApi.endpoints.GetUserKYCDetailByKYCID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getKYCByKYCID(kycID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // User Role details\r\n\r\n async getUserRoleDetails(userID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USER_ROLE_DETAILS });\r\n let itemArray = [];\r\n let Id = \"?UserID=\" + userID;\r\n await myApi.endpoints.GetUserRoleMappings.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getUserRoleDetails(userID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getUserRoleByID(userrolemappingID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_ROLE_DETAILS_BY_ROLEID });\r\n let itemArray = [];\r\n let Id = \"?UserRoleMappingID=\" + userrolemappingID;\r\n await myApi.endpoints.GetUserRoleMappingByID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getUserRoleByID(userrolemappingID);\r\n });\r\n }\r\n\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async deleteRoleByRoleID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DELETE_USERROLE });\r\n let itemArray = [];\r\n let Id = \"?UserRoleMappingIDs=\" + id.toString();\r\n await myApi.endpoints.DeleteUserRoleMappingByID.deleteById(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteRoleByRoleID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async saveUpdateUserRoleDetails(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_USERROLE_DETAIL });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateUserRoleMapping.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateUserRoleDetails(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n //Delete records\r\n\r\n // async deleteUserByUserID(id) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_DELETEUSERBYID })\r\n // let itemArray = [];\r\n // await myApi.endpoints.DeleteUserByUserID.deleteByUserId(id)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n async getUserDetailByUserID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USERDETAILSBYID });\r\n let itemArray = [];\r\n let Id = \"?UserID=\" + id;\r\n await myApi.endpoints.GetUserDetailByUserID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getUserDetailByUserID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // User Assignment step\r\n\r\n async retrievePaymentType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PAYMENT_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetPaymentTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrievePaymentType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveIronPersonType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_IRON_PERSON_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetIronPersonTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveIronPersonType();\r\n });\r\n }\r\n\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStayAt() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STAY_AT });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStayAtList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStayAt();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStore() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStore();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveFactory() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FACTORIES_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetFactoryList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveFactory();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveRole() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_ROLE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetRoleList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveRole();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default UserService;\r\n","export const RegexLettersDigitsSymbols = /^[A-Za-z]{1,}[A-Za-z0-9_-\\s,\\\\/!#$+=<>[\\]|(){}.@~%^*&?\"':;]*$/;\r\nexport const MessageLettersDigitsSymbols = \"Input Must Start With Alphabet\";\r\n\r\nexport const RegexLettersDigitsUnderScoreHyphen = /^[A-Za-z]{1,}[A-Za-z0-9_-\\s]*$/;\r\nexport const MessageLettersDigitsUnderScoreHyphen =\r\n \"Input Must Start With Alphabet And You Can Enter Digits,Underscore Or Hyphen\";\r\n\r\nexport const RegexLetters = /^[a-zA-Z\\s]*$/;\r\nexport const MessageLetters = \"Please Enter Only Alphabets\";\r\n\r\nexport const RegexLettersDigits = /^[A-Za-z]{1,}[A-Za-z0-9\\s]*$/;\r\nexport const MessageLettersDigits =\r\n \"Input Must Start With Alphabet And You Can Enter Digits\";\r\n\r\nexport const RegexDecimalAndRestrictFirstZero = /^[1-9]\\d*(.\\d*)?$/;\r\n// /^(?:[1-9]\\d*)+([.][0-9]+)?$/;\r\nexport const RegexInteger = /^(?:[1-9]\\d*)$/;\r\nexport const MessageNumbers = \"Please Enter Only Digits Starting With 1 to 9\";\r\n\r\nclass Validator {\r\n validateInputs(inputData) {\r\n let errorMsg = \"\";\r\n if (!inputData.name) {\r\n errorMsg += \"Please enter name of this item.\\n\";\r\n }\r\n if (!inputData.summary) {\r\n errorMsg += \"Please enter summary of this item.\\n\";\r\n }\r\n if (errorMsg.length == 0) {\r\n return true;\r\n } else {\r\n alert(errorMsg);\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport default Validator;\r\n","import React from \"react\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport { Row, Col, Form, Input, DatePicker, Select, notification } from \"antd\";\r\nimport styles from \"./createuser.module.css\";\r\nimport moment from \"moment\";\r\nimport {\r\n RegexLetters,\r\n RegexLettersDigits,\r\n MessageLetters,\r\n MessageLettersDigits,\r\n} from \"../../../../shared/validator\";\r\n\r\nconst { Option } = Select;\r\n/**\r\n * A form as a part of create user - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module User\r\n */\r\nexport default class GeneralForm extends React.Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n empType: [],\r\n desType: [],\r\n rptTo: [],\r\n };\r\n }\r\n componentDidMount() {\r\n this._isMounted = true;\r\n //this.setState({isEditmode:this.props.isEditmode,isViewmode:this.props.isViewmode});\r\n this.getEmployeeType();\r\n this.getReportingTo();\r\n this.getDesignation();\r\n }\r\n\r\n handleIsMACChange(e) {\r\n this.setState({ isMACID: e.target.checked });\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n getEmployeeType = () => {\r\n if (this._isMounted) {\r\n this.userservice.retrieveEmployeeType().then((empType) => {\r\n if (empType.statusCode === 200) {\r\n this.setState({ empType: empType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for employee types\",\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n getReportingTo = () => {\r\n if (this._isMounted) {\r\n this.userservice.retrieveReportingTo().then((rptTo) => {\r\n if (rptTo.statusCode === 200) {\r\n this.setState({ rptTo: rptTo.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for reporting to\",\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n getDesignation = () => {\r\n if (this._isMounted) {\r\n this.userservice.retrieveDesignation().then((desType) => {\r\n if (desType.statusCode === 200) {\r\n this.setState({ desType: desType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for designation type\",\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\r\n return (\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/input/\r\n * https://ant.design/components/input/#API\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.mode !== \"edit\" ? (\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 null}\r\n disabled={disabled}\r\n format={\"DD-MM-YYYY\"}\r\n disabledDate={(current) => current.isSameOrAfter(moment())}\r\n />\r\n \r\n \r\n \r\n \r\n null}\r\n disabled={disabled}\r\n format={\"DD-MM-YYYY\"}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {/* {this.state.desType.map((desType) => {desType.text})} */}\r\n {this.state.desType.map((desType) => {\r\n return desType.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {this.state.rptTo.map((rptTo) => {rptTo.text})} */}\r\n {this.state.rptTo.map((rptTo) => {\r\n return rptTo.value !== \"-1\" ? (\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 handleCheckbox(event,'isMACID')} checked={isMACID}>IsMACID\r\n \r\n */}\r\n \r\n \r\n Cancel\r\n \r\n \r\n Next\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FactoryService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n async getStateList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GETSTATELIST });\r\n let states = [];\r\n await stateListAPI.endpoints[this.endpoint.GETSTATELIST]\r\n .getAll()\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getStateList();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getCityListByState(id) {\r\n const getCitiesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n getCitiesAPI.createEntity({ name: this.endpoint.GET_CITIES_BY_STATE });\r\n let cities = [];\r\n let idParams = {\r\n params: {\r\n StateID: id,\r\n },\r\n };\r\n await getCitiesAPI.endpoints[this.endpoint.GET_CITIES_BY_STATE]\r\n .getAll(idParams)\r\n .then((response) => {\r\n cities = response.data;\r\n })\r\n .catch((err) => {\r\n cities = this.common.handleError(err);\r\n });\r\n if (cities.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n cities = this.getCityListByState(id);\r\n });\r\n }\r\n return Promise.resolve(cities);\r\n }\r\n\r\n async getDeliveryTypeList() {\r\n const deliveryTypeAPI = new API({ url: this.config.DROPDOWN_URL });\r\n deliveryTypeAPI.createEntity({ name: this.endpoint.GET_DELIVERY_TYPES });\r\n let deliveryTypes = [];\r\n await deliveryTypeAPI.endpoints[this.endpoint.GET_DELIVERY_TYPES]\r\n .getAll()\r\n .then((response) => {\r\n deliveryTypes = response.data;\r\n })\r\n .catch((err) => {\r\n deliveryTypes = this.common.handleError(err);\r\n });\r\n if (deliveryTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n deliveryTypes = this.getDeliveryTypeList();\r\n });\r\n }\r\n return Promise.resolve(deliveryTypes);\r\n }\r\n\r\n async getOperatingDaysList() {\r\n const daysListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n daysListAPI.createEntity({ name: this.endpoint.GET_WEEKDAYS });\r\n let days = [];\r\n await daysListAPI.endpoints[this.endpoint.GET_WEEKDAYS]\r\n .getAll()\r\n .then((response) => {\r\n days = response.data;\r\n })\r\n .catch((err) => {\r\n days = this.common.handleError(err);\r\n });\r\n if (days.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n days = this.getOperatingDaysList();\r\n });\r\n }\r\n return Promise.resolve(days);\r\n }\r\n\r\n async getFactoryStatusList() {\r\n const statusListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n statusListAPI.createEntity({ name: this.endpoint.GET_FACTORY_STATUS_LIST });\r\n let statusList = [];\r\n await statusListAPI.endpoints[this.endpoint.GET_FACTORY_STATUS_LIST]\r\n .getAll()\r\n .then((response) => {\r\n statusList = response.data;\r\n })\r\n .catch((err) => {\r\n statusList = this.common.handleError(err);\r\n });\r\n if (statusList.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n statusList = this.getFactoryStatusList();\r\n });\r\n }\r\n return Promise.resolve(statusList);\r\n }\r\n\r\n async getZoneList() {\r\n const zoneListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n zoneListAPI.createEntity({ name: this.endpoint.GET_ZONES });\r\n let zones = [];\r\n await zoneListAPI.endpoints[this.endpoint.GET_ZONES]\r\n .getAll()\r\n .then((response) => {\r\n zones = response.data;\r\n })\r\n .catch((err) => {\r\n zones = this.common.handleError(err);\r\n });\r\n if (zones.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n zones = this.getZoneList();\r\n });\r\n }\r\n return Promise.resolve(zones);\r\n }\r\n async addUpdateFactory(factory) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ADD_UPDATE_FACTORY });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.ADD_UPDATE_FACTORY]\r\n .create(factory)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdateFactory(factory);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n async getAllFactories(\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null\r\n ) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ALL_FACTORIES });\r\n let factories = [];\r\n let payload = {\r\n factoryName: \"\",\r\n shortName: \"\",\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n };\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ALL_FACTORIES]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getAllFactories(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async getFactory(id) {\r\n const getFactoryAPI = new API({ url: this.config.ITEM_URL });\r\n getFactoryAPI.createEntity({ name: this.endpoint.GET_FACTORY });\r\n let factory = [];\r\n let idParams = {\r\n params: {\r\n FactoryID: id,\r\n },\r\n };\r\n await getFactoryAPI.endpoints[this.endpoint.GET_FACTORY]\r\n .getAll(idParams)\r\n .then((response) => {\r\n factory = response.data;\r\n })\r\n .catch((err) => {\r\n factory = this.common.handleError(err);\r\n });\r\n if (factory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factory = this.getFactory(id);\r\n });\r\n }\r\n return Promise.resolve(factory);\r\n }\r\n\r\n async getServices() {\r\n const servicesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n servicesAPI.createEntity({ name: this.endpoint.GET_SERVICES_OFFERED });\r\n let services = [];\r\n await servicesAPI.endpoints[this.endpoint.GET_SERVICES_OFFERED]\r\n .getAll()\r\n .then((response) => {\r\n services = response.data;\r\n })\r\n .catch((err) => {\r\n services = this.common.handleError(err);\r\n });\r\n if (services.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n services = this.getServices();\r\n });\r\n }\r\n return Promise.resolve(services);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Input,\r\n Radio,\r\n Select,\r\n TimePicker,\r\n notification,\r\n} from \"antd\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport FactoryService from \"../../../../services/factoryservice\";\r\nimport styles from \"./createuser.module.css\";\r\n\r\nconst { Option } = Select;\r\n/**\r\n * A form as a part of create store - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module Store\r\n */\r\nexport default class UserAssignment extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.factoryService = new FactoryService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n payType: [],\r\n ironType: [],\r\n stayAt: [],\r\n store: [],\r\n factory: [],\r\n operatingDays: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n isEditmode: this.props.isEditmode,\r\n isViewmode: this.props.isViewmode,\r\n });\r\n this.getPaymentType();\r\n this.getIronPersonType();\r\n this.getStayAt();\r\n this.getStore();\r\n this.getFactory();\r\n this.getOperatingDays();\r\n }\r\n\r\n getOperatingDays = () => {\r\n this.factoryService.getOperatingDaysList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n operatingDays: {\r\n ...this.state.operatingDays,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for working days\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getPaymentType = () => {\r\n this.userservice.retrievePaymentType().then((payType) => {\r\n if (payType.statusCode === 200) {\r\n this.setState({ payType: payType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for payment type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getIronPersonType = () => {\r\n this.userservice.retrieveIronPersonType().then((ironType) => {\r\n if (ironType.statusCode === 200) {\r\n this.setState({ ironType: ironType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for iron type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStayAt = () => {\r\n this.userservice.retrieveStayAt().then((stayAt) => {\r\n if (stayAt.statusCode === 200) {\r\n this.setState({ stayAt: stayAt.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for stay at\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStore = () => {\r\n this.userservice.retrieveStore().then((store) => {\r\n if (store.statusCode === 200) {\r\n this.setState({ store: store.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for store\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getFactory = () => {\r\n this.userservice.retrieveFactory().then((factory) => {\r\n if (factory.statusCode === 200) {\r\n this.setState({ factory: factory.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for factory\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n let RegexDecimal = /^[0-9]?$/g;\r\n const disabled = this.props.mode === \"view\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {/* {this.state.store.map((stores) => )} */}\r\n {this.state.store.map((stores) => {\r\n return stores.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {/* {this.state.factory.map((factories) => )} */}\r\n {this.state.factory.map((factories) => {\r\n return factories.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.operatingDays.data.length !== 0\r\n ? this.state.operatingDays.data.map((operatingDay) => {\r\n return operatingDay.value !== \"-1\" ? (\r\n \r\n {operatingDay.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/time-picker/\r\n * https://ant.design/components/time-picker/#API\r\n */}\r\n \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 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 Previuos\r\n \r\n {!disabled ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n PageHeader,\r\n Typography,\r\n Space,\r\n Upload,\r\n notification,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createuser.module.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport UserKYC from \"./userkyc.component\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\n//import axios from 'axios';\r\n//const BASE_URL = 'E:/LaundroKart_Final/Development SourceCode/src/documents/users/ids';\r\n//const BASE_URL='//DTC173/ServiceRateAndTimeCardDocuments';\r\n\r\nconst { Option } = Select;\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A form as a part of create KYC - Add User KYC\r\n *\r\n * @props backFunction: a function to modify parent state to go back to tabular view\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 3 June 2020\r\n *\r\n * @module User\r\n */\r\nexport default class UserForm extends React.Component {\r\n /**\r\n * A function to handle form submit\r\n * please check below link for more details\r\n * https://ant.design/components/form/#API\r\n *\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n fullLoading: false,\r\n kycid: 0,\r\n isAdd: false,\r\n isView: false,\r\n disabled: false,\r\n kycDocTypeId: 0,\r\n kycDocTypeName: \"\",\r\n fileName: \"\",\r\n kycDoctype: [],\r\n selectedFiles: \"\",\r\n kycDocTypeList: [],\r\n showComponent: false,\r\n currentComponent: true,\r\n kycFormValues: {},\r\n // images: [],\r\n // imageUrls: [],\r\n // message: ''\r\n fileListProp: [],\r\n };\r\n this.handleSaveUpdateKYC = this.handleSaveUpdateKYC.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getKYCDocType();\r\n this.setState({\r\n kycid: this.props.kycid,\r\n kycDocTypeName: this.props.kycDocTypeName,\r\n kycDocTypeId: this.props.kycDocTypeID,\r\n fileName: this.props.uploadedDocName,\r\n isView: this.props.isView,\r\n disabled: this.props.disabled,\r\n });\r\n if (this.props.kycDocTypeList !== null) {\r\n this.setState({ kycDocTypeList: this.props.kycDocTypeList });\r\n }\r\n this.setState({ fileListProp: this.props.fileList });\r\n }\r\n static defaultProps = {\r\n fileListProp: [],\r\n };\r\n getKYCDocType = () => {\r\n this.userservice.retrieveKYCDocumentType().then((kycDoctype) => {\r\n this.setState({ kycDoctype: kycDoctype.data });\r\n });\r\n };\r\n\r\n handleChange = (event) => {\r\n this.setState({ kycDocTypeId: parseInt(event) });\r\n this.setState({\r\n kycDocTypeName: this.state.kycDoctype.filter((x) => x.value === event)[0]\r\n .text,\r\n });\r\n };\r\n handleFileChange = (event) => {\r\n // let images = []\r\n // for (var i = 0; i < event.target.files.length; i++) {\r\n // images[i] = event.target.files.item(i);\r\n // }\r\n // images = images.filter(image => image.name.match(/\\.(jpg|jpeg|png|gif)$/))\r\n // let message = `${images.length} valid image(s) selected`\r\n // this.setState({ images, message })\r\n\r\n if (event.target.files[0].size >= 10 * 1024 * 1024) {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Users\",\r\n \"Max. file size is allow upto 10 MB\"\r\n );\r\n document.getElementById(\"files\").value = null;\r\n } else if (\r\n event.target.files[0].type === \"image/png\" ||\r\n event.target.files[0].type === \"image/jpg\" ||\r\n event.target.files[0].type === \"image/jpeg\"\r\n ) {\r\n this.state.fileName = event.target.files[0].name;\r\n this.state.selectedFiles = event.target.files[0];\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Users\",\r\n \"Invalid file extension, select jpg or png.\"\r\n );\r\n document.getElementById(\"files\").value = null;\r\n }\r\n };\r\n\r\n handleSaveUpdateKYC = () => {\r\n var fileCaption_GUID = (Math.random().toString(16) + \"000000000\").substr(\r\n 1,\r\n 12\r\n );\r\n var fileCaption = (Math.random().toString(16) + \"000000000\").substr(1, 6);\r\n if (this.state.fileName !== \"\") {\r\n const formData = new FormData();\r\n if (this.state.fileListProp.length > 0) {\r\n let file = this.state.fileListProp[0];\r\n if (file.url !== undefined) {\r\n formData.append(\"UnchangedImage\", file.name);\r\n } else {\r\n formData.append(\"UnchangedImage\", \"\");\r\n }\r\n } else {\r\n formData.append(\"UnchangedImage\", \"\");\r\n }\r\n formData.append(\"kycImage\", this.state.selectedFiles);\r\n formData.append(\"kycid\", this.state.kycid);\r\n formData.append(\"userID\", this.props.userID);\r\n formData.append(\r\n \"kycDocTypeID\",\r\n parseInt(this.state.kycFormValues.kycDocTypeID)\r\n );\r\n formData.append(\"isKYCUploaded\", true);\r\n formData.append(\r\n \"uploadedDocName\",\r\n this.props.userID +\r\n \"_\" +\r\n this.state.kycFormValues.kycDocTypeID +\r\n \"_\" +\r\n fileCaption +\r\n \"_\" +\r\n this.state.fileName.split(\"/\")[\r\n this.state.fileName.split(\"/\").length - 1\r\n ]\r\n );\r\n formData.append(\"fileCaption\", fileCaption_GUID);\r\n // const uploaders = this.state.images.map(image => {\r\n // const data = new FormData();\r\n // var GUID = (Math.random().toString(16)+\"000000000\").substr(1,12);\r\n // data.append(\"image\", image, image.name);\r\n // // Make an AJAX upload request using Axios\r\n // return axios.post(BASE_URL, data)\r\n // .then(response => {\r\n // // this.setState({\r\n // // imageUrls: [ response.data.imageUrl, ...this.state.imageUrls ]\r\n // // });\r\n // })\r\n // });\r\n // // Once all the files are uploaded\r\n // axios.all(uploaders).then(() => {\r\n // console.log('done');\r\n // }).catch(err => alert(err.message));\r\n this.setState({ fullLoading: true });\r\n this.userservice.saveUpdateUserKYCDetails(formData).then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Users\", response.message);\r\n this.setState({ showComponent: true });\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Users\", response.message);\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Users\",\r\n \"Please select KYC doc Type & document file\"\r\n );\r\n }\r\n };\r\n\r\n kycForm = React.createRef();\r\n kycValidated = false;\r\n\r\n handleSubmit = () => {\r\n const kycValidator = this.kycForm.validateFields();\r\n\r\n Promise.allSettled([kycValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n kycFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdateKYC();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const { disabled } = this.state;\r\n const tailFormItemLayout = {\r\n wrapperCol: {\r\n xs: {\r\n span: 24,\r\n offset: 0,\r\n },\r\n sm: {\r\n span: 14,\r\n offset: 0,\r\n },\r\n },\r\n };\r\n return (\r\n \r\n {this.state.showComponent ? (\r\n \r\n ) : (\r\n (this.kycForm = kycForm)}\r\n className={styles.AddKYCForm}\r\n >\r\n {/**\r\n * Please go through below documentation befor modifying\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n {this.state.kycid === 0\r\n ? \"Add KYC\"\r\n : this.state.isView\r\n ? \"View KYC\"\r\n : \"Edit KYC\"}\r\n \r\n }\r\n backIcon={}\r\n onBack={this.props.backFunction}\r\n className={styles.AddKYCFormHeader}\r\n />\r\n \r\n \r\n \r\n {/* \r\n {/* {this.state.kycDoctype.map((kycDoctype) => )} */}\r\n {this.state.kycDoctype.map((kycDoctype) => {\r\n return kycDoctype.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n }}\r\n >\r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n onChange={(info) => {\r\n let fileList = [...info.fileList];\r\n if (fileList.length > 0) {\r\n fileList = fileList.slice(-1);\r\n let file = fileList[0];\r\n if (file.size >= 10 * 1024 * 1024) {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Users\",\r\n \"Max. file size is allow upto 10 MB\"\r\n );\r\n this.setState({ fileListProp: [] });\r\n } else {\r\n let setFileList = [];\r\n file.status = \"done\";\r\n setFileList.push(file);\r\n this.setState({ fileListProp: setFileList });\r\n this.setState({\r\n selectedFiles: file.originFileObj,\r\n fileName: file.name,\r\n });\r\n }\r\n } else {\r\n this.setState({ fileListProp: [] });\r\n }\r\n }}\r\n >\r\n \r\n \r\n {/* this.fileUpload}\r\n onChange={this.handleFileChange}\r\n /> */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n {!this.state.isView ? (\r\n this.handleSaveUpdateKYC(event,this.state.kycDocTypeList)}\r\n onClick={this.handleSubmit}\r\n >\r\n Save\r\n \r\n ) : null}\r\n {this.state.showComponent ? (\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","import React from \"react\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport { Row, Col, Form, Input, Select, notification, Checkbox } from \"antd\";\r\nimport styles from \"./createstore.module.css\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n RegexLetters,\r\n MessageLetters,\r\n} from \"../../../../shared/validator\";\r\n\r\nconst { Option } = Select;\r\nlet map;\r\n// let bounds = new window.google.maps.LatLngBounds();\r\nlet coordinates = [];\r\nvar drawingManager;\r\nvar selectedShape;\r\nvar allPolygonNew = [];\r\nvar allPolygonOld = [];\r\nvar newShape = \"\";\r\nvar selectedCoordinates = \"\";\r\nvar geoCoordinate = \"\";\r\n/**\r\n * A form as a part of create user - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module User\r\n */\r\nexport default class StoreContact extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n zone: [],\r\n state: [],\r\n city: [],\r\n geoFencing: \"\",\r\n };\r\n this.renderCoordinate = this.renderCoordinate.bind(this);\r\n this.initMap = this.initMap.bind(this);\r\n this.deleteSelectedShape = this.deleteSelectedShape.bind(this);\r\n }\r\n componentDidMount() {\r\n \r\n this.initMap();\r\n this.setState({\r\n isEditmode: this.props.isEditmode,\r\n isViewmode: this.props.isViewmode,\r\n });\r\n this.getZone();\r\n this.getState();\r\n if (this.props.stateID !== 0) {\r\n this.getCity(this.props.stateID);\r\n }\r\n }\r\n\r\n initMap = () => {\r\n if (\r\n localStorage.getItem(\"geoFencing\") !== \"\" &&\r\n localStorage.getItem(\"geoFencing\") !== undefined &&\r\n localStorage.getItem(\"geoFencing\") !== null\r\n ) {\r\n selectedCoordinates = localStorage.getItem(\"geoFencing\");\r\n }\r\n if (this.props.mode === \"add\") {\r\n selectedCoordinates = \"\";\r\n }\r\n map = new window.google.maps.Map(document.getElementById(\"map\"), {\r\n center: { lat: 12.9716, lng: 77.5946 },\r\n zoom: 10,\r\n zoomControl: true,\r\n zoomControlOptions: {\r\n position: window.google.maps.ControlPosition.RIGHT_CENTER,\r\n },\r\n scrollwheel: false,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n mapTypeId: \"roadmap\",\r\n });\r\n var myPolygon = new window.google.maps.Polygon({\r\n //paths: this.buildCoordinates(\"20.385816,77.281992 19.694305,77.682993 20.576216,78.446543\"),\r\n paths: this.buildCoordinates(selectedCoordinates),\r\n description: [\"1\", \"0\", \"\", \"\"],\r\n IsChanged: \"0\",\r\n draggable: true,\r\n editable: true,\r\n strokeColor: \"#1E90FF\",\r\n strokeOpacity: 0.8,\r\n strokeWeight: 0,\r\n fillColor: \"#66ccff\",\r\n fillOpacity: 0.45,\r\n });\r\n\r\n myPolygon.setMap(map);\r\n allPolygonOld.push(myPolygon);\r\n window.google.maps.event.addListener(myPolygon, \"click\", function () {\r\n selectedShape = myPolygon;\r\n window.google.maps.event.addListener(\r\n myPolygon.getPath(),\r\n \"insert_at\",\r\n this.mapEditing\r\n );\r\n window.google.maps.event.addListener(\r\n myPolygon.getPath(),\r\n \"set_at\",\r\n this.mapEditing\r\n );\r\n });\r\n\r\n drawingManager = new window.google.maps.drawing.DrawingManager({\r\n markerOptions: {\r\n draggable: true,\r\n },\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n position: window.google.maps.ControlPosition.TOP_CENTER,\r\n drawingModes: [\"polygon\"],\r\n },\r\n polygonOptions: {\r\n strokeWeight: 0,\r\n fillOpacity: 0.45,\r\n editable: true,\r\n description: [],\r\n strokeColor: \"#1E90FF\",\r\n fillColor: \"#1E90FF\",\r\n IsChanged: \"0\",\r\n draggable: true,\r\n },\r\n\r\n map: map,\r\n });\r\n\r\n window.google.maps.event.addListener(\r\n drawingManager,\r\n \"overlaycomplete\",\r\n function (e) {\r\n selectedCoordinates = \"\";\r\n var firstPointCoordinates = \"\";\r\n newShape = e.overlay;\r\n newShape.type = e.type;\r\n newShape.description = [\"1\", \"0\", \"\", \"\"];\r\n if (e.type !== window.google.maps.drawing.OverlayType.MARKER) {\r\n for (var i = 0; i < newShape.getPath().getLength(); i++) {\r\n selectedCoordinates +=\r\n newShape.getPath().getAt(i).toUrlValue(14) + \" \";\r\n geoCoordinate = selectedCoordinates;\r\n if (i === 0) {\r\n firstPointCoordinates = selectedCoordinates;\r\n }\r\n if (i === newShape.getPath().getLength() - 1) {\r\n selectedCoordinates += firstPointCoordinates;\r\n }\r\n }\r\n localStorage.setItem(\"geoFencing\", selectedCoordinates);\r\n selectedShape = newShape;\r\n allPolygonNew.push(newShape);\r\n }\r\n }\r\n );\r\n\r\n window.google.maps.event.addListener(\r\n drawingManager,\r\n \"drawingmode_changed\",\r\n this.clearSelection()\r\n );\r\n\r\n myPolygon.addListener(\"mouseup\", function (event) {\r\n // debugger;\r\n const polygon = this;\r\n selectedCoordinates = \"\";\r\n var firstPointCoordinates = \"\";\r\n for (var i = 0; i < polygon.getPath().getLength(); i++) {\r\n selectedCoordinates += polygon.getPath().getAt(i).toUrlValue(14) + \" \";\r\n geoCoordinate = selectedCoordinates;\r\n if (i === 0) {\r\n firstPointCoordinates = selectedCoordinates;\r\n }\r\n if (i === polygon.getPath().getLength() - 1) {\r\n selectedCoordinates += firstPointCoordinates;\r\n }\r\n }\r\n localStorage.setItem(\"geoFencing\", selectedCoordinates);\r\n });\r\n\r\n window.google.maps.event.addListener(map, \"click\", this.clearSelection());\r\n };\r\n\r\n deleteSelectedShape = () => {\r\n var shape = selectedShape;\r\n if (shape !== undefined && shape.type !== \"marker\") {\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"insert_at\"\r\n );\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"set_at\"\r\n );\r\n selectedShape.setEditable(false);\r\n selectedShape = null;\r\n shape.setEditable(true);\r\n }\r\n selectedShape = shape;\r\n\r\n if (selectedShape) {\r\n if (selectedShape.description[0] !== \"1\") {\r\n for (var i = 0; i < allPolygonNew.length; i++) {\r\n if (\r\n allPolygonNew[i].description[1] === selectedShape.description[1]\r\n ) {\r\n allPolygonNew.splice(i, 1);\r\n selectedShape.setMap(null);\r\n }\r\n }\r\n } else {\r\n selectedShape.description[2] = \"D\";\r\n selectedShape.setMap(null);\r\n }\r\n }\r\n localStorage.setItem(\"geoFencing\", \"\");\r\n };\r\n\r\n buildCoordinates(cordinates) {\r\n var finalData = [];\r\n var grouped = cordinates.split(\" \");\r\n grouped.forEach(function (item, i) {\r\n let a = item.trim().split(\",\");\r\n finalData.push(new window.google.maps.LatLng(a[0], a[1]));\r\n });\r\n\r\n return finalData;\r\n }\r\n\r\n clearSelection() {\r\n if (selectedShape) {\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"insert_at\"\r\n );\r\n window.google.maps.event.clearListeners(\r\n selectedShape.getPath(),\r\n \"set_at\"\r\n );\r\n selectedShape.setEditable(false);\r\n selectedShape = null;\r\n }\r\n }\r\n\r\n mapEditing() {\r\n if (selectedShape && selectedShape.IsChanged === \"0\") {\r\n selectedShape.IsChanged = \"1\";\r\n }\r\n }\r\n\r\n renderCoordinate(paths) {\r\n coordinates = [];\r\n let position = 0;\r\n paths.map((location) => {\r\n if (position % 10 === 0) {\r\n coordinates.push({ lat: location[1], lng: location[0] });\r\n }\r\n position++;\r\n return true;\r\n });\r\n }\r\n\r\n getZone = () => {\r\n this.storeservice.retrieveZone().then((zone) => {\r\n if (zone.statusCode === 200) {\r\n this.setState({ zone: zone.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for zone\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getState = () => {\r\n this.storeservice.retrieveState().then((state) => {\r\n if (state.statusCode === 200) {\r\n this.setState({ state: state.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for state\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCity = (stateID) => {\r\n this.storeservice.retrieveCity(parseInt(stateID)).then((city) => {\r\n if (city.statusCode === 200) {\r\n this.setState({ city: city.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for city\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n // handleWebCheckbox = (event) => {\r\n // if (event.target.checked == true) {\r\n // this.setState({ showOnWebsite: \"Yes\" });\r\n // } else {\r\n // this.setState({ showOnWebsite: \"No\" });\r\n // }\r\n // // this.setState({ showOnWebsite: event.target.checked });\r\n // console.log(\"event->\", event);\r\n // };\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\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 this.getCity(event);\r\n }}\r\n disabled={disabled}\r\n >\r\n {/* {this.state.state.map((state) => {state.text})} */}\r\n {this.state.state.map((state) => {\r\n return state.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n prev.state !== next.state}\r\n rules={[{ required: true, message: \"Please Select City\" }]}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Show on Website\r\n \r\n \r\n \r\n \r\n \r\n \r\n Show marker on app\r\n \r\n \r\n \r\n \r\n Geo-CoOrdinates\r\n \r\n \r\n \r\n {/* e.target.value.toUpperCase().trim()}>\r\n \r\n */}\r\n
\r\n \r\n \r\n \r\n Previuos\r\n \r\n {!disabled ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport KYCForm from \"./kycform.component\";\r\nimport {\r\n Table,\r\n Space,\r\n Popconfirm,\r\n PageHeader,\r\n Typography,\r\n notification,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createuser.module.css\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n/**\r\n * A tabular view as a part of create store - Slot Mapping, Slot List\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module User\r\n */\r\nexport default class UserKYC extends React.Component {\r\n /**\r\n * State variable to determine whether to display form or table\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n tableLoading: false,\r\n isAdd: false,\r\n isEdit: false,\r\n isViewmode: false,\r\n disabled: false,\r\n kycid: 0,\r\n kycDocTypeID: 0,\r\n kycDocTypeList: [],\r\n kycDocTypeName: \"\",\r\n uploadedDocName: \"\",\r\n kycFormValues: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isViewmode: this.props.isViewmode });\r\n this.getUserKYCDetails(this.props.userID);\r\n }\r\n\r\n getUserKYCDetails = (userID) => {\r\n this.setState({ tableLoading: true });\r\n this.userservice.getUserKYCDetails(userID).then((response) => {\r\n this.setState({ kycDocTypeList: response.data });\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n deleteKYCByKYCID(kycID) {\r\n this.setState({ tableLoading: true });\r\n this.userservice.deleteKYCByKYCID(kycID).then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Users\", response.message);\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Users\", response.message);\r\n }\r\n this.getUserKYCDetails(this.props.userID);\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n getKYCByKYCID(kycID) {\r\n this.setState({ tableLoading: true });\r\n this.userservice.getKYCByKYCID(kycID).then((response) => {\r\n this.setState({\r\n isEdit: true,\r\n kycid: kycID,\r\n kycDocTypeID: response.data.kycDocTypeID,\r\n kycDocTypeName: response.data.kycDocTypeName,\r\n uploadedDocName: response.data.uploadedDocName,\r\n kycFormValues: {\r\n kycDocTypeID: response.data.kycDocTypeID.toString(),\r\n uploadedDocName: [\r\n {\r\n uid: \"1\",\r\n name: response.data.uploadedDocName.split(\"/\")[\r\n response.data.uploadedDocName.split(\"/\").length - 1\r\n ],\r\n status: \"done\",\r\n url: response.data.uploadedDocName,\r\n },\r\n ],\r\n },\r\n });\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n getViewKYCByKYCID(kycID) {\r\n this.setState({ tableLoading: true });\r\n this.userservice.getKYCByKYCID(kycID).then((response) => {\r\n this.setState({\r\n isView: true,\r\n disabled: true,\r\n kycid: kycID,\r\n kycDocTypeID: response.data.kycDocTypeID,\r\n kycDocTypeName: response.data.kycDocTypeName,\r\n kycFormValues: {\r\n kycDocTypeID: response.data.kycDocTypeID.toString(),\r\n uploadedDocName: [\r\n {\r\n uid: \"1\",\r\n name: \"xxx.png\",\r\n status: \"done\",\r\n response: \"Server Error 500\", // custom error message to show\r\n url: response.data.uploadedDocName,\r\n },\r\n ],\r\n },\r\n });\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"KYC Doc Type\",\r\n dataIndex: \"kycDocTypeName\",\r\n key: \"kycDocTypeName\",\r\n },\r\n {\r\n title: \"Uploaded Doc Name\",\r\n dataIndex: \"uploadedDocName\",\r\n key: \"uploadedDocName\",\r\n },\r\n {\r\n title: \"Action\",\r\n key: \"action\",\r\n render: (text, record) => (\r\n \r\n this.getViewKYCByKYCID(record.kycid)}\r\n >\r\n \r\n \r\n {!this.state.isViewmode ? (\r\n this.getKYCByKYCID(record.kycid)}\r\n >\r\n \r\n \r\n ) : null}\r\n {!this.state.isViewmode ? (\r\n this.deleteKYCByKYCID(record.kycid)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n /**\r\n * Data to be displayed in table\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n *\r\n */\r\n /**\r\n * A function to modify state varibles from child\r\n */\r\n bringback = () => {\r\n this.setState({\r\n isAdd: false,\r\n isEdit: false,\r\n isView: false,\r\n disabled: false,\r\n kycid: 0,\r\n kycFormValues: null,\r\n });\r\n };\r\n render() {\r\n return this.state.isAdd || this.state.isEdit || this.state.isView ? (\r\n \r\n ) : (\r\n \r\n {/**\r\n * Page Header Component to display title and button\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n User KYC\r\n \r\n }\r\n extra={[\r\n !this.state.isViewmode ? (\r\n {\r\n this.setState({ isAdd: true });\r\n }}\r\n >\r\n Add KYC Dcoument Type\r\n \r\n ) : null,\r\n ]}\r\n className={styles.UserKYCHeader}\r\n />\r\n {/**\r\n * Please go through below documention for Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n PageHeader,\r\n Typography,\r\n Space,\r\n notification,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createuser.module.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport UserRole from \"./userrole.component\";\r\n\r\nconst { Option } = Select;\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A form as a part of create Role - Add User Role\r\n *\r\n * @props backFunction: a function to modify parent state to go back to tabular view\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 3 June 2020\r\n *\r\n * @module User\r\n */\r\nexport default class RoleAassignment extends React.Component {\r\n /**\r\n * A function to handle form submit\r\n * please check below link for more details\r\n * https://ant.design/components/form/#API\r\n *\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n fullLoading: false,\r\n assignedRoles: [],\r\n userrolemappingID: 0,\r\n isAdd: false,\r\n isView: false,\r\n disabled: false,\r\n roleID: \"\",\r\n roleName: \"\",\r\n role: [],\r\n roleList: [],\r\n showComponent: false,\r\n currentComponent: true,\r\n roleAssignmentFormValues: {},\r\n };\r\n this.handleSaveUpdateUserRole = this.handleSaveUpdateUserRole.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getRole();\r\n this.setState({\r\n userrolemappingID: this.props.userrolemappingID,\r\n roleID: this.props.roleID,\r\n roleName: this.props.roleName,\r\n isView: this.props.isView,\r\n disabled: this.props.disabled,\r\n });\r\n if (this.props.roleList !== null) {\r\n this.setState({ roleList: this.props.roleList });\r\n }\r\n }\r\n\r\n getRole = () => {\r\n this.userservice.retrieveRole().then((role) => {\r\n this.setState({ role: role.data });\r\n });\r\n };\r\n\r\n handleChange = (event) => {\r\n this.setState({ roleID: parseInt(event) });\r\n this.setState({\r\n roleName: this.state.role.filter((x) => x.value === event)[0].text,\r\n });\r\n };\r\n\r\n handleSaveUpdateUserRole = () => {\r\n const postSave = {\r\n userRoleMappingID: this.state.userrolemappingID,\r\n userID: this.props.userID,\r\n roleID: parseInt(this.state.roleAssignmentFormValues.roleID),\r\n };\r\n this.setState({ fullLoading: true });\r\n this.userservice.saveUpdateUserRoleDetails(postSave).then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Users\", response.message);\r\n this.setState({ showComponent: true });\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Users\", response.message);\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n // if(this.state.roleID!=0){\r\n // const postSave={\r\n // \"userRoleMappingID\": this.state.userrolemappingID,\r\n // \"userID\": this.props.userID,\r\n // \"roleID\": this.state.roleID\r\n // }\r\n // this.userservice.saveUpdateUserRoleDetails(postSave).then(response => {\r\n // console.log(response);\r\n // if(response.result==\"Success\")\r\n // {\r\n // openNotificationWithIcon('success', 'Role Assignment', response.message)\r\n // this.setState({showComponent:true});\r\n // }\r\n // else {\r\n // openNotificationWithIcon('error', 'Role Assignment', response.message)\r\n // }\r\n // });\r\n // }else{\r\n // openNotificationWithIcon('error', 'Role Assignment', \"Please select Role\")\r\n // }\r\n };\r\n\r\n roleAssignmentForm = React.createRef();\r\n roleAssignmentFormValidated = false;\r\n\r\n handleSubmit = () => {\r\n const roleAssignmentValidator = this.roleAssignmentForm.validateFields();\r\n\r\n Promise.allSettled([roleAssignmentValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n roleAssignmentFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdateUserRole();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const { disabled } = this.state;\r\n return (\r\n \r\n {this.state.showComponent ? (\r\n {\r\n this.setState({ assignedRoles: roles });\r\n }}\r\n />\r\n ) : (\r\n \r\n (this.roleAssignmentForm = roleAssignmentForm)\r\n }\r\n className={styles.AddKYCForm}\r\n >\r\n {/**\r\n * Please go through below documentation befor modifying\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n {this.state.userrolemappingID === 0\r\n ? \"Add Role\"\r\n : this.state.isView\r\n ? \"View Role\"\r\n : \"Edit Role\"}\r\n \r\n }\r\n backIcon={}\r\n onBack={this.props.backFunction}\r\n className={styles.AddKYCFormHeader}\r\n />\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 \r\n {!this.state.isView ? (\r\n this.handleSaveUpdateUserRole(event,this.state.roleList)}\r\n onClick={this.handleSubmit}\r\n >\r\n Save\r\n \r\n ) : null}\r\n {this.state.showComponent ? (\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","import React from \"react\";\r\nimport {\r\n Table,\r\n Space,\r\n Popconfirm,\r\n PageHeader,\r\n Typography,\r\n notification,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createuser.module.css\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport RoleAssignment from \"./roleassignment.component\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n/**\r\n * A tabular view as a part of create Role - Role Mapping, Role List\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module Role\r\n */\r\nexport default class UserRole extends React.Component {\r\n /**\r\n * State variable to determine whether to display form or table\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n assignedList: [],\r\n isAdd: false,\r\n isEdit: false,\r\n isView: false,\r\n disabled: false,\r\n userrolemappingID: 0,\r\n roleID: 0,\r\n roleList: [],\r\n roleName: \"\",\r\n roleAssignmentFormValues: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getUserRoleDetails(this.props.userID);\r\n }\r\n\r\n getUserRoleDetails = (userID) => {\r\n this.setState({ tableLoading: true });\r\n this.userservice.getUserRoleDetails(userID).then((response) => {\r\n let assignedList = response.data.map((x) => parseInt(x.roleID));\r\n this.setState({ roleList: response.data, assignedList: assignedList });\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n deleteRoleByRoleID(userrolemappingID) {\r\n this.userservice.deleteRoleByRoleID(userrolemappingID).then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Users\", response.message);\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Users\", response.message);\r\n }\r\n this.getUserRoleDetails(this.props.userID);\r\n });\r\n }\r\n\r\n getUserRoleByID(userrolemappingID) {\r\n this.userservice.getUserRoleByID(userrolemappingID).then((response) => {\r\n this.setState({\r\n isEdit: true,\r\n userrolemappingID: userrolemappingID,\r\n roleID: response.data.roleID,\r\n roleName: response.data.roleName,\r\n roleAssignmentFormValues: {\r\n roleID: response.data.roleID.toString(),\r\n },\r\n });\r\n });\r\n }\r\n\r\n getViewUserRoleByID(userrolemappingID) {\r\n this.userservice.getUserRoleByID(userrolemappingID).then((response) => {\r\n this.setState({\r\n isView: true,\r\n disabled: true,\r\n userrolemappingID: userrolemappingID,\r\n roleID: response.data.roleID,\r\n roleName: response.data.roleName,\r\n roleAssignmentFormValues: {\r\n roleID: response.data.roleID.toString(),\r\n },\r\n });\r\n });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Role\",\r\n dataIndex: \"roleName\",\r\n key: \"roleNamr\",\r\n },\r\n {\r\n title: \"Action\",\r\n key: \"action\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getViewUserRoleByID(record.userRoleMappingID)\r\n }\r\n >\r\n \r\n \r\n {!this.props.isViewmode ? (\r\n \r\n this.getUserRoleByID(record.userRoleMappingID)\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n {!this.props.isViewmode ? (\r\n \r\n this.deleteRoleByRoleID(record.userRoleMappingID)\r\n }\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n /**\r\n * Data to be displayed in table\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n *\r\n */\r\n /**\r\n * A function to modify state varibles from child\r\n */\r\n bringback = () => {\r\n this.setState({\r\n isAdd: false,\r\n isEdit: false,\r\n isView: false,\r\n disabled: false,\r\n userrolemappingID: 0,\r\n roleAssignmentFormValues: null,\r\n });\r\n };\r\n render() {\r\n return this.state.isAdd || this.state.isEdit || this.state.isView ? (\r\n \r\n ) : (\r\n \r\n {/**\r\n * Page Header Component to display title and button\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n User Role\r\n \r\n }\r\n extra={[\r\n !this.props.isViewmode ? (\r\n {\r\n this.setState({ isAdd: true });\r\n }}\r\n >\r\n Add Role\r\n \r\n ) : null,\r\n ]}\r\n className={styles.UserRoleHeader}\r\n />\r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"./createuserscreen.module.css\";\r\nimport GeneralForm from \"../../../components/Master/User/CreateUser/generalform.component\";\r\nimport UserContact from \"../../../components/Master/User/CreateUser/usercontact.component\";\r\nimport UserAssignment from \"../../../components/Master/User/CreateUser/userassignment.component\";\r\nimport UserKYC from \"../../../components/Master/User/CreateUser/userkyc.component\";\r\nimport { PageHeader, Steps, notification, Form, Spin } from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport UserService from \"../../../services/userservice\";\r\nimport UserRole from \"../../../components/Master/User/CreateUser/userrole.component\";\r\nimport Moment from \"moment\";\r\nimport ROUTES from \"../../../routes\";\r\n\r\nconst { Step } = Steps;\r\n\r\n// const openNotificationWithIcon = (type, title, message) => {\r\n// notification[type]({\r\n// message: title,\r\n// description:\r\n// message\r\n// });\r\n// };\r\n/**\r\n * User Creation Screen with steps and form (Master - Form).\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass CreateUser extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.userservice = new UserService();\r\n this.state = {\r\n isAdduser: false,\r\n mode: \"add\",\r\n isViewmode: false,\r\n fullLoading: false,\r\n activeStep: 0,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n userAssignmentFormValues: {},\r\n\r\n // General details\r\n userID: 0,\r\n companyID: 1,\r\n macid: \"Blank\",\r\n isMACID: true,\r\n isActive: true,\r\n // User Contact details\r\n userContactID: 0,\r\n geoFencing: \"\",\r\n geoFencingName: \"Polygon\",\r\n\r\n // User Assignment\r\n userAssignmentID: 0,\r\n };\r\n }\r\n\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"mini\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n componentDidMount() {\r\n if ([ROUTES.EDIT_USER, \":userID\"].join(\"/\") === this.props.match.path) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getUser(this.props.match.params.userID);\r\n } else if (\r\n [ROUTES.VIEW_USER, \":userID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.setState({ isViewmode: true });\r\n this.getUser(this.props.match.params.userID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getUser = (id) => {\r\n this.userservice.getUserDetailByUserID(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.vMUserMaster.userID === parseInt(id)\r\n ) {\r\n this.setState({ userID: response.data.vMUserMaster.userID });\r\n this.setState({\r\n userContactID: response.data.vMUserContact.userContactID,\r\n });\r\n this.setState({\r\n userAssignmentID: response.data.vMUserAssignment.userAssignmentID,\r\n });\r\n // localStorage.setItem(\r\n // \"geoFencing\",\r\n // response.data.vMUserContact.geoFencing\r\n // );\r\n\r\n this.setState({\r\n generalFormValues: {\r\n firstName: response.data.vMUserMaster.firstName,\r\n middleName: response.data.vMUserMaster.middleName,\r\n lastName: response.data.vMUserMaster.lastName,\r\n mobileNo: response.data.vMUserMaster.mobileNo,\r\n emailAddress: response.data.vMUserMaster.emailAddress,\r\n password: response.data.vMUserMaster.password,\r\n employeeType: response.data.vMUserMaster.employeeType.toString(),\r\n dob: response.data.vMUserMaster.dob\r\n ? Moment(response.data.vMUserMaster.dob, \"M/D/yyyy\")\r\n : \"\",\r\n doj: response.data.vMUserMaster.doj\r\n ? Moment(response.data.vMUserMaster.doj, \"M/D/yyyy\")\r\n : \"\",\r\n designationID:\r\n response.data.vMUserMaster.designationID === 0\r\n ? null\r\n : response.data.vMUserMaster.designationID.toString(),\r\n reportingTo:\r\n response.data.vMUserMaster.reportingTo === 0\r\n ? null\r\n : response.data.vMUserMaster.reportingTo.toString(),\r\n macid: \"Blank\",\r\n isMACID: true,\r\n isActive: response.data.vMUserMaster.isActive,\r\n },\r\n });\r\n this.setState({\r\n contactFormValues: {\r\n userContactID: response.data.vMUserContact.userContactID,\r\n homeAddress: response.data.vMUserContact.homeAddress,\r\n permanentAddress: response.data.vMUserContact.permanentAddress,\r\n isPoliceVerified: response.data.vMUserContact.isPoliceVerified,\r\n familyContactNo1: response.data.vMUserContact.familyContactNo1,\r\n familyContactNo2: response.data.vMUserContact.familyContactNo2,\r\n familyName1: response.data.vMUserContact.familyName1,\r\n familyName2: response.data.vMUserContact.familyName2,\r\n geoFencing: response.data.vMUserContact.geoFencing,\r\n geoFencingName: \"Polygon\",\r\n },\r\n });\r\n this.setState({\r\n userAssignmentFormValues: {\r\n userAssignmentID: response.data.vMUserAssignment.userAssignmentID,\r\n //added by pb\r\n factoryID: [null, undefined, \"\"].includes(\r\n response.data.vMUserAssignment.factoryID\r\n )\r\n ? undefined\r\n : response.data.vMUserAssignment.factoryID.split(\",\"),\r\n //added by pb\r\n storeID: [null, undefined, \"\"].includes(\r\n response.data.vMUserAssignment.storeID\r\n )\r\n ? undefined\r\n : response.data.vMUserAssignment.storeID.split(\",\"),\r\n //added by pb\r\n ironPersonType: [null, undefined, 0, \"\"].includes(\r\n response.data.vMUserAssignment.ironPersonType\r\n )\r\n ? // response.data.vMUserAssignment.ironPersonType === 0\r\n undefined\r\n : response.data.vMUserAssignment.ironPersonType.toString(),\r\n isIronPerson: response.data.vMUserAssignment.isIronPerson,\r\n leavePerMonth:\r\n response.data.vMUserAssignment.leavePerMonth === 0\r\n ? null\r\n : response.data.vMUserAssignment.leavePerMonth,\r\n //added by pb\r\n paymentType: [null, undefined, 0, \"\"].includes(\r\n response.data.vMUserAssignment.paymentType\r\n )\r\n ? undefined\r\n : response.data.vMUserAssignment.paymentType.toString(),\r\n //added by pb\r\n stayAt: [null, undefined, 0, \"\"].includes(\r\n response.data.vMUserAssignment.stayAt\r\n )\r\n ? // response.data.vMUserAssignment.stayAt === 0\r\n undefined\r\n : response.data.vMUserAssignment.stayAt.toString(),\r\n //added by pb\r\n workingDays: ![null, undefined, 0, \"\"].includes(\r\n response.data.vMUserAssignment.workingDays\r\n )\r\n ? response.data.vMUserAssignment.workingDays.split(\",\")\r\n : undefined,\r\n // ![null, undefined, 0, \"\"].includes(\r\n // response.data.vMUserAssignment.workingDays\r\n // )\r\n // ? response.data.vMUserAssignment.workingDays\r\n // .split(\",\")\r\n // .map(function (item) {\r\n // return parseInt(item, 10);\r\n // })\r\n // : undefined,\r\n //added by pb\r\n workingTimeFrom: ![null, undefined, \"\"].includes(\r\n response.data.vMUserAssignment.workingTimeFrom\r\n )\r\n ? Moment(response.data.vMUserAssignment.workingTimeFrom, \"h:mm a\")\r\n : null,\r\n //added by pb\r\n workingTimeTo: ![null, undefined, \"\"].includes(\r\n response.data.vMUserAssignment.workingTimeFrom\r\n )\r\n ? Moment(response.data.vMUserAssignment.workingTimeTo, \"h:mm a\")\r\n : null,\r\n comments: response.data.vMUserAssignment.comments,\r\n },\r\n });\r\n this.setState({ fullLoading: false });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get user data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleChange = (input) => (e) => {\r\n this.setState({ [input]: e.target.value });\r\n };\r\n\r\n handleSelectChange = (event, ddlList, name, text) => {\r\n this.setState({ [name]: parseInt(event) });\r\n var ddlListArray = ddlList.filter((x) => x.value === parseInt(event));\r\n if (ddlListArray !== undefined) {\r\n this.setState({ [text]: ddlListArray[0].text });\r\n }\r\n };\r\n\r\n handleMultiSelectChange = (event, name) => {\r\n this.setState({ [name]: event });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleTimeChange = (time, name) => {\r\n this.setState({ [name]: time });\r\n };\r\n\r\n handleCheckbox = (event, name) => {\r\n this.setState({ [name]: event.target.checked });\r\n };\r\n\r\n handleSaveUpdateUserMaster(event) {\r\n this.setState({ fullLoading: true });\r\n var storeList = \"\";\r\n var factoryList = \"\";\r\n // var workingDaysList = \"\";\r\n\r\n if (\r\n this.state.userAssignmentFormValues.storeID !== undefined &&\r\n this.state.userAssignmentFormValues.storeID.length > 0\r\n ) {\r\n for (\r\n var i = 0;\r\n i < this.state.userAssignmentFormValues.storeID.length;\r\n i++\r\n ) {\r\n storeList += this.state.userAssignmentFormValues.storeID[i] + \",\";\r\n }\r\n }\r\n\r\n if (\r\n this.state.userAssignmentFormValues.factoryID !== undefined &&\r\n this.state.userAssignmentFormValues.factoryID.length > 0\r\n ) {\r\n for (\r\n var j = 0;\r\n j < this.state.userAssignmentFormValues.factoryID.length;\r\n j++\r\n ) {\r\n factoryList += this.state.userAssignmentFormValues.factoryID[j] + \",\";\r\n }\r\n }\r\n\r\n // if (this.state.userAssignmentFormValues.workingDays.length > 0) {\r\n // for (\r\n // var k = 0;\r\n // k < this.state.userAssignmentFormValues.workingDays.length;\r\n // k++\r\n // ) {\r\n // workingDaysList +=\r\n // this.state.userAssignmentFormValues.workingDays[k] + \",\";\r\n // }\r\n // }\r\n const postSave = {\r\n userID: this.state.userID,\r\n companyID: 1,\r\n firstName: this.state.generalFormValues.firstName,\r\n middleName: this.state.generalFormValues.middleName,\r\n lastName: this.state.generalFormValues.lastName,\r\n mobileNo: this.state.generalFormValues.mobileNo,\r\n emailAddress: this.state.generalFormValues.emailAddress,\r\n password: this.state.generalFormValues.password,\r\n employeeType: parseInt(this.state.generalFormValues.employeeType),\r\n dob: this.state.generalFormValues.dob\r\n ? this.state.generalFormValues.dob.format(\"yyyy-MM-DD\")\r\n : null,\r\n doj: this.state.generalFormValues.doj\r\n ? this.state.generalFormValues.doj.format(\"yyyy-MM-DD\")\r\n : null,\r\n designationID: parseInt(this.state.generalFormValues.designationID),\r\n reportingTo: parseInt(this.state.generalFormValues.reportingTo),\r\n macid: \"Blank\",\r\n isMACID: true,\r\n isActive: true,\r\n\r\n vMUserSaveContact: {\r\n userContactID: this.state.userContactID,\r\n homeAddress: this.state.contactFormValues.homeAddress,\r\n permanentAddress: this.state.contactFormValues.permanentAddress,\r\n isPoliceVerified: this.state.contactFormValues.isPoliceVerified,\r\n familyName1: this.state.contactFormValues.familyName1,\r\n familyContactNo1: this.state.contactFormValues.familyContactNo1,\r\n familyName2: this.state.contactFormValues.familyName2,\r\n familyContactNo2: this.state.contactFormValues.familyContactNo2,\r\n geoFencing: null,\r\n geoFencingName: null,\r\n },\r\n\r\n vMUserSaveAssignment: {\r\n userAssignmentID: this.state.userAssignmentID,\r\n factoryID: factoryList.substring(0, factoryList.length - 1),\r\n storeID: storeList.substring(0, storeList.length - 1),\r\n ironPersonType: parseInt(\r\n this.state.userAssignmentFormValues.ironPersonType\r\n ),\r\n isIronPerson: this.state.userAssignmentFormValues.isIronPerson,\r\n leavePerMonth: parseInt(\r\n this.state.userAssignmentFormValues.leavePerMonth\r\n ),\r\n paymentType: parseInt(this.state.userAssignmentFormValues.paymentType),\r\n stayAt: parseInt(this.state.userAssignmentFormValues.stayAt),\r\n workingDays: this.state.userAssignmentFormValues.workingDays.join(\",\"),\r\n //workingDaysList.substring(0, workingDaysList.length - 1),\r\n workingTimeFrom: this.state.userAssignmentFormValues.workingTimeFrom.format(\r\n \"HH:mm\"\r\n ),\r\n workingTimeTo: this.state.userAssignmentFormValues.workingTimeTo.format(\r\n \"HH:mm\"\r\n ),\r\n comments: this.state.userAssignmentFormValues.comments,\r\n },\r\n };\r\n this.userservice.saveUpdateUserMaster(postSave).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Users\",\r\n description: \"Data for user saved successfully\",\r\n duration: 1.5,\r\n onClose: () => {\r\n this.setState({ fullLoading: false });\r\n this.props.history.push(\r\n [ROUTES.EDIT_USER, response.data.userID].join(\"/\")\r\n );\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: response.message,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n\r\n // if(response.result==\"Success\")\r\n // {\r\n // openNotificationWithIcon('success', 'User Master', response.message)\r\n // this.setState({isAdduser:true});\r\n // }\r\n // else {\r\n // openNotificationWithIcon('error', 'User Master', response.message)\r\n // }\r\n });\r\n }\r\n\r\n generalForm = React.createRef();\r\n userContact = React.createRef();\r\n userAssignment = React.createRef();\r\n\r\n generalFormValidated = false;\r\n contactFormValidated = false;\r\n userAssignmentFormValidated = false;\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n const contactValidator = this.userContact.current.validateFields();\r\n const userAssignmentValidator = this.userAssignment.current.validateFields();\r\n\r\n Promise.allSettled([\r\n generalValidator,\r\n contactValidator,\r\n userAssignmentValidator,\r\n ]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[1].status === \"rejected\") {\r\n this.setState({ activeStep: 1 });\r\n } else if (responses[2].status === \"rejected\") {\r\n this.setState({ activeStep: 2 });\r\n } else if (\r\n responses[0].status === \"fulfilled\" &&\r\n responses[1].status === \"fulfilled\" &&\r\n responses[2].status === \"fulfilled\"\r\n ) {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n contactFormValues: responses[1].value,\r\n userAssignmentFormValues: responses[2].value,\r\n },\r\n () => {\r\n this.handleSaveUpdateUserMaster();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * General Tab Form Submit Handler\r\n * Please go through https://ant.design/components/form/#API for more information\r\n *\r\n */\r\n\r\n render() {\r\n const { data } = this.state;\r\n\r\n //const{userMasterData,isEditmode,isViewmode,disabled}=this.props;\r\n return (\r\n \r\n \r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"User\",\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n \r\n {this.state.mode === \"edit\" || this.state.mode === \"view\" ? (\r\n \r\n ) : null}\r\n {this.state.mode === \"edit\" || this.state.mode === \"view\" ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n nextFunction={() => this.setState({ activeStep: 1 })}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n />\r\n\r\n \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n nextFunction={() => this.setState({ activeStep: 2 })}\r\n isActive={this.state.activeStep === 1}\r\n instance={this.userContact}\r\n mode={this.state.mode}\r\n />\r\n\r\n \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n nextFunction={this.handleSubmit}\r\n isActive={this.state.activeStep === 2}\r\n instance={this.userAssignment}\r\n mode={this.state.mode}\r\n />\r\n {this.state.activeStep === 3 ? (\r\n \r\n ) : null}\r\n\r\n {this.state.activeStep === 4 ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(CreateUser);\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Form,\r\n Space,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Radio\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport styles from \"./userlistscreen.module.css\";\r\nimport CreateUser from \"./createuser.screen\";\r\nimport UserService from \"../../../services/userservice\";\r\nimport Moment from \"moment\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\n// const { Option } = Select;\r\n/**\r\n * User listing screen.\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass UserList extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.userservice = new UserService();\r\n this.state = {\r\n tableLoading: true,\r\n isEditmode: false,\r\n isViewmode: false,\r\n disabled: false,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n isAdd: false,\r\n userList: [],\r\n userMasterData: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n loading: false,\r\n search: null,\r\n roleAssigned: 0,\r\n roleNotAssigned: 0\r\n };\r\n this.getUserMasterByfilter = this.getUserMasterByfilter.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.getUserMasterDetails({\r\n roleNotAssigned: this.state.roleNotAssigned,\r\n roleAssigned: this.state.roleAssigned,\r\n userID: this.state.userID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.USERS\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.getUserMasterDetails({\r\n roleNotAssigned: this.state.roleNotAssigned,\r\n roleAssigned: this.state.roleAssigned,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n handleRadioChange = (e) => {\r\n // console.log('radio checked', e.target.value);\r\n const roleNotAssignedValue = e.target.value === 1 ? 1 : 0;\r\n const roleAssignedValue = e.target.value === 2 ? 1 : 0;\r\n\r\n this.setState({\r\n roleAssigned: roleAssignedValue,\r\n roleNotAssigned: roleNotAssignedValue,\r\n roleRadio: e.target.value\r\n }, () => {\r\n this.getUserMasterDetails({\r\n roleNotAssigned: this.state.roleNotAssigned,\r\n roleAssigned: this.state.roleAssigned,\r\n userID: this.state.userID,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n });\r\n };\r\n\r\n getUserMasterDetails(params = {}) {\r\n this.setState({ tableLoading: true });\r\n params = { ...params, CommonSearch: this.state.search };\r\n this.userservice.retrieveUserMaster(params).then((userList) => {\r\n localStorage.setItem(\"geoFencing\", \"\");\r\n if (userList.statusCode === 200) {\r\n if (\r\n userList.length !== 0 &&\r\n userList.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.getUserMasterDetails({\r\n roleAssigned:this.state.roleAssigned,\r\n roleNotAssigned : this.state.roleNotAssigned,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination\r\n });\r\n }\r\n this.setState({\r\n userList: userList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: userList.data.length > 0 ? userList.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: userList.message\r\n ? userList.message\r\n : \"Unable to get list of users\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n getUserMasterByfilter(pagination) {\r\n const params = {\r\n firstName: document.getElementById(\"firstName\").value,\r\n middleName: document.getElementById(\"middleName\").value,\r\n lastName: document.getElementById(\"lastName\").value,\r\n mobileNo: document.getElementById(\"mobileNo\").value,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n };\r\n\r\n this.userservice.retrieveUserMasterByfilter(params).then((userList) => {\r\n this.setState({\r\n userList: userList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: userList.data[0].totalRecords,\r\n },\r\n });\r\n });\r\n }\r\n\r\n // deleteUserByUserID(id){\r\n // this.userservice.deleteUserByUserID(id).then(response => {\r\n // console.log(response);\r\n // alert(response.message);\r\n // this.getUserMasterDetails();\r\n // });\r\n // }\r\n\r\n getUserDetailByUserID(id) {\r\n this.userservice.getUserDetailByUserID(id).then((userMasterData) => {\r\n if (userMasterData.result === \"Success\") {\r\n this.setState({ userMasterData: userMasterData.data });\r\n this.setState({ isEditmode: true });\r\n } else {\r\n alert(userMasterData.message);\r\n }\r\n });\r\n }\r\n\r\n getUserViewDetailByUserID(id) {\r\n this.userservice.getUserDetailByUserID(id).then((userMasterData) => {\r\n if (userMasterData.result === \"Success\") {\r\n this.setState({\r\n userMasterData: userMasterData.data,\r\n isViewmode: true,\r\n disabled: true,\r\n });\r\n } else {\r\n alert(userMasterData.message);\r\n }\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value });\r\n this.getUserMasterDetails({\r\n userID: this.state.userID,\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n bringback = () => {\r\n this.setState({ isAdd: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"First Name\",\r\n dataIndex: \"firstName\",\r\n key: \"firstName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Last Name\",\r\n dataIndex: \"lastName\",\r\n key: \"lastName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Mobile No\",\r\n dataIndex: \"mobileNo\",\r\n key: \"mobileNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Date of Birth\",\r\n dataIndex: \"dob\",\r\n key: \"dob\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Employee Type\",\r\n dataIndex: \"employeeTypeName\",\r\n key: \"employeeTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Designation\",\r\n dataIndex: \"designationName\",\r\n key: \"designationName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Reporting To\",\r\n dataIndex: \"reportingToName\",\r\n key: \"reportingToName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 * Variables to be used in table for selection property\r\n * kindly go through\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#components-table-demo-row-selection-and-operation\r\n * https://ant.design/components/table/#components-table-demo-row-selection\r\n */\r\n // selectionType = \"checkbox\";\r\n // rowSelection = {\r\n // onChange: (selectedRowKeys, selectedRows) => {\r\n // console.log(\r\n // `selectedRowKeys: ${selectedRowKeys}`,\r\n // \"selectedRows: \",\r\n // selectedRows\r\n // );\r\n // },\r\n // getCheckboxProps: (record) => ({\r\n // disabled: record.firstName === \"Disabled User\", // Column configuration not to be checked\r\n // name: record.firstName,\r\n // }),\r\n // };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n render() {\r\n const { userMasterData, isEditmode, pagination, isViewmode, disabled } =\r\n this.state;\r\n const userList = this.state.userList;\r\n const userLists = userList.map((userList) => ({\r\n userID: userList.userID,\r\n firstName: userList.firstName,\r\n lastName: userList.lastName,\r\n mobileNo: userList.mobileNo,\r\n employeeTypeName: userList.employeeTypeName,\r\n designationName: userList.designationName,\r\n reportingToName: userList.reportingToName,\r\n dob: [null, \"\", undefined].includes(userList.dob)\r\n ? \"\"\r\n : Moment(userList.dob).format(\"DD-MM-YYYY\"),\r\n }));\r\n return this.state.isAdd ||\r\n this.state.isEditmode ||\r\n this.state.isViewmode ? (\r\n \r\n ) : (\r\n \r\n \r\n Role Not Assigned\r\n Role Assigned\r\n ,\r\n\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.props.history.push(ROUTES.ADD_USER)}\r\n key=\"2\"\r\n //onClick={() => this.setState({ showAddPopup: true,isAdd:true })}\r\n >\r\n Add User\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n\r\n \r\n
null}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(UserList);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass CityService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async StateListItems() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GETSTATELIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStateList.getDropdown()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.StateListItems();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async removeItems(cityID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.REMOVE_CITY_MASTER });\r\n let itemArray = [];\r\n let ID = \"?CityIds=\" + cityID;\r\n await myApi.endpoints.DeleteCityByCityID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(cityID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_CITY_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateCityMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.CITY_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetCityMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default CityService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport CityService from \"../../../services/cityservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\n\r\n// let cityname = \"\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/** const variable for pagination\r\n * const getRandomuserParams = params => {\r\n * return {\r\n * cityID: params.cityID,\r\n * pageIndex: params.pagination.current,\r\n * pageSize: params.pagination.pageSize,\r\n * ...params,\r\n * };\r\n};*/\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A city master screen which holds grid view for master screens and form inside a modal\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 4 June 2020\r\n */\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.CityService = new CityService();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n cityItems: [],\r\n cityID: 0,\r\n cityName: \"\",\r\n stateName: [],\r\n stateListOptions: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n // isRenderComponent: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.CITY_MASTER\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n\r\n // if (!res[0].isView) {\r\n // window.location.href = \"/\";\r\n // notification[\"error\"]({\r\n // message: \"City Master\",\r\n // description: \"User don't have the access of this screen\",\r\n // });\r\n // window.location.href = \"/store/dashboard\";\r\n // this.props.history.goBack();\r\n // }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n // shouldComponentUpdate() {\r\n // return this.state.isRenderComponent ?? false;\r\n // }\r\n\r\n columns = [\r\n //{\r\n // title: 'CityID',\r\n // dataIndex: 'cityID',\r\n // key: 'cityID',\r\n // },\r\n {\r\n title: \"City Name\",\r\n dataIndex: \"cityName\",\r\n key: \"cityName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"State Name\",\r\n dataIndex: \"stateName\",\r\n key: \"stateName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n cityID: record.cityID,\r\n cityName: record.cityName,\r\n stateName: record.stateName,\r\n stateID: record.stateID,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n cityID: record.cityID,\r\n cityName: record.cityName,\r\n stateName: record.stateName,\r\n stateID: record.stateID,\r\n // }, () => cityname = record.cityName)}\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.cityID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n cityID: this.state.cityID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.DropDownStateList();\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n cityID: this.state.cityID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n cityID: this.state.cityID,\r\n\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.CityService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n cityID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n cityItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n // isRenderComponent: true,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"City Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of city data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (cityID) => {\r\n if (cityID === \"\" || cityID === null || cityID === undefined) {\r\n // openNotificationWithIcon(\"error\", \"City Master\", \"\");\r\n notification[\"error\"]({\r\n message: \"City Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.CityService.removeItems(cityID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"City Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"City Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n cityID: parseInt(this.state.cityID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"City Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"City Master\",\r\n description: items.message,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n //function for getting the data from server call into dropdown list\r\n DropDownStateList = () => {\r\n this.CityService.StateListItems().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n stateListOptions: items.data,\r\n // isRenderComponent: false,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"City Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of state data\",\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n cityID: parseInt(this.state.cityID),\r\n stateID: parseInt(this.state.stateID),\r\n cityName: this.state.cityName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.CityService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"City Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"City Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n cityID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: \"City Master\",\r\n description: items.message,\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for changing/updating the city name\r\n handleCityName = (e) => {\r\n let cityNm = e.target.value;\r\n this.setState({ cityName: cityNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n cityID: 0,\r\n cityName: \"\",\r\n stateID: \"\",\r\n stateName: [],\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n //function for filtering out the values inside list\r\n RestoreDDlValue = (e) => {\r\n var cityArray = this.state.stateListOptions.filter((x) => x.value === e);\r\n // let c = cityArray[0].text;\r\n if (cityArray !== undefined) {\r\n this.setState({\r\n stateID: cityArray[0].value,\r\n stateName: cityArray[0].text,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { cityName, stateName, pagination, loading } = this.state;\r\n const cityItems = this.state.cityItems;\r\n const listItems = cityItems.map((item, index) => ({\r\n key: item.cityID,\r\n cityID: item.cityID,\r\n stateID: item.stateID,\r\n stateName: item.stateName,\r\n cityName: item.cityName,\r\n isActive: item.isActive.toString(),\r\n createdBy: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add City\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n cityItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {/* {this.state.stateListOptions.length !== 0? */}\r\n {\r\n this.state.stateListOptions.map((state) => {\r\n return state.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n // :null\r\n // }\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport CityMaster from \"../../../components/Master/City/citymaster.component\"\r\n\r\nexport default class CityScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass StateService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getStateDetailByStateId(StateID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STATE_DETAIL_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?StateID=\" + StateID;\r\n await myApi.endpoints.GetStateDetailByStateID.getById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStateDetailByStateId(StateID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async removeItems(stateID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_STATE_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?StateIds=\" + stateID;\r\n await myApi.endpoints.DeleteStateByStateID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(stateID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_STATE_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.SaveUpdateStateMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.STATE_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.GetStateMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default StateService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport StateService from \"../../../services/stateservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.StateService = new StateService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n stateItems: [],\r\n stateID: 0,\r\n stateName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STATE_MASTER\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: 'StateID',\r\n // dataIndex: 'stateID',\r\n // key: 'stateID',\r\n // },\r\n {\r\n title: \"State Name\",\r\n dataIndex: \"stateName\",\r\n key: \"stateName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n stateID: record.stateID,\r\n stateName: record.stateName,\r\n isEnabled: true,\r\n isVisible: true,\r\n showAddPopup: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n stateID: record.stateID,\r\n stateName: record.stateName,\r\n showAddPopup: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.stateID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n stateID: this.state.stateID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n stateID: this.state.stateID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n stateID: this.state.stateID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.StateService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n stateID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n stateItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"State Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of state data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (stateID) => {\r\n if (stateID === \"\" || stateID === null || stateID === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"State Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"State Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.StateService.removeItems(stateID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"State Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"State Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n stateID: parseInt(this.state.stateID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"State Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"State Master\",\r\n description: items.message,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n stateID: this.state.stateID,\r\n stateName: this.state.stateName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.StateService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"State Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"State Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n stateID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"State Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"State Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for changing/updating the city name\r\n handleStateName = (e) => {\r\n let statenm = e.target.value;\r\n this.setState({ stateName: statenm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n stateID: 0,\r\n stateName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { stateName, pagination, loading } = this.state;\r\n const stateItems = this.state.stateItems;\r\n const listItems = stateItems.map((item, index) => ({\r\n key: item.stateID,\r\n stateID: item.stateID,\r\n stateName: item.stateName,\r\n isActive: item.isActive.toString(),\r\n createdBy: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add State\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n stateItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport StateMaster from \"../../../components/Master/State/statemaster.component\"\r\nexport default class StateScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass DesignationService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(designationID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_DESIGNATION_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?DesignationIds=\" + designationID;\r\n await myApi.endpoints.DeleteDesignationByDesignationID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(designationID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_DESIGNATION_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateDesignationMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DESIGNATION_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDesignationMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default DesignationService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport DesignationService from \"../../../services/designationservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.DesignationService = new DesignationService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n designationItems: [],\r\n designationID: 0,\r\n designationName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.DESIGNATION\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: 'DesignationID',\r\n // dataIndex: 'designationID',\r\n // key: 'designationID',\r\n // },\r\n {\r\n title: \"Designation Name\",\r\n dataIndex: \"designationName\",\r\n key: \"designationName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n designationID: record.designationID,\r\n designationName: record.designationName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n designationID: record.designationID,\r\n designationName: record.designationName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.designationID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n designationID: this.state.designationID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n designationID: this.state.designationID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n designationID: this.state.designationID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field === undefined ? \"\" : sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.DesignationService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n designationID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n designationItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Designation Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of designation data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (designationID) => {\r\n if (\r\n designationID === \"\" ||\r\n designationID === null ||\r\n designationID === undefined\r\n ) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Designation Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Designation Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.DesignationService.removeItems(designationID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Designation Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Designation Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n designationID: parseInt(this.state.designationID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Designation Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"Designation Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n designationID: this.state.designationID,\r\n designationName: this.state.designationName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.DesignationService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Designation Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Designation Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n designationID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Designation Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Designation Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for changing/updating the city name\r\n handleDesignationName = (e) => {\r\n let desigNm = e.target.value;\r\n this.setState({ designationName: desigNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n designationID: 0,\r\n designationName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { designationName, pagination, loading } = this.state;\r\n const designationItems = this.state.designationItems;\r\n const listItems = designationItems.map((item, index) => ({\r\n key: item.designationID,\r\n designationID: item.designationID,\r\n designationName: item.designationName,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Designation\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n designationItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport DesignationMaster from \"../../../components/Master/Designation/designationmaster.component\"\r\n\r\nexport default class DesignationScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass BrandService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(brandID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_BRAND_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?BrandIds=\" + brandID;\r\n\r\n await myApi.endpoints.DeleteBrandByBrandID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(brandID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_BRAND_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.SaveUpdateBrandMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.BRAND_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.GetBrandMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default BrandService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport BrandService from \"../../../services/brandservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.BrandService = new BrandService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n brandItems: [],\r\n brandID: 0,\r\n brandName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n loading: true,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.GARMENT_BRAND\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"BrandID\",\r\n // dataIndex: \"brandID\",\r\n // key: \"brandID\",\r\n // },\r\n {\r\n title: \"Brand Name\",\r\n dataIndex: \"brandName\",\r\n key: \"brandName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n brandID: record.brandID,\r\n brandName: record.brandName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n brandID: record.brandID,\r\n brandName: record.brandName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.brandID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n brandID: this.state.brandID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n brandID: 0,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n brandID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.BrandService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n brandID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n brandItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Garment Brand Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of brand data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (brandID) => {\r\n if (brandID === \"\" || brandID === null || brandID === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Garment Brand\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Garment Brand Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.BrandService.removeItems(brandID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Brand\", items.message);\r\n notification[\"success\"]({\r\n message: \"Garment Brand Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n brandID: parseInt(this.state.brandID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Brand\", items.message);\r\n notification[\"error\"]({\r\n message: \"Garment Brand Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n brandID: this.state.brandID,\r\n brandName: this.state.brandName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.BrandService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Brand\", items.message);\r\n notification[\"success\"]({\r\n message: \"Garment Brand Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n brandID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Brand\", items.message);\r\n notification[\"error\"]({\r\n message: \"Garment Brand Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for changing/updating the city name\r\n handleBrandName = (e) => {\r\n let brandNm = e.target.value;\r\n this.setState({ brandName: brandNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n brandID: 0,\r\n brandName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { brandName, pagination, loading } = this.state;\r\n const brandItems = this.state.brandItems;\r\n const listItems = brandItems.map((item, index) => ({\r\n key: item.brandID,\r\n brandID: item.brandID,\r\n brandName: item.brandName,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Garment Brand\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n brandItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport BrandMaster from \"../../../components/Master/Brand/brandmaster.component\"\r\n\r\nexport default class BrandScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass SizeService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(sizeID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_SIZE_BY_ID });\r\n let itemArray = [];\r\n\r\n let ID = \"?SizeIds=\" + sizeID;\r\n await myApi.endpoints.DeleteSizeBySizeID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(sizeID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_SIZE_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.SaveUpdateSizeMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SIZE_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.GetSizeMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default SizeService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport SizeService from \"../../../services/sizeservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.SizeService = new SizeService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n sizeItems: [],\r\n sizeID: 0,\r\n sizeName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.GARMENT_SIZE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"SizeID\",\r\n // dataIndex: \"sizeID\",\r\n // key: \"sizeID\",\r\n // },\r\n {\r\n title: \"Size Name\",\r\n dataIndex: \"sizeName\",\r\n key: \"sizeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n sizeID: record.sizeID,\r\n sizeName: record.sizeName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n sizeID: record.sizeID,\r\n sizeName: record.sizeName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.sizeID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n sizeID: this.state.sizeID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n sizeID: 0,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n sizeID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.SizeService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n sizeID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n sizeItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Garment Size Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of size data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (sizeID) => {\r\n if (sizeID === \"\" || sizeID === null || sizeID === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Garment Size\",\r\n // \"\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Garment Size Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ modalLoading: true });\r\n this.SizeService.removeItems(sizeID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Size\", items.message);\r\n notification[\"success\"]({\r\n message: \"Garment Size Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n sizeID: parseInt(this.state.sizeID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Size\", items.message);\r\n notification[\"error\"]({\r\n message: \"Garment Size Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n sizeID: this.state.sizeID,\r\n sizeName: this.state.sizeName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.SizeService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Size\", items.message);\r\n notification[\"success\"]({\r\n message: \"Garment Size Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n sizeID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Size\", items.message);\r\n notification[\"error\"]({\r\n message: \"Garment Size Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n //function for changing/updating the size name\r\n handleSizeName = (e) => {\r\n let sizeNm = e.target.value;\r\n this.setState({ sizeName: sizeNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n sizeID: 0,\r\n sizeName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { sizeName, pagination, loading } = this.state;\r\n const sizeItems = this.state.sizeItems;\r\n const listItems = sizeItems.map((item, index) => ({\r\n key: item.sizeID,\r\n sizeID: item.sizeID,\r\n sizeName: item.sizeName,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Garment Size\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n sizeItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport SizeMaster from \"../../../components/Master/Size/sizemaster.component\"\r\nexport default class SizeScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass KYCDocTypeService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(kycDocTypeID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_KYCDOC_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?KycDocTypeIds=\" + kycDocTypeID;\r\n await myApi.endpoints.DeleteKYCDocTypeByID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(kycDocTypeID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_KYCDOC_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateKYCDocTypeMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.KYCDOC_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetKYCDocTypeMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default KYCDocTypeService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport KYCDocTypeService from \"../../../services/kycdoctypeservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { RegexLetters, MessageLetters } from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.KYCDocTypeService = new KYCDocTypeService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n kycItems: [],\r\n kycDocTypeID: 0,\r\n docName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.KYC_DOC_TYPE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"DocTypeID\",\r\n // dataIndex: \"kycDocTypeID\",\r\n // key: \"kycDocTypeID\",\r\n // },\r\n {\r\n title: \"Document Name\",\r\n dataIndex: \"docName\",\r\n key: \"docName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n kycDocTypeID: record.kycDocTypeID,\r\n docName: record.docName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n kycDocTypeID: record.kycDocTypeID,\r\n docName: record.docName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.kycDocTypeID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n kycDocTypeID: this.state.sizeID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n kycDocTypeID: 0,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n kycDocTypeID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.KYCDocTypeService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n kycDocTypeID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n kycItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"KYC Document Type\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of kyc document data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (kycDocTypeID) => {\r\n if (\r\n kycDocTypeID === \"\" ||\r\n kycDocTypeID === null ||\r\n kycDocTypeID === undefined\r\n ) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"KYC Document Type Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"KYC Document Type\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.KYCDocTypeService.removeItems(kycDocTypeID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"KYC Document Type Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"KYC Document Type\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n kycDocTypeID: parseInt(this.state.kycDocTypeID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"KYC Document Type Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"KYC Document Type\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n kycDocTypeID: this.state.kycDocTypeID,\r\n docName: this.state.docName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.KYCDocTypeService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"KYC Document Type Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"KYC Document Type\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n kycDocTypeID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"KYC Document Type Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"KYC Document Type\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n //function for changing/updating the Document name\r\n handleDocumentName = (e) => {\r\n let kycdocNm = e.target.value;\r\n this.setState({ docName: kycdocNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n kycDocTypeID: 0,\r\n docName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { docName, pagination, loading } = this.state;\r\n const kycItems = this.state.kycItems;\r\n const listItems = kycItems.map((item, index) => ({\r\n key: item.kycDocTypeID,\r\n kycDocTypeID: item.kycDocTypeID,\r\n docName: item.docName,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add KYC Document Type\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete === true ? (\r\n kycItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport KYCDocTypeMaster from \"../../../components/Master/KYCDocType/kycdoctypemaster.component\"\r\nexport default class KYCDocTypeScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass ServiceItem {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(serviceID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_SERVICE_BY_ID });\r\n let itemArray = [];\r\n\r\n let ID = \"?ServiceIds=\" + serviceID;\r\n await myApi.endpoints.DeleteServiceByServiceID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(serviceID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(formData) {\r\n \r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_SERVICE_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.SaveUpdateServiceMaster.create(formData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(formData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SERVICE_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.GetServiceMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GarmentUOMListItems() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_GARMENTUOM_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetGarmentUOMList.getDropdown()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GarmentUOMListItems();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default ServiceItem;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n TextArea,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n Checkbox,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n Upload,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faFileExcel,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport ServiceItem from \"../../../services/serviceservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Configuration from \"../../../shared/configuration\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ServiceItem = new ServiceItem();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.config = new Configuration();\r\n this.state = {\r\n modalLoading: false,\r\n serviceItems: [],\r\n serviceID: 0,\r\n serviceName: \"\",\r\n prefix: \"\",\r\n isAddOn: false,\r\n showInApp: false,\r\n showInWeb: false,\r\n description: \"\",\r\n hsnCode: \"\",\r\n title: \"\",\r\n uom: [],\r\n serviceImage: \"\",\r\n fileList: [],\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n excelFile: ,\r\n excelButtonLoading: false,\r\n garmentUOMListOptions: [],\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.SERVICE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n DropDownGarmentUOMList = () => {\r\n this.ServiceItem.GarmentUOMListItems().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ garmentUOMListOptions: items.data });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of uom data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Service ID\",\r\n dataIndex: \"serviceID\",\r\n key: \"serviceID\",\r\n },\r\n {\r\n title: \"Service Name\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Prefix\",\r\n dataIndex: \"prefix\",\r\n key: \"prefix\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Is Add On\",\r\n dataIndex: \"isAddOn\",\r\n key: \"isAddOn\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Title\",\r\n dataIndex: \"title\",\r\n key: \"title\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n\r\n {\r\n title: \"Description\",\r\n dataIndex: \"description\",\r\n key: \"description\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: \"HSN Code\",\r\n dataIndex: \"hsnCode\",\r\n key: \"hsnCode\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Service Image\",\r\n dataIndex: \"serviceImage\",\r\n key: \"serviceImage\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address.split(this.config.SERVICE_MASTER_IMAGE_URL)}\r\n \r\n ),\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n prefix: record.prefix,\r\n isAddOn: record.isAddOn === \"false\" ? 0 : 1,\r\n // showInApp: record.showInApp === \"false\" ? \"false\" : \"true\",\r\n // showInWeb: record.showInWeb === \"false\" ? \"false\" : \"true\",\r\n showInApp: record.showInApp === \"false\" ? 0 : 1,\r\n showInWeb: record.showInWeb === \"false\" ? 0 : 1,\r\n description: record.description,\r\n hsnCode: record.hsnCode,\r\n title: record.title,\r\n serviceImage: record.serviceImage,\r\n isEnabled: true,\r\n isVisible: true,\r\n uom: record.uom.toString(),\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n {/* {console.log(\"ressss->\",record)} */}\r\n \r\n this.setState({\r\n showAddPopup: true,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n prefix: record.prefix,\r\n isAddOn: record.isAddOn === \"false\" ? 0 : 1,\r\n // showInApp: record.showInApp === \"false\" ? \"false\" : \"true\",\r\n // showInWeb: record.showInWeb === \"false\" ? \"false\" : \"true\",\r\n showInApp: record.showInApp === \"false\" ? 0 : 1,\r\n showInWeb: record.showInWeb === \"false\" ? 0 : 1,\r\n description: record.description,\r\n hsnCode: record.hsnCode,\r\n title: record.title,\r\n serviceImage: record.serviceImage,\r\n uom: record.uom.toString(),\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.serviceID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n serviceID: this.state.serviceID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.DropDownGarmentUOMList();\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n serviceID: this.state.serviceID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n serviceID: this.state.serviceID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.ServiceItem.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n serviceID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n serviceItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of service data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (serviceID) => {\r\n if (serviceID === \"\" || serviceID === null || serviceID === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Service Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.ServiceItem.removeItems(serviceID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Service Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Service Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n serviceID: parseInt(this.state.serviceID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Service Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n oldServiceImageFromUrl = () => {\r\n let str1 = \"\";\r\n if (![undefined, null, \"\"].includes(this.state.serviceImage)) {\r\n let str = this.state.serviceImage.split(\"/\");\r\n str1 = str[str.length - 1];\r\n }\r\n return str1;\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var fileData = this.state.fileList;\r\n const formData = new FormData();\r\n\r\n formData.append(\r\n \"serviceImage\",\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n formData.append(\"serviceID\", this.state.serviceID);\r\n formData.append(\"serviceName\", this.state.serviceName);\r\n formData.append(\"prefix\", this.state.prefix);\r\n formData.append(\"isAddOn\", this.state.isAddOn === false ? false : true);\r\n formData.append(\"showInApp\", this.state.showInApp === false ? false : true);\r\n formData.append(\"showInWeb\", this.state.showInWeb === false ? false : true);\r\n formData.append(\"description\", this.state.description);\r\n formData.append(\"hsnCode\", this.state.hsnCode);\r\n formData.append(\"title\", this.state.title);\r\n formData.append(\"isNewImgUploaded\", true);\r\n formData.append(\"oldServiceImg\", this.oldServiceImageFromUrl());\r\n formData.append(\"uom\", this.state.uom);\r\n\r\n // var postData = {\r\n // serviceID: this.state.serviceID,\r\n // serviceName: this.state.serviceName,\r\n // prefix: this.state.prefix,\r\n // isAddOn: this.state.isAddOn === false ? false : true,\r\n // description: this.state.description,\r\n // hsnCode: this.state.hsnCode,\r\n // title: this.state.title,\r\n // isActive: true,\r\n // };\r\n\r\n for (var value of formData.values()) {\r\n // console.log(value);\r\n }\r\n this.setState({ modalLoading: true });\r\n this.ServiceItem.insertUpdateItems(formData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Service Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Service Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n serviceID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Service Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n //function for changing/updating the service name\r\n handleServiceName = (e) => {\r\n let serviceNm = e.target.value;\r\n this.setState({ serviceName: serviceNm });\r\n };\r\n handleHSNCodeChange = (e) => {\r\n this.setState({ hsnCode: e.target.value });\r\n };\r\n\r\n //function for changing/updating the prefix\r\n handlePrefixChange = (e) => {\r\n let prefix = e.target.value;\r\n this.setState({ prefix: prefix });\r\n };\r\n\r\n handleDescriptionChange = (e) => {\r\n let details = e.target.value;\r\n this.setState({ description: details });\r\n };\r\n\r\n handleTitleChange = (e) => {\r\n this.setState({ title: e.target.value });\r\n };\r\n\r\n getBase64 = (file) => {\r\n return 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\n\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n\r\n handleChange = (info) => {\r\n if (info.fileList.length > 0) {\r\n if (info.file !== undefined) {\r\n const isJpgOrPng =\r\n info.file.type === \"image/jpeg\" ||\r\n info.file.type === \"image/png\" ||\r\n info.file.type === \"image/jpg\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: \"You can only upload JPG/PNG/JPEG file!\",\r\n });\r\n info.file = undefined;\r\n }\r\n let isLt3M = false;\r\n if (info.file !== undefined) {\r\n isLt3M = info.file.size / 1024 / 1024 < 3;\r\n if (!isLt3M) {\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: \"Image must be smaller than 3 MB!\",\r\n });\r\n info.file = undefined;\r\n }\r\n }\r\n if (isJpgOrPng && isLt3M) {\r\n info.file.status = \"done\";\r\n }\r\n var infoFileList = [];\r\n infoFileList.push(info.file);\r\n info.file = infoFileList.filter((x) => x != undefined);\r\n this.setState({ fileList: info.file });\r\n if (info.file.length > 0) {\r\n this.setState({ serviceImage: \"\" });\r\n }\r\n }\r\n } else {\r\n this.setState({ fileList: [], serviceImage: \"\" });\r\n }\r\n };\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n serviceID: 0,\r\n serviceName: \"\",\r\n prefix: \"\",\r\n description: \"\",\r\n hsnCode: \"\",\r\n title: \"\",\r\n fileList: [],\r\n isAddOn: false,\r\n showInApp: false,\r\n showInWeb: false,\r\n isEnabled: false,\r\n isVisible: false,\r\n serviceImage: \"\",\r\n uom: [],\r\n });\r\n };\r\n\r\n handleCheckbox = (event) => {\r\n this.setState({ isAddOn: event.target.checked });\r\n };\r\n\r\n handleAppCheckbox = (event) => {\r\n this.setState({ showInApp: event.target.checked });\r\n };\r\n\r\n handleWebCheckbox = (event) => {\r\n this.setState({ showInWeb: event.target.checked });\r\n };\r\n\r\n generateExcel = () => {\r\n if (this.state.serviceItems.length > 0) {\r\n this.setState({ excelButtonLoading: true });\r\n let totalRecords = this.state.serviceItems[0].totalRecords;\r\n this.ServiceItem.retrieveItems({\r\n serviceID: null,\r\n pageIndex: 1,\r\n pageSize: totalRecords,\r\n }).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 excelFile: ,\r\n excelButtonLoading: false,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n };\r\n beforeUpload = (file) => {\r\n const isJpgOrPng = file.type === \"image/jpeg\" || file.type === \"image/png\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: \"You can only upload JPG/PNG file!\",\r\n });\r\n this.setState({ fileList: [] });\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 1;\r\n if (!isLt2M) {\r\n notification[\"error\"]({\r\n message: \"Service Master\",\r\n description: \"Image must smaller than 1MB!\",\r\n });\r\n this.setState({ fileList: [] });\r\n }\r\n return isJpgOrPng && isLt2M;\r\n };\r\n\r\n render() {\r\n const {\r\n serviceName,\r\n prefix,\r\n description,\r\n hsnCode,\r\n title,\r\n pagination,\r\n serviceImage,\r\n uom,\r\n loading,\r\n showInApp,\r\n showInWeb,\r\n } = this.state;\r\n const Regex = /^[A-Za-z0-9_&-\\s]*$/;\r\n const serviceItems = this.state.serviceItems;\r\n const listItems = serviceItems.map((item, index) => ({\r\n key: item.serviceID,\r\n serviceID: item.serviceID,\r\n serviceName: item.serviceName,\r\n prefix: item.prefix,\r\n uom: item.uom,\r\n isAddOn: item.isAddOn.toString(),\r\n showInApp:item.showInApp.toString(),\r\n showInWeb:item.showInWeb.toString(),\r\n description: item.description,\r\n hsnCode: item.hsnCode,\r\n title: item.title,\r\n serviceImage: item.serviceImage,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n const uploadButton =\r\n this.state.fileList.length === 0 ? (\r\n
\r\n \r\n
Upload
\r\n
\r\n ) : null;\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Service\r\n \r\n ) : null,\r\n this.state.serviceItems.length > 0 ? (\r\n {\r\n this.generateExcel();\r\n }}\r\n loading={this.state.excelButtonLoading}\r\n >\r\n {\" \"}\r\n Download Excel\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n serviceItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {/* IsAddOn? */}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ uom: event });\r\n }}\r\n placeholder=\"Select GarmentUOM\"\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.garmentUOMListOptions.map((uomitem) =>\r\n uomitem.value !== \"-1\" ? (\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 {this.state.isEnabled === false ? (\r\n <>\r\n \r\n \r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n {/* {this.state.fileList.length >= 0\r\n ? null\r\n : uploadButton} */}\r\n {uploadButton}\r\n \r\n \r\n {this.state.serviceID != 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n Show in the App\r\n \r\n \r\n \r\n \r\n Show in the Web\r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport ServiceMaster from \"../../../components/Master/Service/servicemaster.component\"\r\n\r\nexport default class ServiceScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass GarmentService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async GarmentUOMListItems() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_GARMENTUOM_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetGarmentUOMList.getDropdown()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GarmentUOMListItems();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async removeItems(garmentID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_GARMENT_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?GarmentIds=\" + garmentID;\r\n await myApi.endpoints.DeleteGarmentByGarmentID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(garmentID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(formData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_GARMENT_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateGarmentMaster.create(formData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(formData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GARMENT_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetGarmentMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n \r\n \r\n async retrieveStoreDeliveryType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DELIVERY_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDeliveryTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreDeliveryType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default GarmentService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n Upload,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faFileExcel,\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport GarmentService from \"../../../services/garmentservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Configuration from \"../../../shared/configuration\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.GarmentService = new GarmentService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.config = new Configuration();\r\n this.state = {\r\n modalLoading: false,\r\n garmentItems: [],\r\n garmentID: 0,\r\n garmentName: \"\",\r\n uom: [],\r\n storeDeliveryType: [],\r\n garmentDeliveryType: [],\r\n isStoreDeliveryType: false,\r\n garmentImage: \"\",\r\n fileList: [],\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n garmentUOMListOptions: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n excelFile: ,\r\n excelButtonLoading: false,\r\n isResponseErrorShow: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.GARMENT\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Garment ID\",\r\n dataIndex: \"garmentID\",\r\n key: \"garmentID\",\r\n },\r\n {\r\n title: \"Garment Name\",\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: \"UOM\",\r\n // dataIndex: \"uom\",\r\n // key: \"uom\",\r\n // },\r\n {\r\n title: \"UOM\",\r\n dataIndex: \"uomName\",\r\n key: \"uomName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"DeliveryType\",\r\n dataIndex: \"garmentDeliveryTypeName\",\r\n key: \"garmentDeliveryTypeName\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Garment Image\",\r\n dataIndex: \"garmentImage\",\r\n key: \"garmentImage\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address.split(\r\n this.config.STANDARD_RATE_CARD_AND_GARMENT_MASTER_IMAGE_URL\r\n )}\r\n \r\n ),\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n garmentID: record.garmentID,\r\n garmentName: record.garmentName,\r\n uom: record.uom\r\n .split(\",\")\r\n .map((single) => single.toString()),\r\n garmentDeliveryType: record.garmentDeliveryType\r\n .split(\",\")\r\n .map((single) => single.toString()),\r\n garmentImage: record.garmentImage,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n garmentID: record.garmentID,\r\n garmentName: record.garmentName,\r\n uom: record.uom\r\n .split(\",\")\r\n .map((single) => single.toString()),\r\n garmentDeliveryType: record.garmentDeliveryType\r\n .split(\",\")\r\n .map((single) => single.toString()),\r\n garmentImage: record.garmentImage,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.garmentID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n garmentID: this.state.garmentID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.DropDownGarmentUOMList();\r\n this.getStoreDeliveryType();\r\n }\r\n\r\n getStoreDeliveryType = () => {\r\n this.GarmentService.retrieveStoreDeliveryType().then((storeDeliveryType) => {\r\n if (storeDeliveryType.statusCode === 200) {\r\n this.setState({ storeDeliveryType: storeDeliveryType.data, isStoreDeliveryType: true });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Delivery Type \",\r\n });\r\n // this.setState({ StoreDeliveryType: false });\r\n }\r\n });\r\n };\r\n\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n garmentID: this.state.garmentID,\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n garmentID: this.state.garmentID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.GarmentService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n garmentID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n garmentItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of garments data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (garmentID) => {\r\n if (garmentID === \"\" || garmentID === null || garmentID === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Garment Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.GarmentService.removeItems(garmentID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Garment Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n brandID: parseInt(this.state.garmentID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n oldGarmentImageFromUrl = () => {\r\n let str1 = \"\";\r\n if (![undefined, null, \"\"].includes(this.state.garmentImage)) {\r\n let str = this.state.garmentImage.split(\"/\");\r\n str1 = str[str.length - 1];\r\n }\r\n return str1;\r\n };\r\n\r\n handlePopupAdd = (event) => {\r\n var fileData = this.state.fileList;\r\n const formData = new FormData();\r\n\r\n var uomList = \"\";\r\n for (var i = 0; i < this.state.uom.length; i++) {\r\n uomList = uomList + this.state.uom[i] + \",\";\r\n }\r\n var uomvVal = uomList.substring(0, uomList.length - 1);\r\n\r\n var deliveryTypeList = \"\";\r\n for (var i = 0; i < this.state.garmentDeliveryType.length; i++) {\r\n deliveryTypeList = deliveryTypeList + this.state.garmentDeliveryType[i] + \",\";\r\n }\r\n var deliveryTypeVal = deliveryTypeList.substring(0, deliveryTypeList.length - 1);\r\n\r\n formData.append(\"garmentID\", this.state.garmentID);\r\n formData.append(\"garmentName\", this.state.garmentName);\r\n formData.append(\"uom\", uomvVal);\r\n formData.append(\"GarmentDeliveryType\", deliveryTypeVal)\r\n formData.append(\r\n \"garmentImage\",\r\n\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n formData.append(\"isNewImgUploaded\", true);\r\n formData.append(\"oldGarmentImg\", this.oldGarmentImageFromUrl());\r\n this.setState({ modalLoading: true });\r\n this.GarmentService.insertUpdateItems(formData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Garment Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n garmentID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleGarmentName = (e) => {\r\n let garmentNm = e.target.value;\r\n this.setState({ garmentName: garmentNm });\r\n };\r\n\r\n DropDownGarmentUOMList = () => {\r\n this.GarmentService.GarmentUOMListItems().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ garmentUOMListOptions: items.data });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of uom data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n onChangeSelect = (event) => {\r\n this.setState({ uom: event });\r\n };\r\n\r\n onChangeDeliveryType = (event) => {\r\n this.setState({ garmentDeliveryType: event });\r\n }\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n garmentID: 0,\r\n garmentName: \"\",\r\n uom: [],\r\n garmentDeliveryType: [],\r\n uomName: \"\",\r\n garmentDeliveryTypeName:\"\",\r\n fileList: [],\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n getBase64 = (file) => {\r\n return 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\n\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n handleChange = (info) => {\r\n if (info.fileList.length > 0) {\r\n if (info.file !== undefined) {\r\n const isJpgOrPng =\r\n info.file.type === \"image/svg+xml\" ||\r\n info.file.type === \"image/png\" ||\r\n info.file.type === \"image/jpeg\" ||\r\n info.file.type === \"image/jpg\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: \"You can only upload JPG/PNG/SVG/JPEG file!\",\r\n });\r\n // this.setState({ fileList: [] });\r\n info.file = undefined;\r\n }\r\n let isLt1M = false;\r\n if (info.file !== undefined) {\r\n isLt1M = info.file.size / 1024 / 1024 < 1;\r\n if (!isLt1M) {\r\n notification[\"error\"]({\r\n message: \"Garment Master\",\r\n description: \"Image must be smaller than 1 MB!\",\r\n });\r\n // this.setState({ fileList: [] });\r\n info.file = undefined;\r\n }\r\n }\r\n if (isJpgOrPng && isLt1M) {\r\n info.file.status = \"done\";\r\n }\r\n }\r\n var infoFileList = [];\r\n infoFileList.push(info.file);\r\n info.file = infoFileList.filter((x) => x != undefined);\r\n this.setState({ fileList: info.file });\r\n if (info.file.length > 0) {\r\n this.setState({ garmentImage: \"\" });\r\n }\r\n } else {\r\n this.setState({ fileList: [], garmentImage: \"\" });\r\n }\r\n };\r\n\r\n generateExcel = () => {\r\n if (this.state.garmentItems.length > 0) {\r\n this.setState({ excelButtonLoading: true });\r\n let totalRecords = this.state.garmentItems[0].totalRecords;\r\n this.GarmentService.retrieveItems({\r\n garmentID: null,\r\n pageIndex: 1,\r\n pageSize: totalRecords,\r\n }).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \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 excelFile: ,\r\n excelButtonLoading: false,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { garmentName, pagination, loading } = this.state;\r\n\r\n const Regex = /^[A-Za-z0-9]*$/;\r\n const uploadButton =\r\n this.state.fileList.length === 0 ? (\r\n
\r\n \r\n
Upload
\r\n
\r\n ) : null;\r\n const garmentItems = this.state.garmentItems;\r\n const listItems = garmentItems.map((item, index) => ({\r\n key: item.garmentID,\r\n garmentID: item.garmentID,\r\n garmentName: item.garmentName,\r\n deliveryType: item.deliveryType,\r\n uom: item.uom,\r\n uomName: item.uomName,\r\n garmentDeliveryType: item.garmentDeliveryType,\r\n garmentDeliveryTypeName: item.garmentDeliveryTypeName,\r\n garmentImage: item.garmentImage,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n Add Garment\r\n \r\n ) : null,\r\n this.state.garmentItems.length > 0 ? (\r\n {\r\n this.generateExcel();\r\n }}\r\n loading={this.state.excelButtonLoading}\r\n >\r\n {\" \"}\r\n Download Excel\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n garmentItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.garmentUOMListOptions.map((uomitem) =>\r\n uomitem.value !== \"-1\" ? (\r\n \r\n ) : null\r\n )}\r\n \r\n \r\n \r\n\r\n {/* start Added By Rashmi 17-02-23 for #L177728 */}\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.storeDeliveryType.map((storeDeliveryType) => {\r\n return storeDeliveryType.value !== \"-1\" ? (\r\n \r\n {storeDeliveryType.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n {/* End---- */}\r\n\r\n \r\n {this.state.isEnabled === false ? (\r\n <>\r\n \r\n \r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n {/* {this.state.fileList.length >= 8\r\n ? null\r\n : uploadButton} */}\r\n {uploadButton}\r\n \r\n \r\n {this.state.garmentID != 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport GarmentMaster from \"../../../components/Master/Garment/garmentmaster.component\"\r\n\r\nexport default class GarmentScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass ColorService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n }\r\n\r\n async removeItems(colorID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_COLOR_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?ColorIds=\" + colorID;\r\n let shouldWait = false;\r\n //need to change method name\r\n await myApi.endpoints.DeleteColorByColorID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.removeItems(colorID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_COLOR_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.SaveUpdateColorMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.COLOR_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.GetColorMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default ColorService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport ColorService from \"../../../services/garmentcolorservice\";\r\nimport Moment from \"moment\";\r\nimport { ChromePicker } from \"react-color\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { RegexLetters, MessageLetters } from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ColorService = new ColorService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n colorItems: [],\r\n colorID: 0,\r\n colorName: \"\",\r\n changeColorHex: \"#fff\",\r\n color: {\r\n r: \"0\",\r\n g: \"9\",\r\n b: \"153\",\r\n // a:\"1\"\r\n },\r\n displayColorPicker: false,\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.GARMENT_COLOR\r\n );\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"ColorID\",\r\n // dataIndex: \"colorID\",\r\n // key: \"colorID\",\r\n // },\r\n {\r\n title: \"Color Name\",\r\n dataIndex: \"colorName\",\r\n key: \"colorName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Color Hex\",\r\n dataIndex: \"colorHex\",\r\n key: \"colorHex\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n colorID: record.colorID,\r\n colorName: record.colorName,\r\n changeColorHex: record.colorHex,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n colorID: record.colorID,\r\n colorName: record.colorName,\r\n changeColorHex: record.colorHex,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.colorID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n colorID: this.state.colorID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n colorID: this.state.colorID,\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n colorID: this.state.colorID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.ColorService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n colorID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n colorItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Garment Color Master\",\r\n description: \"Unable to get list of colors data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (colorID) => {\r\n this.ColorService.removeItems(colorID).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n \"Garment Color Master\",\r\n items.message\r\n );\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n colorID: parseInt(this.state.colorID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Garment Color Master\",\r\n items.message\r\n );\r\n }\r\n });\r\n };\r\n\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n colorID: this.state.colorID,\r\n colorName: this.state.colorName,\r\n colorHex: this.state.changeColorHex,\r\n isActive: true,\r\n };\r\n this.ColorService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n \"Garment Color Master\",\r\n items.message\r\n );\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n colorID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Garment Color Master\",\r\n items.message\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleColorName = (e) => {\r\n let colorNm = e.target.value;\r\n this.setState({ colorName: colorNm });\r\n };\r\n\r\n handleClick = () => {\r\n this.setState({ displayColorPicker: !this.state.displayColorPicker });\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({ displayColorPicker: false });\r\n };\r\n\r\n handleChangeColor = (color) => {\r\n this.setState({ color: color.rgb, changeColorHex: color.hex });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n colorID: 0,\r\n colorName: \"\",\r\n changeColorHex: \"#fff\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const popover = {\r\n position: \"absolute\",\r\n zIndex: \"2\",\r\n };\r\n const cover = {\r\n position: \"fixed\",\r\n top: \"0px\",\r\n right: \"0px\",\r\n bottom: \"0px\",\r\n left: \"0px\",\r\n };\r\n const { colorName, changeColorHex, pagination, loading } = this.state;\r\n const colorItems = this.state.colorItems;\r\n const listItems = colorItems.map((item, index) => ({\r\n key: item.colorID,\r\n colorID: item.colorID,\r\n colorName: item.colorName,\r\n colorHex: item.colorHex,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Color\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n colorItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.displayColorPicker ? (\r\n
\r\n
\r\n \r\n
\r\n ) : null}\r\n \r\n \r\n\r\n
\r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport GarmentColorMaster from \"../../../components/Master/GarmentColor/garmentcolormaster.component\"\r\nexport default class GarmentColorScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass RewashReasonService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(reasonID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_REASON_MASTER_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?ReasonIDs=\" + reasonID;\r\n await myApi.endpoints.DeleteRewashReasonByRewashReasonID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(reasonID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_REASON_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateRewashReasonMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.REWASH_REASON_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetRewashReasonMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default RewashReasonService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport RewashReasonService from \"../../../services/rewashreasonservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.RewashReasonService = new RewashReasonService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n reasonItems: [],\r\n reasonID: 0,\r\n rewashReason: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.REWASH_REASON\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"ReasonID\",\r\n // dataIndex: \"reasonID\",\r\n // key: \"reasonID\",\r\n // },\r\n {\r\n title: \"Rewash Reason\",\r\n dataIndex: \"rewashReason\",\r\n key: \"rewashReason\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n reasonID: record.reasonID,\r\n rewashReason: record.rewashReason,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n reasonID: record.reasonID,\r\n rewashReason: record.rewashReason,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.reasonID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n reasonID: this.state.reasonID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n reasonID: this.state.reasonID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n reasonID: this.state.reasonID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.RewashReasonService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n reasonID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n reasonItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rewash Reason Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of rewash reason data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (reasonID) => {\r\n if (reasonID === \"\" || reasonID === null || reasonID === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Rewash Reason Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Rewash Reason Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.RewashReasonService.removeItems(reasonID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Rewash Reason Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Rewash Reason Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n reasonID: parseInt(this.state.reasonID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Rewash Reason Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"Rewash Reason Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n reasonID: this.state.reasonID,\r\n rewashReason: this.state.rewashReason,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.RewashReasonService.insertUpdateItems(postData).then((items) => {\r\n this.setState({ items: items, showAddPopup: false });\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Rewash Reason Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Rewash Reason Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n reasonID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Rewash Reason Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"Rewash Reason Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleReasonName = (e) => {\r\n let reasonNm = e.target.value;\r\n this.setState({ rewashReason: reasonNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n reasonID: 0,\r\n rewashReason: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { rewashReason, pagination, loading } = this.state;\r\n const reasonItems = this.state.reasonItems;\r\n const listItems = reasonItems.map((item, index) => ({\r\n key: item.reasonID,\r\n reasonID: item.reasonID,\r\n rewashReason: item.rewashReason,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Reason\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n reasonItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport RewashReasonMaster from \"../../../components/Master/RewashReason/rewashreasonmaster.component\"\r\nexport default class RewashReasonScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass OpInstructionService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(opeInstID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_OPERINST_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?OperInstIDs=\" + opeInstID;\r\n await myApi.endpoints.DeleteOperInstByOperInstID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(opeInstID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_OPERINST_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.SaveUpdateOperInstMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.OPERATION_INSTRUCT_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.GetOperInstMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default OpInstructionService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport OpInstructionService from \"../../../services/operationinstructionservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsSymbols,\r\n MessageLettersDigitsSymbols,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.OpInstructionService = new OpInstructionService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n instructionItems: [],\r\n opeInstID: 0,\r\n opeInstName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.OPER_INSTRUCTION\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"OpInstructionID\",\r\n // dataIndex: \"opeInstID\",\r\n // key: \"opeInstID\",\r\n // },\r\n {\r\n title: \"OpInstruction Name\",\r\n dataIndex: \"opeInstName\",\r\n key: \"opeInstName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n opeInstID: record.opeInstID,\r\n opeInstName: record.opeInstName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n opeInstID: record.opeInstID,\r\n opeInstName: record.opeInstName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.opeInstID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n opeInstID: this.state.opeInstID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n opeInstID: this.state.opeInstID,\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n opeInstID: this.state.opeInstID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.OpInstructionService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n opeInstID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n instructionItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of operation instruction data\",\r\n message: \"Operation Instruction Master\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (opeInstID) => {\r\n if (opeInstID === \"\" || opeInstID === null || opeInstID === undefined) {\r\n // openNotificationWithIcon(\"error\", \"Operation Instruction Master\", \"\");\r\n notification[\"error\"]({\r\n description: \"Please Select Atleast One Row\",\r\n message: \"Operation Instruction Master\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.OpInstructionService.removeItems(opeInstID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Operation Instruction Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Operation Instruction Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n opeInstID: parseInt(this.state.opeInstID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Operation Instruction Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"Operation Instruction Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n opeInstID: this.state.opeInstID,\r\n opeInstName: this.state.opeInstName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.OpInstructionService.insertUpdateItems(postData).then((items) => {\r\n this.setState({ items: items, showAddPopup: false });\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Operation Instruction Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n description: items.message,\r\n message: \"Operation Instruction Master\",\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n opeInstID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Operation Instruction Master\",\r\n items.message\r\n );\r\n notification[\"error\"]({\r\n description: items.message,\r\n message: \"Operation Instruction Master\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleInstructionName = (e) => {\r\n let opeInstNm = e.target.value;\r\n this.setState({ opeInstName: opeInstNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n opeInstID: 0,\r\n opeInstName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { opeInstName, pagination, loading } = this.state;\r\n const instructionItems = this.state.instructionItems;\r\n const listItems = instructionItems.map((item, index) => ({\r\n key: item.opeInstID,\r\n opeInstID: item.opeInstID,\r\n opeInstName: item.opeInstName,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Instruction\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n instructionItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport OperationInstructionMaster from \"../../../components/Master/OperationInstruction/operationinstructmaster.component\"\r\nexport default class OperationInstructionScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass DeliveryChargeService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(deliverychargesID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_DELIVERYCHARGE_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?DeliveryChargesIDs=\" + deliverychargesID;\r\n await myApi.endpoints[this.endpoint.DELETE_DELIVERYCHARGE_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(deliverychargesID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_DELIVERYCHARGE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateDeliveryChargesMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELIVERYCHARGE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDeliveryChargesMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default DeliveryChargeService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n DatePicker,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport DeliveryChargeService from \"../../../services/deliverychargeservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nlet todaysDate = Moment(new Date());\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.DeliveryChargeService = new DeliveryChargeService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n deliveryChargeItems: [],\r\n deliveryChargesID: 0,\r\n minBillAmount: null,\r\n fixedCharges: null,\r\n perCharges: null,\r\n maxCharges: null,\r\n effectiveFrom: \"\",\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n disableUpdateBtn: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.DELIVERY_CHARGES\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"DeliveryChargesID\",\r\n // dataIndex: \"deliveryChargesID\",\r\n // key: \"deliveryChargesID\",\r\n // },\r\n {\r\n title: \"Min Bill Amount\",\r\n dataIndex: \"minBillAmount\",\r\n key: \"minBillAmount\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Fixed Charges\",\r\n dataIndex: \"fixedCharges\",\r\n key: \"fixedCharges\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Percentage Charges\",\r\n dataIndex: \"perCharges\",\r\n key: \"perCharges\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Max Charges\",\r\n dataIndex: \"maxCharges\",\r\n key: \"maxCharges\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Effective From\",\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n sorter: true,\r\n render: (data) => Moment(data, \"DD-MM-YYYY\").format(\"DD-MM-YYYY\"),\r\n },\r\n // {\r\n // title: \"CGST\",\r\n // dataIndex: \"cgst\",\r\n // key: \"cgst\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: \"SGST\",\r\n // dataIndex: \"sgst\",\r\n // key: \"sgst\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: \"IGST\",\r\n // dataIndex: \"igst\",\r\n // key: \"igst\",\r\n // sorter: true,\r\n // },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n deliveryChargesID: record.deliveryChargesID,\r\n minBillAmount: record.minBillAmount,\r\n fixedCharges: record.fixedCharges,\r\n perCharges: record.perCharges,\r\n maxCharges: record.maxCharges,\r\n // cgst: record.cgst,\r\n // sgst: record.sgst,\r\n // igst: record.igst,\r\n effectiveFrom: Moment(record.effectiveFrom, \"DD/MM/YYYY\"),\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true &&\r\n !Moment(record.effectiveFrom, \"DD/MM/YYYY\").isBefore(\r\n todaysDate,\r\n \"date\"\r\n ) ? (\r\n \r\n {\r\n this.setState({\r\n showAddPopup: true,\r\n deliveryChargesID: record.deliveryChargesID,\r\n minBillAmount: record.minBillAmount,\r\n fixedCharges: record.fixedCharges,\r\n perCharges: record.perCharges,\r\n maxCharges: record.maxCharges,\r\n // cgst: record.cgst,\r\n // sgst: record.sgst,\r\n // igst: record.igst,\r\n effectiveFrom: Moment(record.effectiveFrom, \"DD/MM/YYYY\"),\r\n });\r\n let effectiveDate = Moment(\r\n record.effectiveFrom,\r\n \"DD/MM/YYYY\"\r\n );\r\n if (effectiveDate.isBefore(todaysDate, \"date\")) {\r\n this.setState({ disableUpdateBtn: true });\r\n notification[\"error\"]({\r\n message: \"Delivery Charges\",\r\n description: \"Previous rates can't be updated !\",\r\n });\r\n } else {\r\n this.setState({ disableUpdateBtn: false });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.deliveryChargesID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n deliveryChargesID: this.state.deliveryChargesID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n deliveryChargesID: this.state.deliveryChargesID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n deliveryChargesID: this.state.deliveryChargesID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.DeliveryChargeService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n deliveryChargesID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n deliveryChargeItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Delivery Charges\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of Delivery Charges data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (deliveryChargesID) => {\r\n if (\r\n deliveryChargesID === \"\" ||\r\n deliveryChargesID === null ||\r\n deliveryChargesID === undefined\r\n ) {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Delivery Charges\",\r\n \"Please Select Atleast One Row\"\r\n );\r\n } else {\r\n this.setState({ loading: true });\r\n this.DeliveryChargeService.removeItems(deliveryChargesID).then(\r\n (items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n \"Delivery Charges\",\r\n items.message\r\n );\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n deliveryChargesID: parseInt(this.state.deliveryChargesID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Delivery Charges\",\r\n items.message\r\n );\r\n }\r\n this.setState({ loading: false });\r\n }\r\n );\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server cal\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n deliveryChargesID: this.state.deliveryChargesID,\r\n minBillAmount: parseInt(this.state.minBillAmount),\r\n fixedCharges: parseFloat(this.state.fixedCharges),\r\n perCharges: parseFloat(this.state.perCharges),\r\n maxCharges: parseInt(this.state.maxCharges),\r\n cgst: 0, //parseFloat(this.state.cgst),\r\n sgst: 0, //parseFloat(this.state.sgst),\r\n igst: 0, //parseFloat(this.state.igst),\r\n effectiveFrom: Moment(this.state.effectiveFrom).format(\"YYYY/MM/DD\"),\r\n };\r\n this.setState({ modalLoading: true });\r\n this.DeliveryChargeService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Delivery Charges\", items.message);\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n deliveryChargesID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Delivery Charges\", items.message);\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleInputOnChange = (evt) => {\r\n this.setState({ [evt.target.name]: evt.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n deliveryChargesID: 0,\r\n minBillAmount: null,\r\n fixedCharges: null,\r\n perCharges: null,\r\n maxCharges: null,\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n effectiveFrom: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n isEditbtndisable: false,\r\n disableUpdateBtn: false,\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n minBillAmount,\r\n fixedCharges,\r\n perCharges,\r\n maxCharges,\r\n cgst,\r\n sgst,\r\n igst,\r\n effectiveFrom,\r\n pagination,\r\n loading,\r\n } = this.state;\r\n // let RegexDecimal= /^[0-9]+([.][0-9]+)?$/g;\r\n const RegexDecimalAndRestrict = /^[0-9]\\d*(.\\d*)?$/;\r\n const deliveryChargeItems = this.state.deliveryChargeItems;\r\n const listItems = deliveryChargeItems.map((item, index) => ({\r\n key: item.deliveryChargesID,\r\n deliveryChargesID: item.deliveryChargesID,\r\n minBillAmount: item.minBillAmount,\r\n fixedCharges: item.fixedCharges,\r\n perCharges: item.perCharges,\r\n maxCharges: item.maxCharges,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n igst: item.igst,\r\n effectiveFrom: Moment(item.effectiveFrom.split(\" \")[0]).format(\r\n \"DD-MM-YYYY\"\r\n ),\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Charges\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n deliveryChargeItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 validator(rule, value) {\r\n if (\r\n parseFloat(value) > 0 ||\r\n parseFloat(getFieldValue(\"perCharges\")) > 0\r\n ) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n \"Either Fixed Charges or Percentage Charges must be greater than 0\"\r\n );\r\n },\r\n }),\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n ({\r\n validator(rule, value) {\r\n if (\r\n parseFloat(value) > 0 ||\r\n parseFloat(getFieldValue(\"fixedCharges\")) > 0\r\n ) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n \"Either Fixed Charges or Percentage Charges must be greater than 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.handleDateChange(date, \"effectiveFrom\")\r\n }\r\n disabled={this.state.isEnabled}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n Cancel\r\n \r\n \r\n {this.state.deliveryChargesID === 0\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","import React from \"react\";\r\nimport DeliveryChargeMaster from \"../../../components/Master/DeliveryCharges/deliverychargemaster.component\"\r\n\r\nexport default class DeliveryChargeScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass RewardsService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n// async removeItems(deliverychargesID) {\r\n// const myApi = new API({ url: this.config.ITEM_URL });\r\n// myApi.createEntity({ name: this.endpoint.DELETE_DELIVERYCHARGE_BY_ID });\r\n// let itemArray = [];\r\n// let ID = \"?DeliveryChargesIDs=\" + deliverychargesID;\r\n// await myApi.endpoints[this.endpoint.DELETE_DELIVERYCHARGE_BY_ID]\r\n// .deleteById(ID)\r\n// .then(({ data }) => {\r\n// itemArray = data;\r\n// })\r\n// .catch((err) => {\r\n// itemArray = this.common.handleError(err);\r\n// });\r\n// if (itemArray.statusCode == 401) {\r\n// await this.common.refreshToken().then((response) => {\r\n// this.common.setToken(response);\r\n// itemArray = this.removeItems(deliverychargesID);\r\n// });\r\n// }\r\n// return Promise.resolve(itemArray);\r\n// }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVEUPDATE_REWARDS_CONFIG_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateRewardsConfigMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_REWARDS_CONFIG_MASTER});\r\n let itemArray = [];\r\n await myApi.endpoints.GetRewardsConfigMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getSourceList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SYSTEME_NUMS,\r\n });\r\n let append = \"?EnumNames=Source\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getSourceList();\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default RewardsService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\n\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n DatePicker,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport RewardsService from \"../../../services/rewardsservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { allLabels, labels } from \"../../../shared/language\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nlet todaysDate = Moment(new Date());\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.RewardsService = new RewardsService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n rewardsItems: [],\r\n rewardsID: 0,\r\n cashbackPer: null,\r\n validityInDays: null,\r\n effectiveFrom: \"\",\r\n\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n disableUpdateBtn: false,\r\n SourceFilter: {\r\n data: [],\r\n selected: \"1\",\r\n },\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.REWARDS_CONFIG\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.CASHBACK_IN_PERCENTAGE,\r\n dataIndex: \"cashbackPer\",\r\n key: \"cashbackPer\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PLATFORM,\r\n dataIndex: \"platformName\",\r\n key: \"platformName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.VALIDITY_IN_DAYS,\r\n dataIndex: \"validityInDays\",\r\n key: \"validityInDays\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.EFFECTIVE_FROM,\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n sorter: true,\r\n render: (data) => Moment(data, \"DD-MM-YYYY\").format(\"DD-MM-YYYY\"),\r\n },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n rewardsID: record.rewardsID,\r\n cashbackPer: record.cashbackPer,\r\n validityInDays: record.validityInDays,\r\n effectiveFrom: Moment(record.effectiveFrom, \"DD/MM/YYYY\"),\r\n SourceFilter: {\r\n ...this.state.SourceFilter,\r\n selected: record.platForm,\r\n\r\n // selected: [null, undefined, \"\"].includes(record.platForm)\r\n // ? undefined\r\n // : record.platForm.join(\",\"),\r\n },\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true &&\r\n !Moment(record.effectiveFrom, \"DD/MM/YYYY\").isBefore(\r\n todaysDate,\r\n \"date\"\r\n ) ? (\r\n \r\n {\r\n this.setState({\r\n showAddPopup: true,\r\n rewardsID: record.rewardsID,\r\n cashbackPer: record.cashbackPer,\r\n validityInDays: record.validityInDays,\r\n effectiveFrom: Moment(record.effectiveFrom, \"DD/MM/YYYY\"),\r\n platForm: record.platForm,\r\n });\r\n let effectiveDate = Moment(\r\n record.effectiveFrom,\r\n \"DD/MM/YYYY\"\r\n );\r\n if (effectiveDate.isBefore(todaysDate, \"date\")) {\r\n this.setState({ disableUpdateBtn: true });\r\n notification[\"error\"]({\r\n message: labels.REWARDS_CONFIG,\r\n description: labels.PREVIOUS_REWARDS_CAN_NOT_BE_UPDATED,\r\n });\r\n } else {\r\n this.setState({ disableUpdateBtn: false });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {/* {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.rewardsID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n rewardsID: this.state.rewardsID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.getSourceList();\r\n }\r\n\r\n getSourceList = () => {\r\n this.RewardsService.getSourceList().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n SourceFilter: {\r\n ...this.state.SourceFilter,\r\n data: data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REWARDS_CONFIG,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_DATA,\r\n });\r\n }\r\n });\r\n };\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n rewardsID: this.state.rewardsID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n rewardsID: this.state.rewardsID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n // selectionType = \"checkbox\";\r\n // rowSelection = {\r\n // onChange: (selectedRowKeys, selectedRows) => {\r\n // this.setState({ rowselectedvalue: selectedRowKeys });\r\n // console.log(\"rows\", selectedRowKeys);\r\n // console.log(\r\n // `selectedRowKeys: ${selectedRowKeys}`,\r\n // \"selectedRows: \",\r\n // selectedRows\r\n // );\r\n // },\r\n // getCheckboxProps: (record) => ({\r\n // disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n // name: record.name,\r\n // }),\r\n // };\r\n\r\n //function for deleting multiple seletion of rows\r\n // deleteSelected = () => {\r\n // var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n // this.removeItems(rowselectedvalue);\r\n // };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.RewardsService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n rewardsID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n rewardsItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REWARDS_CONFIG,\r\n description: items.message\r\n ? items.message\r\n : labels.UNABLE_TO_GET_LIST_OF_REWARDS_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (rewardsID) => {\r\n if (rewardsID === \"\" || rewardsID === null || rewardsID === undefined) {\r\n openNotificationWithIcon(\r\n \"error\",\r\n labels.REWARDS_CONFIG,\r\n labels.PLEASE_SELECT_ATLEAST_ONE_ROW\r\n );\r\n } else {\r\n this.setState({ loading: true });\r\n this.RewardsService.removeItems(rewardsID).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n labels.REWARDS_CONFIG,\r\n items.message\r\n );\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n rewardsID: parseInt(this.state.rewardsID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n labels.REWARDS_CONFIG,\r\n items.message\r\n );\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server cal\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n rewardsID: this.state.rewardsID,\r\n cashbackPer: parseFloat(this.state.cashbackPer),\r\n validityInDays: parseInt(this.state.validityInDays),\r\n effectiveFrom: Moment(this.state.effectiveFrom).format(\"YYYY/MM/DD\"),\r\n platForm:parseInt(this.state.SourceFilter.selected),\r\n };\r\n this.setState({ modalLoading: true });\r\n this.RewardsService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n labels.REWARDS_CONFIG,\r\n items.message\r\n );\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n rewardsID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n openNotificationWithIcon(\"error\", labels.REWARDS_CONFIG, items.message);\r\n this.resetFields();\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleInputOnChange = (evt) => {\r\n this.setState({ [evt.target.name]: evt.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n rewardsID: 0,\r\n cashbackPer: null,\r\n validityInDays: null,\r\n effectiveFrom: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n isEditbtndisable: false,\r\n disableUpdateBtn: false,\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n cashbackPer,\r\n validityInDays,\r\n effectiveFrom,\r\n pagination,\r\n // platform,\r\n loading,\r\n } = this.state;\r\n // let RegexDecimal= /^[0-9]+([.][0-9]+)?$/g;\r\n const RegexDecimalAndRestrict = /^[0-9]\\d*(.\\d*)?$/;\r\n const rewardsItems = this.state.rewardsItems;\r\n const platform = this.state.SourceFilter.selected;\r\n\r\n const listItems = rewardsItems.map((item, index) => ({\r\n key: item.rewardsID,\r\n rewardsID: item.rewardsID,\r\n cashbackPer: item.cashbackPer,\r\n validityInDays: item.validityInDays,\r\n effectiveFrom: Moment(item.effectiveFrom.split(\" \")[0]).format(\r\n \"DD-MM-YYYY\"\r\n ),\r\n createdBy: item.createdBy,\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n modifiedBy: item.modifiedBy,\r\n modifiedByName: item.modifiedByName,\r\n modifiedOn: Moment(item.modifiedOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n platForm: item.platForm,\r\n platformName: item.platformName,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n {labels.ADD_REWARDS_CONFIG}\r\n \r\n ) : null,\r\n ]}\r\n />\r\n \r\n {/* \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n rewardsItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\r\n ) : null}\r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n this.setState(\r\n {\r\n SourceFilter: {\r\n ...this.state.SourceFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value\r\n },\r\n },\r\n )\r\n }\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n // value={\r\n // [null, undefined, \"\", []].includes(\r\n // this.state.SourceFilter.selected\r\n // )\r\n // ? undefined\r\n // : this.state.SourceFilter.selected\r\n // }\r\n >\r\n {this.state.SourceFilter.data.length !== 0\r\n ? this.state.SourceFilter.data.map((e) => {\r\n return e.enumDetailID !== \"-1\" ? (\r\n \r\n {e.label}\r\n \r\n ) : null;\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 this.handleDateChange(date, \"effectiveFrom\")\r\n }\r\n disabled={this.state.isEnabled}\r\n disabledDate={(currentDate) =>\r\n currentDate < Moment().endOf(\"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n {this.state.rewardsID === 0\r\n ? labels.ADD\r\n : labels.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","import React from 'react';\r\nimport RewardsComponent from \"../../../components/Master/Rewards/rewards.components\";\r\nexport default class RewardsScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass PackagingChargesService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async serviceListItems() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SERVICES_OFFERED });\r\n let itemArray = [];\r\n await myApi.endpoints.GetServicesList.getDropdown()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.serviceListItems();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async removeItems(packageChargeID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_PACKCHARGE_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?PackageChargeID=\" + packageChargeID;\r\n await myApi.endpoints.DeletePackagingChargesByPackagingChargesID.deleteById(\r\n ID\r\n )\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(packageChargeID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_PACKCHARGE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdatePackagingChargesMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.PACKCHARGE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetPackagingChargesMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default PackagingChargesService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n DatePicker,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport PackagingChargesService from \"../../../services/packagingchargeservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\nimport moment from \"moment\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nlet todaysDate = Moment(new Date());\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.PackageChargeService = new PackagingChargesService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n packChargeItems: [],\r\n serviceListOptions: [],\r\n packageChargeID: 0,\r\n serviceID: 0,\r\n serviceName: [],\r\n fixedCharges: null,\r\n perCharges: null,\r\n effectiveFrom: \"\",\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n disableUpdateBtn: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.PACKAGING_CHARGES\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Service Name\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Fixed Charges\",\r\n dataIndex: \"fixedCharges\",\r\n key: \"fixedCharges\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Percentage Charges\",\r\n dataIndex: \"perCharges\",\r\n key: \"perCharges\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Effective From\",\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n sorter: true,\r\n render: (data) => moment(data, \"DD/MM/YYYY\").format(\"DD-MM-YYYY\"),\r\n },\r\n // {\r\n // title: \"CGST\",\r\n // dataIndex: \"cgst\",\r\n // key: \"cgst\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: \"SGST\",\r\n // dataIndex: \"sgst\",\r\n // key: \"sgst\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: \"IGST\",\r\n // dataIndex: \"igst\",\r\n // key: \"igst\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n packageChargeID: record.packageChargeID,\r\n serviceName: record.serviceName,\r\n fixedCharges: record.fixedCharges,\r\n perCharges: record.perCharges,\r\n // cgst: record.cgst,\r\n // sgst: record.sgst,\r\n // igst: record.igst,\r\n effectiveFrom: Moment(record.effectiveFrom, \"DD/MM/YYYY\"),\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true &&\r\n !Moment(record.effectiveFrom, \"DD/MM/YYYY\").isBefore(\r\n todaysDate,\r\n \"date\"\r\n ) ? (\r\n \r\n {\r\n this.setState({\r\n showAddPopup: true,\r\n packageChargeID: record.packageChargeID,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n fixedCharges: record.fixedCharges,\r\n perCharges: record.perCharges,\r\n // cgst: record.cgst,\r\n // sgst: record.sgst,\r\n // igst: record.igst,\r\n effectiveFrom: Moment(record.effectiveFrom, \"DD/MM/YYYY\"),\r\n });\r\n var effectiveDate = Moment(\r\n record.effectiveFrom,\r\n \"DD/MM/YYYY\"\r\n );\r\n if (effectiveDate.isBefore(todaysDate, \"date\")) {\r\n this.setState({ disableUpdateBtn: true });\r\n notification[\"error\"]({\r\n message: \"Packaging Charges\",\r\n description: \"Previous rates can't be updated.!\",\r\n });\r\n } else {\r\n this.setState({ disableUpdateBtn: false });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.packageChargeID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n packageChargeID: this.state.packageChargeID,\r\n effectiveFrom: todaysDate,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.DropDownServiceList();\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n packageChargeID: this.state.packageChargeID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n packageChargeID: this.state.packageChargeID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n RestoreDDlValue = (e) => {\r\n var serviceArray = this.state.serviceListOptions.filter(\r\n (x) => x.value === e\r\n );\r\n if (serviceArray !== undefined) {\r\n this.setState({\r\n serviceID: serviceArray[0].value,\r\n serviceName: serviceArray[0].text,\r\n });\r\n }\r\n };\r\n\r\n DropDownServiceList = () => {\r\n this.PackageChargeService.serviceListItems().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ serviceListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Packaging Charges\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of service data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.PackageChargeService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n packageChargeID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n packChargeItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Packaging Charges\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of packaging charges data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (packageChargeID) => {\r\n if (\r\n packageChargeID === \"\" ||\r\n packageChargeID === null ||\r\n packageChargeID === undefined\r\n ) {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Packaging Charges\",\r\n \"Please Select Atleast One Row\"\r\n );\r\n } else {\r\n this.setState({ loading: true });\r\n this.PackageChargeService.removeItems(packageChargeID).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n \"Packaging Charges\",\r\n items.message\r\n );\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n packageChargeID: parseInt(this.state.packageChargeID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Packaging Charges\", items.message);\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n packageChargeID: this.state.packageChargeID,\r\n serviceID: parseInt(this.state.serviceID),\r\n fixedCharges: parseFloat(this.state.fixedCharges),\r\n perCharges: parseFloat(this.state.perCharges),\r\n cgst: 0, // parseFloat(this.state.cgst),\r\n sgst: 0, // parseFloat(this.state.sgst),\r\n igst: 0, // parseFloat(this.state.igst),\r\n effectiveFrom: Moment(this.state.effectiveFrom).format(\"YYYY/MM/DD\"),\r\n };\r\n this.setState({ modalLoading: true });\r\n this.PackageChargeService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Packaging Charges\", items.message);\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n packageChargeID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Packaging Charges\", items.message);\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleInputOnChange = (evt) => {\r\n this.setState({ [evt.target.name]: evt.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n packageChargeID: 0,\r\n serviceID: 0,\r\n serviceName: [],\r\n fixedCharges: 0,\r\n perCharges: 0,\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n effectiveFrom: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n disableUpdateBtn: false,\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n serviceName,\r\n fixedCharges,\r\n perCharges,\r\n cgst,\r\n sgst,\r\n igst,\r\n effectiveFrom,\r\n pagination,\r\n loading,\r\n } = this.state;\r\n const packChargeItems = this.state.packChargeItems;\r\n const RegexDecimalAndRestrict = /^[0-9]\\d*(.\\d*)?$/;\r\n const listItems = packChargeItems.map((item, index) => ({\r\n key: item.packageChargeID,\r\n packageChargeID: item.packageChargeID,\r\n serviceID: item.serviceID,\r\n serviceName: item.serviceName,\r\n fixedCharges: item.fixedCharges,\r\n perCharges: item.perCharges,\r\n // cgst: item.cgst,\r\n // sgst: item.sgst,\r\n // igst: item.igst,\r\n effectiveFrom: Moment(item.effectiveFrom.split(\" \")[0]).format(\r\n \"DD/MM/YYYY\"\r\n ),\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Charges\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n packChargeItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.serviceListOptions.map((service) =>\r\n service.value !== \"-1\" ? (\r\n \r\n ) : null\r\n )}\r\n \r\n \r\n \r\n \r\n ({\r\n validator(rule, value) {\r\n if (\r\n parseFloat(value) > 0 ||\r\n parseFloat(getFieldValue(\"perCharges\")) > 0\r\n ) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n \"Either Fixed Charges or Percentage Charges must be greater than 0\"\r\n );\r\n },\r\n }),\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n ({\r\n validator(rule, value) {\r\n if (\r\n parseFloat(value) > 0 ||\r\n parseFloat(getFieldValue(\"fixedCharges\")) > 0\r\n ) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n \"Either Fixed Charges or Percentage Charges must be greater than 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 this.handleDateChange(date, \"effectiveFrom\")\r\n }\r\n disabled={this.state.isEnabled}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n Cancel\r\n \r\n \r\n {this.state.packageChargeID === 0 ? \"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","import React from \"react\";\r\nimport PackagingChargesMaster from \"../../../components/Master/PackagingCharges/packagechargemaster.component\"\r\n\r\nexport default class PackagingChargesScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass ExpenseTypeService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(ExpenseTypeID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_EXPENSETYPE_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?ExpenseTypeIDs=\" + ExpenseTypeID;\r\n //need to change method name\r\n await myApi.endpoints[this.endpoint.DELETE_EXPENSETYPE_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(ExpenseTypeID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_EXPENSETYPE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.ADDUPDATE_EXPENSETYPE_MASTER]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.EXPENSETYPE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.EXPENSETYPE_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default ExpenseTypeService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport ExpenseTypeService from \"../../../services/expensetypeservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ExpenseTypeService = new ExpenseTypeService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n modalLoading: false,\r\n expenseTypeItems: [],\r\n expenseTypeID: 0,\r\n expenseTypeName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.EXPENSE_TYPE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"ExpenseTypeID\",\r\n // dataIndex: \"expenseTypeID\",\r\n // key: \"expenseTypeID\",\r\n // },\r\n {\r\n title: \"Expense Type Name\",\r\n dataIndex: \"expenseTypeName\",\r\n key: \"expenseTypeName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n expenseTypeID: record.expenseTypeID,\r\n expenseTypeName: record.expenseTypeName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n expenseTypeID: record.expenseTypeID,\r\n expenseTypeName: record.expenseTypeName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.expenseTypeID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n expenseTypeID: this.state.expenseTypeID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n expenseTypeID: this.state.expenseTypeID,\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n expenseTypeID: this.state.expenseTypeID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.ExpenseTypeService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n expenseTypeID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n expenseTypeItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Expense Type Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of expense type data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (expenseTypeID) => {\r\n if (\r\n expenseTypeID === \"\" ||\r\n expenseTypeID === null ||\r\n expenseTypeID === undefined\r\n ) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Expense Type Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Expense Type Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.ExpenseTypeService.removeItems(expenseTypeID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Expense Type Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Expense Type Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n expenseTypeID: parseInt(this.state.expenseTypeID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Expense Type Master\",\r\n // items.message\r\n // );\r\n notification[\"error\"]({\r\n message: \"Expense Type Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n expenseTypeID: this.state.expenseTypeID,\r\n expenseTypeName: this.state.expenseTypeName,\r\n isActive: true,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.ExpenseTypeService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Expense Type Master\",\r\n // items.message\r\n // );\r\n notification[\"success\"]({\r\n message: \"Expense Type Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n expenseTypeID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Expense Type Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Expense Type Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for changing/updating the city name\r\n handleExpenseTypeName = (e) => {\r\n let expenseNm = e.target.value;\r\n this.setState({ expenseTypeName: expenseNm });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n expenseTypeID: 0,\r\n expenseTypeName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { expenseTypeName, pagination, loading } = this.state;\r\n const expenseTypeItems = this.state.expenseTypeItems;\r\n const listItems = expenseTypeItems.map((item, index) => ({\r\n key: item.expenseTypeID,\r\n expenseTypeID: item.expenseTypeID,\r\n expenseTypeName: item.expenseTypeName,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Expense Type\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n expenseTypeItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport ExpenseTypeMaster from \"../../../components/Master/ExpenseType/expensetypemaster.component\"\r\n\r\nexport default class ExpenseTypeScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport FactoryService from \"../../../services/factoryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n factoryService = new FactoryService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"Name\",\r\n dataIndex: \"factoryName\",\r\n key: \"factoryName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Short Name\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Opening Date\",\r\n dataIndex: \"openingDate\",\r\n key: \"openingDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Delivery Type\",\r\n dataIndex: \"deliveryTypeName\",\r\n key: \"deliveryTypeName\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n sorter: true,\r\n render: (deliveryTypeName) => {\r\n return (\r\n \r\n {deliveryTypeName}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Operating Days\",\r\n dataIndex: \"operatingDays\",\r\n key: \"operatingDays\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n sorter: true,\r\n render: (operatingDays) => {\r\n return (\r\n \r\n {operatingDays}\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"statusName\",\r\n key: \"statusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 componentDidMount() {\r\n this.getFactoryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n getFactoryList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.factoryService\r\n .getAllFactories(index, size, sortColumn, sortOrder, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.factoryID;\r\n singleData.openingDate = [null, undefined, \"\"].includes(\r\n singleData.openingDate\r\n )\r\n ? undefined\r\n : moment(singleData.openingDate).format(\"YYYY-MM-DD\");\r\n singleData.operatingTimeFrom = moment(\r\n singleData.operatingTimeFrom,\r\n \"H:mm\"\r\n ).format(\"h:mm a\");\r\n singleData.operatingTimeTo = moment(\r\n singleData.operatingTimeTo,\r\n \"H:mm\"\r\n ).format(\"h:mm a\");\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of factories\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n render() {\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getFactoryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_FACTORY,\r\n state: { factoryID: this.state.factoryID },\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Factory\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getFactoryList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport FactoryMaster from \"../../../components/Master/Factory/factorymaster.component\";\r\n/**\r\n * Factory Master Screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 16 June 2020\r\n */\r\nexport default class FactoryMasterScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n TimePicker,\r\n Input,\r\n DatePicker,\r\n Space,\r\n notification,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport FactoryService from \"../../../../services/factoryservice\";\r\nimport {\r\n RegexLetters,\r\n RegexLettersDigits,\r\n MessageLetters,\r\n MessageLettersDigits,\r\n} from \"../../../../shared/validator\";\r\nconst { Option } = Select;\r\n/**\r\n * General form as a part of create factory screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\nexport default class GeneralForm extends React.Component {\r\n /**\r\n * Initalizing Factory Service\r\n */\r\n factoryService = new FactoryService();\r\n\r\n /**\r\n * Storing objects for dynamic controls\r\n *\r\n * @added 18 June 2020\r\n */\r\n state = {\r\n deliveryTypes: {\r\n disabled: true,\r\n data: [],\r\n },\r\n operatingDays: {\r\n disabled: true,\r\n data: [],\r\n },\r\n status: {\r\n disabled: true,\r\n data: [],\r\n },\r\n services: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n /**\r\n * API Calls on component mounting to populate dropdowns\r\n * @added 18 June 2020\r\n */\r\n componentDidMount() {\r\n this.getDeliveryTypes();\r\n this.getOperatingDays();\r\n this.getStatusList();\r\n this.getServices();\r\n }\r\n /**\r\n * Populating Delivery Type Dropdown\r\n * @added 18 June 2020\r\n */\r\n getDeliveryTypes = () => {\r\n this.factoryService.getDeliveryTypeList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n deliveryTypes: {\r\n ...this.state.deliveryTypes,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for delivery types\",\r\n });\r\n }\r\n });\r\n };\r\n /**\r\n * Populating Operating Days Dropdown\r\n * @added 18 June 2020\r\n */\r\n getOperatingDays = () => {\r\n this.factoryService.getOperatingDaysList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n operatingDays: {\r\n ...this.state.operatingDays,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for operating days\",\r\n });\r\n }\r\n });\r\n };\r\n /**\r\n * Populating Status Dropdown\r\n * @added 18 June 2020\r\n */\r\n getStatusList = () => {\r\n this.factoryService.getFactoryStatusList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n status: {\r\n ...this.state.status,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get factory statuses\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getServices = () => {\r\n this.factoryService.getServices().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n services: {\r\n ...this.state.services,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get factory services\",\r\n });\r\n }\r\n });\r\n };\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\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 * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/date-picker/\r\n * https://ant.design/components/date-picker/#API\r\n */}\r\n \r\n null}\r\n disabled={disableAll}\r\n format={\"DD-MM-YYYY\"}\r\n />\r\n \r\n \r\n \r\n \r\n null}\r\n value={1}\r\n mode=\"multiple\"\r\n placeholder=\"Select Delivery Types\"\r\n disabled={this.state.deliveryTypes.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.deliveryTypes.data.length !== 0\r\n ? this.state.deliveryTypes.data.map((deliveryType) => {\r\n return deliveryType.value !== \"-1\" ? (\r\n \r\n {deliveryType.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n disabled={this.state.operatingDays.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.operatingDays.data.length !== 0\r\n ? this.state.operatingDays.data.map((operatingDay) => {\r\n return operatingDay.value !== \"-1\" ? (\r\n \r\n {operatingDay.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n disabled={this.state.services.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.services.data.length !== 0\r\n ? this.state.services.data.map((service) => {\r\n return service.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/time-picker/\r\n * https://ant.design/components/time-picker/#API\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n null}\r\n disabled={this.state.status.disabled || disableAll}\r\n >\r\n {this.state.status.data.length !== 0\r\n ? this.state.status.data.map((singleStatus) => {\r\n return singleStatus.value !== \"-1\" ? (\r\n \r\n {singleStatus.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n Cancel\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","import React from \"react\";\r\nimport { Row, Col, Form, Select, Input, Space, notification } from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport FactoryService from \"../../../../services/factoryservice\";\r\n\r\nconst { Option } = Select;\r\n\r\n/**\r\n * Contact Form as a part of Factory Creation\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\nexport default class ContactForm extends React.Component {\r\n factoryService = new FactoryService();\r\n /**\r\n * State Varibales\r\n *\r\n * @var states : object related to state dropdown\r\n * @var cities : object related to cities dropdown\r\n * @var zones : object related to zones dropdown\r\n */\r\n state = {\r\n states: {\r\n selected: this.props.values.state,\r\n data: [],\r\n disabled: true,\r\n },\r\n cities: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n zones: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n };\r\n /**\r\n * API calls to fetch data and populate the dropdowns\r\n */\r\n componentDidMount() {\r\n this.getStateList();\r\n this.getZoneList();\r\n if (this.props.values.state) {\r\n this.getCityList(this.props.values.state);\r\n }\r\n }\r\n\r\n /**\r\n * Get the list of state to populate the dropdown\r\n * and enable the dropdown itself\r\n * @added 18 June 2020\r\n */\r\n getStateList = () => {\r\n this.factoryService.getStateList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n states: {\r\n ...this.state.states,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of states\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCityList = (cityID) => {\r\n this.factoryService\r\n .getCityListByState(cityID ? cityID : this.props.values.state)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n cities: {\r\n ...this.state.cities,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of states\",\r\n });\r\n }\r\n });\r\n };\r\n /**\r\n * Get the list of zones and enable the zone dropdown\r\n * @added 18 June 2020\r\n */\r\n getZoneList = () => {\r\n this.factoryService.getZoneList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n zones: {\r\n ...this.state.zones,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of zones\",\r\n });\r\n }\r\n });\r\n };\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\r\n return (\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/input/\r\n * https://ant.design/components/input/#API\r\n */}\r\n \r\n {\r\n this.setState(\r\n {\r\n states: { ...this.state.states, selected: value },\r\n },\r\n () => this.getCityList(value)\r\n );\r\n }}\r\n disabled={this.state.states.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.states.data.length !== 0\r\n ? this.state.states.data.map((state) => {\r\n return state.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/input/\r\n * https://ant.design/components/input/#API\r\n *\r\n * @todo Fetch Cities based on state selection\r\n */}\r\n prev.state !== next.state}\r\n >\r\n \r\n this.setState({\r\n cities: { ...this.state.cities, selected: value },\r\n zones: { ...this.state.zones, disabled: false },\r\n })\r\n }\r\n disabled={this.state.cities.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.cities.data.length !== 0\r\n ? this.state.cities.data.map((city) => {\r\n return city.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/input/\r\n * https://ant.design/components/input/#API\r\n *\r\n * @todo Fetch Zones based on city selection\r\n */}\r\n \r\n \r\n this.setState({\r\n zones: { ...this.state.zones, selected: value },\r\n })\r\n }\r\n disabled={this.state.zones.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.zones.data.length !== 0\r\n ? this.state.zones.data.map((zone) => {\r\n return zone.value !== \"-1\" ? (\r\n \r\n ) : null;\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 * @todo Fetch Users from database\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * @todo Fetch Users from database\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 {!disableAll ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport { Steps, PageHeader, Form, notification, Spin } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./general.addfactory\";\r\nimport ContactForm from \"./contact.addfactory\";\r\nimport FactoryService from \"../../../../services/factoryservice\";\r\nimport ROUTES from \"../../../../routes\";\r\nconst { Step } = Steps;\r\n\r\n/**\r\n * Add Factory Form as a part of Factory Master Module\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n *\r\n * @module Master\r\n */\r\nclass AddFactory extends React.Component {\r\n factoryService = new FactoryService();\r\n /**\r\n * State Variables\r\n * @var factoryID : ID of factory 0 if this is to add factory\r\n * @var activeStep : holds active form step\r\n * @var stepDirection : holds direction of steps horizontal/vertical\r\n * @var stepSize : size of steps\r\n * @var generalFormValues : values submitted through generalForm\r\n * @var contactFormValues : values submitted through contactForm\r\n */\r\n state = {\r\n factoryID: 0,\r\n activeStep: 0,\r\n fullLoading: false,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n mode: \"add\",\r\n };\r\n /**\r\n * A function to responsively set direction of the steps\r\n */\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n /**\r\n * bind the setStepDirection to the resize event of windows\r\n */\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_FACTORY, \":factoryID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getFactory(this.props.location.state.factoryID);\r\n } else if (\r\n [ROUTES.VIEW_FACTORY, \":factoryID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getFactory(this.props.location.state.factoryID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getFactory = (id) => {\r\n this.setState({ fullLoading: true });\r\n this.factoryService.getFactory(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.factoryID === parseInt(id)\r\n ) {\r\n this.setState({ factoryID: response.data.factoryID });\r\n this.setState({\r\n generalFormValues: {\r\n factoryName: response.data.factoryName,\r\n shortName: response.data.shortName,\r\n openingDate: [null, undefined, \"\"].includes(\r\n response.data.openingDate\r\n )\r\n ? undefined\r\n : moment(response.data.openingDate, \"M/D/YYYY\"),\r\n deliveryType: [null, undefined, \"\"].includes(\r\n response.data.deliveryType\r\n )\r\n ? undefined\r\n : response.data.deliveryType.split(\",\"),\r\n operatingDays: response.data.operatingDays.split(\",\"),\r\n operatingTime: [\r\n moment(response.data.operatingTimeFrom, \"h:mm a\"),\r\n moment(response.data.operatingTimeTo, \"h:mm a\"),\r\n ],\r\n status: [null, undefined, \"\"].includes(response.data.status)\r\n ? undefined\r\n : response.data.status.toString(),\r\n serviceIDs: [null, undefined, \"\"].includes(response.data.serviceIDs)\r\n ? undefined\r\n : response.data.serviceIDs.split(\",\"),\r\n },\r\n });\r\n this.setState({\r\n contactFormValues: {\r\n state: [null, undefined, \"\"].includes(response.data.stateID)\r\n ? undefined\r\n : response.data.stateID.toString(),\r\n city: [null, undefined, \"\"].includes(response.data.cityID)\r\n ? undefined\r\n : response.data.cityID.toString(),\r\n address: response.data.address,\r\n zone: [null, undefined, \"\"].includes(response.data.zone)\r\n ? undefined\r\n : response.data.zone.toString(),\r\n phoneNumber: response.data.phone,\r\n factoryExecutive: response.data.factoryExecutiveName,\r\n factoryManager: response.data.factoryManagerName,\r\n },\r\n });\r\n this.setState({ fullLoading: false });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: \"Unable to get factory data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n addUpdateFactory = () => {\r\n this.setState({ fullLoading: true });\r\n const postData = {\r\n factoryID: this.state.factoryID,\r\n factoryName: this.state.generalFormValues.factoryName,\r\n shortName: this.state.generalFormValues.shortName,\r\n openingDate: this.state.generalFormValues.openingDate\r\n ? this.state.generalFormValues.openingDate.format(\"YYYY-MM-DD\")\r\n : null,\r\n deliveryType: this.state.generalFormValues.deliveryType.join(\",\"),\r\n operatingDays: this.state.generalFormValues.operatingDays.join(\",\"),\r\n operatingTimeFrom: this.state.generalFormValues.operatingTime[0].format(\r\n \"HH:mm\"\r\n ),\r\n operatingTimeTo: this.state.generalFormValues.operatingTime[1].format(\r\n \"HH:mm\"\r\n ),\r\n status: parseInt(this.state.generalFormValues.status),\r\n stateID: parseInt(this.state.contactFormValues.state),\r\n cityID: parseInt(this.state.contactFormValues.city),\r\n address: this.state.contactFormValues.address,\r\n zone: parseInt(this.state.contactFormValues.zone),\r\n phone: this.state.contactFormValues.phoneNumber,\r\n factoryExecutiveName: this.state.contactFormValues.factoryExecutive,\r\n factoryManagerName: this.state.contactFormValues.factoryManager,\r\n serviceIDs: this.state.generalFormValues.serviceIDs.join(\",\"),\r\n };\r\n this.factoryService.addUpdateFactory(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Factory Master\",\r\n description: response.message ? response.message : \"Form Submitted\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to submit the form\",\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n generalForm = React.createRef();\r\n contactForm = React.createRef();\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n const contactValidator = this.contactForm.current.validateFields();\r\n Promise.allSettled([generalValidator, contactValidator]).then(\r\n (responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[1].status === \"rejected\") {\r\n this.setState({ activeStep: 1 });\r\n } else if (\r\n responses[0].status === \"fulfilled\" &&\r\n responses[1].status === \"fulfilled\"\r\n ) {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n contactFormValues: responses[1].value,\r\n },\r\n () => {\r\n this.addUpdateFactory();\r\n }\r\n );\r\n }\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/* {JSON.stringify(this.state)} */}\r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Factory\",\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n nextFunction={() => this.setState({ activeStep: 1 })}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n />\r\n \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n nextFunction={this.handleSubmit}\r\n isActive={this.state.activeStep === 1}\r\n instance={this.contactForm}\r\n mode={this.state.mode}\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(AddFactory);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class CustomerService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n async getAllCustomers(\r\n index = 0,\r\n size = 0,\r\n column = null,\r\n order = null,\r\n search = null\r\n ) {\r\n const allCustomersAPI = new API({ url: this.config.ITEM_URL });\r\n allCustomersAPI.createEntity({ name: this.endpoint.GET_ALL_CUSTOMERS });\r\n let customers = [];\r\n let payload = {\r\n customerID: 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n mobileNo: \"\",\r\n emailID: \"\",\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: column,\r\n sortOrder: order,\r\n commonSearch: search,\r\n };\r\n await allCustomersAPI.endpoints[this.endpoint.GET_ALL_CUSTOMERS]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n customers = response.data;\r\n })\r\n .catch((err) => {\r\n customers = this.common.handleError(err);\r\n });\r\n if (customers.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n customers = this.getAllCustomers(index, size, column, order, search);\r\n });\r\n }\r\n return Promise.resolve(customers);\r\n }\r\n async getCustomerTypes() {\r\n const customerTypesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n customerTypesAPI.createEntity({ name: this.endpoint.GET_CUSTOMER_TYPES });\r\n let returnVal = [];\r\n await customerTypesAPI.endpoints[this.endpoint.GET_CUSTOMER_TYPES]\r\n .getAll()\r\n .then((response) => (returnVal = response.data))\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getCustomerTypes();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n async getBillingCycle() {\r\n const billingCycleAPI = new API({ url: this.config.DROPDOWN_URL });\r\n billingCycleAPI.createEntity({ name: this.endpoint.GET_BILLING_CYCLES });\r\n let returnVal = [];\r\n await billingCycleAPI.endpoints[this.endpoint.GET_BILLING_CYCLES]\r\n .getAll()\r\n .then((response) => (returnVal = response.data))\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getBillingCycle();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n async getGenders() {\r\n const genderAPI = new API({ url: this.config.DROPDOWN_URL });\r\n genderAPI.createEntity({ name: this.endpoint.GET_GENDERS });\r\n let returnVal = [];\r\n await genderAPI.endpoints[this.endpoint.GET_GENDERS]\r\n .getAll()\r\n .then((response) => (returnVal = response.data))\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getGenders();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getCorporate() {\r\n const genderAPI = new API({ url: this.config.DROPDOWN_URL });\r\n genderAPI.createEntity({ name: this.endpoint.GET_CORPORATE });\r\n let returnVal = [];\r\n await genderAPI.endpoints[this.endpoint.GET_CORPORATE]\r\n .getAll()\r\n .then((response) => (returnVal = response.data))\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getCorporate();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getCustomer(ID) {\r\n const customerAPI = new API({ url: this.config.ITEM_URL });\r\n customerAPI.createEntity({ name: this.endpoint.GET_CUSTOMER });\r\n let customer = [];\r\n const idParams = \"?CustomerID=\" + ID;\r\n await customerAPI.endpoints[this.endpoint.GET_CUSTOMER]\r\n .getById(idParams)\r\n .then((response) => (customer = response.data))\r\n .catch((err) => {\r\n customer = this.common.handleError(err);\r\n });\r\n if (customer.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n customer = this.getCustomer(ID);\r\n });\r\n }\r\n return Promise.resolve(customer);\r\n }\r\n\r\n async addUpdateCustomer(customer) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ADD_UPDATE_CUSTOMER });\r\n let returnVal = [];\r\n const params = { ...customer, sourceFrom: 1 };\r\n await addUpdateAPI.endpoints[this.endpoint.ADD_UPDATE_CUSTOMER]\r\n .create(params)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdateCustomer(customer);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async addUpdateAddress(address) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ADD_UPDATE_ADDRESS });\r\n let returnVal = [];\r\n const params = {\r\n ...address,\r\n sourceFrom: 1,\r\n };\r\n await addUpdateAPI.endpoints[this.endpoint.ADD_UPDATE_ADDRESS]\r\n .getAllPost(params)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdateAddress(address);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getCustomerAddresses(id) {\r\n const getAddressAPI = new API({ url: this.config.ITEM_URL });\r\n getAddressAPI.createEntity({ name: this.endpoint.GET_CUSTOMER_ADDRESSES });\r\n let addresses = [];\r\n const idParam = \"?CustomerId=\" + id;\r\n await getAddressAPI.endpoints[this.endpoint.GET_CUSTOMER_ADDRESSES]\r\n .getOne(idParam)\r\n .then((response) => (addresses = response.data))\r\n .catch((err) => {\r\n addresses = this.common.handleError(err);\r\n });\r\n if (addresses.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n addresses = this.addUpdateAddress(id);\r\n });\r\n }\r\n return Promise.resolve(addresses);\r\n }\r\n\r\n async getStateList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GETSTATELIST });\r\n let states = [];\r\n await stateListAPI.endpoints[this.endpoint.GETSTATELIST]\r\n .getAll()\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getStateList();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getCityListByState(id) {\r\n const getCitiesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n getCitiesAPI.createEntity({ name: this.endpoint.GET_CITIES_BY_STATE });\r\n let cities = [];\r\n let idParams = {\r\n params: {\r\n StateID: id,\r\n },\r\n };\r\n await getCitiesAPI.endpoints[this.endpoint.GET_CITIES_BY_STATE]\r\n .getAll(idParams)\r\n .then((response) => {\r\n cities = response.data;\r\n })\r\n .catch((err) => {\r\n cities = this.common.handleError(err);\r\n });\r\n if (cities.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n cities = this.getCityListByState(id);\r\n });\r\n }\r\n return Promise.resolve(cities);\r\n }\r\n\r\n async sendMobileOTP(id) {\r\n const sendOTPAPI = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n sendOTPAPI.createEntity({ name: this.endpoint.SEND_OTP });\r\n let otp = [];\r\n let idParams = {\r\n customerID: id,\r\n };\r\n await sendOTPAPI.endpoints[this.endpoint.SEND_OTP]\r\n .getAllPost(idParams)\r\n .then((response) => {\r\n otp = response.data;\r\n })\r\n .catch((err) => {\r\n otp = this.common.handleError(err);\r\n });\r\n if (otp.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n otp = this.sendMobileOTP(id);\r\n });\r\n }\r\n return Promise.resolve(otp);\r\n }\r\n\r\n async verifyMobileOTP(postData) {\r\n const sendOTPAPI = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n sendOTPAPI.createEntity({ name: this.endpoint.VERIFY_OTP });\r\n let otp = [];\r\n await sendOTPAPI.endpoints[this.endpoint.VERIFY_OTP]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n otp = response.data;\r\n })\r\n .catch((err) => {\r\n otp = this.common.handleError(err);\r\n });\r\n if (otp.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n otp = this.verifyMobileOTP(postData);\r\n });\r\n }\r\n return Promise.resolve(otp);\r\n }\r\n\r\n async deleteCustomerAddress(id) {\r\n const getAddressAPI = new API({ url: this.config.ITEM_URL });\r\n getAddressAPI.createEntity({ name: this.endpoint.DELETE_ADDRESS });\r\n let addresses = [];\r\n const idParam = {\r\n customerAddressIDs: id.toString(),\r\n sourceFrom: 1,\r\n };\r\n await getAddressAPI.endpoints[this.endpoint.DELETE_ADDRESS]\r\n .getAllPost(idParam)\r\n .then((response) => (addresses = response.data))\r\n .catch((err) => {\r\n addresses = this.common.handleError(err);\r\n });\r\n if (addresses.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n addresses = this.deleteCustomerAddress(id);\r\n });\r\n }\r\n return Promise.resolve(addresses);\r\n }\r\n\r\n async getAddressTypes() {\r\n const customerTypesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n customerTypesAPI.createEntity({ name: this.endpoint.GET_ADDRESS_TYPES });\r\n let returnVal = [];\r\n await customerTypesAPI.endpoints[this.endpoint.GET_ADDRESS_TYPES]\r\n .getAll()\r\n .then((response) => (returnVal = response.data))\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getAddressTypes();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async VerifyCutomerEmail(Emailtoken) {\r\n const sendOTPAPI = new API({ url: this.config.LAUNDRETKART_AUTH });\r\n sendOTPAPI.createEntity({\r\n name: this.endpoint.CUSTOMER_EMAIL_VERIFICATION,\r\n });\r\n let itemArray = [];\r\n let idParams = {\r\n customerID: 0,\r\n token: Emailtoken,\r\n isEmailVerified: true,\r\n };\r\n await sendOTPAPI.endpoints[this.endpoint.CUSTOMER_EMAIL_VERIFICATION]\r\n .getAllPost(idParams)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.VerifyCutomerEmail(Emailtoken);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\n\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Table,\r\n notification,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport CustomerService from \"../../../services/customerservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nimport Moment from \"moment\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A customer master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 25 June 2020\r\n */\r\nclass Master extends React.Component {\r\n customerService = new CustomerService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.CUSTOMER\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"customerID\",\r\n // key: \"customerID\",\r\n // width: \"3%\",\r\n // sorter: true,\r\n // },\r\n columns = [\r\n {\r\n title: labels.FIRST_NAME,\r\n dataIndex: \"firstName\",\r\n key: \"firstName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.LAST_NAME,\r\n dataIndex: \"lastName\",\r\n key: \"lastName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GENDER,\r\n dataIndex: \"genderName\",\r\n key: \"genderName\",\r\n width: \"80px\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.EMAIL,\r\n dataIndex: \"emailID\",\r\n key: \"emailID\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n sorter: true,\r\n render: (emailID) => {\r\n return (\r\n \r\n {emailID}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.PHONE,\r\n dataIndex: \"mobileNo\",\r\n key: \"mobileNo\",\r\n width: \"100px\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TYPE,\r\n dataIndex: \"customerTypeName\",\r\n key: \"customerTypeName\",\r\n width: \"100px\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.BILLING_CYCLE,\r\n dataIndex: \"billingCycleName\",\r\n key: \"billingCycleName\",\r\n width: \"100px\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.REGISTERED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n width: \"100px\",\r\n sorter: true,\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 componentDidMount() {\r\n this.getCustomerList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n getCustomerList = (\r\n index,\r\n size,\r\n column = this.state.sorter.field,\r\n order = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n this.setState({ tableLoading: true });\r\n this.customerService\r\n .getAllCustomers(index, size, column, order, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let customerData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.customerID;\r\n customerData.push(singleData);\r\n return true;\r\n });\r\n this.setState({ factories: customerData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: customerData.length ? customerData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Manage Customers\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to get list of customers\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n render() {\r\n return (\r\n
\r\n {\r\n this.setState(\r\n { search: event.target.value.toString().toLowerCase() },\r\n () => {\r\n this.getCustomerList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Customer Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.props.history.push(ROUTES.ADD_CUSTOMER)}\r\n key=\"2\"\r\n >\r\n {labels.ADD_CUSTOMER}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getCustomerList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport CustomerMaster from \"../../../components/Master/Customer/customermaster.component\";\r\n/**\r\n * Customer Master Screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 25 June 2020\r\n */\r\nexport default class CustomerMasterScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n Input,\r\n DatePicker,\r\n Space,\r\n notification,\r\n Radio,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport CustomerService from \"../../../../services/customerservice\";\r\nimport { RegexLetters, MessageLetters } from \"../../../../shared/validator\";\r\nimport moment from \"moment\";\r\nimport { labels } from \"../../../../shared/language\";\r\nconst { Option } = Select;\r\n/**\r\n * General form as a part of add customer screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 25 June 2020\r\n */\r\nexport default class GeneralForm extends React.Component {\r\n /**\r\n * Initalizing Factory Service\r\n */\r\n customerService = new CustomerService();\r\n\r\n /**\r\n * Storing objects for dynamic controls\r\n *\r\n * @added 18 June 2020\r\n */\r\n state = {\r\n customerType: {\r\n selected: null,\r\n disabled: true,\r\n data: [],\r\n },\r\n billingCycle: {\r\n disabled: true,\r\n data: [],\r\n },\r\n gender: {\r\n disabled: true,\r\n data: [],\r\n },\r\n corporate: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n /**\r\n * API Calls on component mounting to populate dropdowns\r\n * @added 18 June 2020\r\n */\r\n componentDidMount() {\r\n this.getCustomerTypes();\r\n this.getBillingCycles();\r\n this.getGenders();\r\n this.getCorporate();\r\n }\r\n /**\r\n * Populating Delivery Type Dropdown\r\n * @added 18 June 2020\r\n */\r\n getCustomerTypes = () => {\r\n this.customerService.getCustomerTypes().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerType: {\r\n ...this.state.customerType,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Manage Customers\",\r\n description: \"Unable to get data for customer types\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getBillingCycles() {\r\n this.customerService.getBillingCycle().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n billingCycle: {\r\n ...this.state.billingCycle,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Manage Customers\",\r\n description: \"Unable to get data for billing cycle list\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n getGenders() {\r\n this.customerService.getGenders().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n gender: {\r\n ...this.state.gender,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Manage Customers\",\r\n description: \"Unable to get data for gender\",\r\n });\r\n }\r\n });\r\n }\r\n getCorporate() {\r\n this.customerService.getCorporate().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n corporate: {\r\n ...this.state.corporate,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Manage Customers\",\r\n description: \"Unable to get data for gender\",\r\n });\r\n }\r\n });\r\n }\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\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 {this.state.gender.data.length !== 0\r\n ? this.state.gender.data.map((type) => {\r\n return type.value !== \"-1\" ? (\r\n \r\n {type.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n current.isSameOrAfter(moment())}\r\n />\r\n \r\n \r\n \r\n \r\n current.isSameOrAfter(moment())}\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 customerType: {\r\n ...this.state.customerType,\r\n selected: value,\r\n },\r\n });\r\n }}\r\n disabled={this.state.customerType.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.customerType.data.length !== 0\r\n ? this.state.customerType.data.map((type) => {\r\n return type.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n {this.props.mode !== \"add\" ? (\r\n this.props.values.customerType !== undefined ? (\r\n this.props.values.customerType.toString() === \"2\" ? (\r\n \r\n \r\n null}\r\n disabled={this.state.corporate.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n allowClear\r\n >\r\n {this.state.corporate.data.length !== 0\r\n ? this.state.corporate.data.map((single) => {\r\n return single.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n ) : null\r\n ) : null\r\n ) : this.state.customerType.selected === \"2\" ? (\r\n \r\n \r\n null}\r\n disabled={this.state.corporate.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.corporate.data.length !== 0\r\n ? this.state.corporate.data.map((single) => {\r\n return single.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n next.customerType === 3 ||\r\n next.customerType !== prev.customerType\r\n ? true\r\n : false\r\n }\r\n >\r\n null}\r\n disabled={this.state.billingCycle.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.billingCycle.data.length !== 0\r\n ? this.state.billingCycle.data.map((cycle) => {\r\n if (this.state.customerType.selected !== \"3\") {\r\n return cycle.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n } else {\r\n return cycle.value === \"4\" ? (\r\n \r\n ) : null;\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 {labels.YES}\r\n {labels.NO}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.YES}\r\n {labels.NO}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {labels.CANCEL}\r\n \r\n {disableAll ? null : (\r\n \r\n {labels.SUBMIT}\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { createRef } from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n notification,\r\n Popconfirm,\r\n Form,\r\n Modal,\r\n Row,\r\n Col,\r\n Select,\r\n Space,\r\n Table,\r\n Tooltip,\r\n Checkbox,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport CustomerService from \"../../../../services/customerservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faInfo,\r\n // faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../../shared/validator\";\r\nimport { labels } from \"../../../../shared/language\";\r\n// const { Search } = Input;\r\nimport Common from \"../../../../services/common\";\r\nconst { Option } = Select;\r\n// const {\r\n// withScriptjs,\r\n// withGoogleMap,\r\n// GoogleMap,\r\n// Marker,\r\n// } = require(\"react-google-maps\");\r\n\r\nclass Addresses extends React.Component {\r\n customerService = new CustomerService();\r\n common = new Common();\r\n state = {\r\n modalLoading: false,\r\n customerID: null,\r\n customerAddressID: 0,\r\n customerObj: {},\r\n addresses: [],\r\n showAddPopup: false,\r\n states: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n cities: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n addressTypeID: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n tableLoading: true,\r\n currentAddress: {},\r\n popupMode: \"add\",\r\n dummyVar: \"\",\r\n pincodea: 121212,\r\n isMapInitialized: true,\r\n selectedAddressTypeValue: \"\",\r\n };\r\n mapHolder = React.createRef();\r\n searchInput = createRef();\r\n pinCodeRef = createRef();\r\n latInput = createRef();\r\n lonInput = createRef();\r\n form = React.createRef();\r\n componentDidMount() {\r\n if (this.props.customerID === 0) {\r\n this.props.history.goBack();\r\n } else {\r\n this.getCustomer(this.props.customerID);\r\n }\r\n\r\n this.getStateList();\r\n this.getAddresses(this.props.customerID);\r\n this.getAddressTypes();\r\n }\r\n\r\n handleModalLoad() {\r\n var isPopupRendered = this.mapHolder.current;\r\n if (this.state.isMapInitialized == false && isPopupRendered == null) {\r\n this.setState({ dummyVar: 1 });\r\n }\r\n if (this.state.isMapInitialized == false && isPopupRendered != null) {\r\n // this.InitGoogleMapSearch();\r\n this.InitGoogleMapAutocomplete();\r\n this.setState({ isMapInitialized: true });\r\n }\r\n }\r\n\r\n InitGoogleMapAutocomplete = () => {\r\n //load MAP\r\n let latval = this.form.current.getFieldValue(\"latitude\");\r\n let myLatLng = { lat: 12.8795358, lng: 77.6345568 };\r\n if (latval !== undefined) {\r\n myLatLng = {\r\n lat: parseFloat(this.form.current.getFieldValue(\"latitude\")),\r\n lng: parseFloat(this.form.current.getFieldValue(\"longitude\")),\r\n };\r\n }\r\n const map = new window.google.maps.Map(this.mapHolder.current, {\r\n center: myLatLng,\r\n zoom: 15,\r\n mapTypeId: \"roadmap\",\r\n });\r\n\r\n // const southwest = { lat: 11.599208, lng: 77.832233 };\r\n // const northeast = { lat: 11.478537, lng: 78.594635 };\r\n // const newBounds = new window.google.maps.LatLngBounds(southwest, northeast);\r\n\r\n \r\n const options = {\r\n // fields: [\"address\", \"geometry\", \"name\"],\r\n // locationBias: {radius: 100, center: {lat: 37.402105, lng: -122.081974}},\r\n // LatLngBounds: newBounds,\r\n strictBounds: false,\r\n componentRestrictions: {\r\n country: \"IN\",\r\n },\r\n };\r\n\r\n const input = this.searchInput.current.input;\r\n\r\n const autocomplete = new window.google.maps.places.Autocomplete(\r\n input,\r\n options\r\n );\r\n\r\n autocomplete.bindTo(\"bounds\", map);\r\n\r\n let markers = [];\r\n\r\n autocomplete.set(\"place\", null);\r\n autocomplete.addListener(\"place_changed\", () => {\r\n const place = autocomplete.getPlace();\r\n if (!place.geometry || !place.geometry.location) {\r\n // User entered the name of a Place that was not suggested and\r\n // pressed the Enter key, or the Place Details request failed.\r\n window.alert(\"No details available for input: '\" + place.name + \"'\");\r\n return;\r\n }\r\n\r\n if (place.geometry.viewport) {\r\n map.fitBounds(place.geometry.viewport);\r\n } else {\r\n map.setCenter(place.geometry.location);\r\n map.setZoom(17);\r\n }\r\n\r\n // console.log(\"place->\", place);\r\n\r\n this.form.current.setFieldsValue({\r\n latitude: place.geometry.location.lat(),\r\n longitude: place.geometry.location.lng(),\r\n address: place.formatted_address,\r\n });\r\n\r\n var address_components = place.address_components;\r\n for (var j = 0; j < address_components.length; j++) {\r\n if (address_components[j][\"types\"].indexOf(\"postal_code\") > -1) {\r\n this.form.current.setFieldsValue({\r\n pinCode: address_components[j][\"long_name\"],\r\n });\r\n // document.getElementById(\"pinCodeRef\").value = address_components[j][\"long_name\"];\r\n // this.pinCodeRef.current.input.value = address_components[j][\"long_name\"];\r\n // this.setState({ pincode: address_components[j][\"long_name\"] });\r\n }\r\n }\r\n\r\n // Clear out the old markers.\r\n markers.forEach((marker) => {\r\n marker.setMap(null);\r\n });\r\n // markers = [];\r\n\r\n // For each place, get the icon, name and location.\r\n const bounds = new window.google.maps.LatLngBounds();\r\n if (place != null) {\r\n const icon = {\r\n // url: base_url + \"images/account/map-pin.png\",\r\n size: new window.google.maps.Size(71, 71),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(17, 34),\r\n };\r\n // Create a marker for each place.\r\n\r\n var marker = new window.google.maps.Marker({\r\n map,\r\n icon,\r\n title: place.name,\r\n draggable: true,\r\n animation: window.google.maps.Animation.DROP,\r\n position: place.geometry.location,\r\n });\r\n marker.geocodePosition = this.geocodePosition;\r\n window.google.maps.event.addListener(\r\n marker,\r\n \"dragend\",\r\n function (event) {\r\n marker.geocodePosition(\r\n marker.getPosition(),\r\n this.position.lat(),\r\n this.position.lng()\r\n );\r\n }\r\n );\r\n markers.push(marker);\r\n\r\n // console.log(\"marker->\", marker);\r\n\r\n if (place.geometry.viewport) {\r\n bounds.union(place.geometry.viewport);\r\n } else {\r\n bounds.extend(place.geometry.location);\r\n }\r\n }\r\n map.fitBounds(bounds);\r\n });\r\n\r\n //show on view\r\n // const myLatLng = { lat: parseFloat( this.form.current.getFieldValue('latitude')), lng: parseFloat( this.form.current.getFieldValue('longitude')) };\r\n // var myLatlng = new window.google.maps.LatLng(parseFloat( this.form.current.getFieldValue('latitude')),parseFloat( this.form.current.getFieldValue('longitude')));\r\n // console.log(myLatLng);\r\n new window.google.maps.Marker({\r\n position: myLatLng,\r\n map,\r\n center: myLatLng,\r\n });\r\n };\r\n\r\n InitGoogleMapSearch = () => {\r\n //load MAP\r\n let latval = this.form.current.getFieldValue(\"latitude\");\r\n let myLatLng = { lat: 12.8795358, lng: 77.6345568 };\r\n if (latval !== undefined) {\r\n myLatLng = {\r\n lat: parseFloat(this.form.current.getFieldValue(\"latitude\")),\r\n lng: parseFloat(this.form.current.getFieldValue(\"longitude\")),\r\n };\r\n }\r\n const map = new window.google.maps.Map(this.mapHolder.current, {\r\n center: myLatLng,\r\n zoom: 15,\r\n mapTypeId: \"roadmap\",\r\n });\r\n const input = this.searchInput.current.input;\r\n const searchBox = new window.google.maps.places.SearchBox(input, {\r\n types: [\"address\"],\r\n componentRestrictions: {\r\n country: \"IN\",\r\n },\r\n });\r\n\r\n map.addListener(\"bounds_changed\", () => {\r\n searchBox.setBounds(map.getBounds());\r\n });\r\n\r\n let markers = [];\r\n searchBox.addListener(\"places_changed\", () => {\r\n const places = searchBox.getPlaces();\r\n if (places.length == 0) {\r\n return;\r\n }\r\n\r\n this.form.current.setFieldsValue({\r\n latitude: places[0][\"geometry\"][\"location\"].lat(),\r\n longitude: places[0][\"geometry\"][\"location\"].lng(),\r\n address: places[0][\"formatted_address\"],\r\n });\r\n\r\n var address_components = places[0][\"address_components\"];\r\n for (var j = 0; j < address_components.length; j++) {\r\n if (address_components[j][\"types\"].indexOf(\"postal_code\") > -1) {\r\n this.form.current.setFieldsValue({\r\n pinCode: address_components[j][\"long_name\"],\r\n });\r\n // document.getElementById(\"pinCodeRef\").value = address_components[j][\"long_name\"];\r\n // this.pinCodeRef.current.input.value = address_components[j][\"long_name\"];\r\n // this.setState({ pincode: address_components[j][\"long_name\"] });\r\n }\r\n }\r\n\r\n // Clear out the old markers.\r\n markers.forEach((marker) => {\r\n marker.setMap(null);\r\n });\r\n markers = [];\r\n\r\n // For each place, get the icon, name and location.\r\n const bounds = new window.google.maps.LatLngBounds();\r\n places.forEach((place) => {\r\n if (!place.geometry) {\r\n console.log(\"Returned place contains no geometry\");\r\n return;\r\n }\r\n const icon = {\r\n // url: base_url + \"images/account/map-pin.png\",\r\n size: new window.google.maps.Size(71, 71),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(17, 34),\r\n };\r\n // Create a marker for each place.\r\n\r\n var marker = new window.google.maps.Marker({\r\n map,\r\n icon,\r\n title: place.name,\r\n draggable: true,\r\n animation: window.google.maps.Animation.DROP,\r\n position: place.geometry.location,\r\n });\r\n marker.geocodePosition = this.geocodePosition;\r\n window.google.maps.event.addListener(\r\n marker,\r\n \"dragend\",\r\n function (event) {\r\n marker.geocodePosition(\r\n marker.getPosition(),\r\n this.position.lat(),\r\n this.position.lng()\r\n );\r\n }\r\n );\r\n markers.push(marker);\r\n\r\n if (place.geometry.viewport) {\r\n bounds.union(place.geometry.viewport);\r\n } else {\r\n bounds.extend(place.geometry.location);\r\n }\r\n });\r\n map.fitBounds(bounds);\r\n });\r\n\r\n //show on view\r\n // const myLatLng = { lat: parseFloat( this.form.current.getFieldValue('latitude')), lng: parseFloat( this.form.current.getFieldValue('longitude')) };\r\n // var myLatlng = new window.google.maps.LatLng(parseFloat( this.form.current.getFieldValue('latitude')),parseFloat( this.form.current.getFieldValue('longitude')));\r\n // console.log(myLatLng);\r\n new window.google.maps.Marker({\r\n position: myLatLng,\r\n map,\r\n center: myLatLng,\r\n });\r\n };\r\n\r\n geocodePosition = (pos, lat, lan) => {\r\n this.form.current.setFieldsValue({\r\n latitude: lat,\r\n longitude: lan,\r\n });\r\n\r\n var geocoder = new window.google.maps.Geocoder();\r\n\r\n geocoder.geocode(\r\n {\r\n latLng: pos,\r\n },\r\n this.geocodeResponseHandler\r\n );\r\n };\r\n geocodeResponseHandler = (results, status) => {\r\n if (status == window.google.maps.GeocoderStatus.OK) {\r\n var address_components = results[0][\"address_components\"];\r\n for (var j = 0; j < address_components.length; j++) {\r\n if (address_components[j][\"types\"].indexOf(\"postal_code\") > -1) {\r\n this.form.current.setFieldsValue({\r\n address: results[0][\"formatted_address\"],\r\n pinCode: address_components[j][\"long_name\"],\r\n });\r\n }\r\n }\r\n\r\n // $(\"#mapErrorMsg\").hide(100);\r\n } else {\r\n // $(\"#mapErrorMsg\").html('Cannot determine address at this location.' + status).show(100);\r\n }\r\n };\r\n\r\n getAddressTypes = () => {\r\n this.customerService.getAddressTypes().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n addressTypeID: {\r\n ...this.state.addressTypeID,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: this.common.Message(response.message)\r\n ? response.message\r\n : \"Unable to get address types\",\r\n });\r\n }\r\n });\r\n };\r\n getCustomer = (id) => {\r\n this.customerService.getCustomer(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ customerObj: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to get customer data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n getAddresses = (id) => {\r\n this.customerService.getCustomerAddresses(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n let modifiedData = response.data.map((singleObj) => {\r\n singleObj.key = singleObj.customerAddressID;\r\n return singleObj;\r\n });\r\n this.setState({ addresses: modifiedData });\r\n this.setState({ tableLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to get customer addresses\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n getStateList = () => {\r\n this.customerService.getStateList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n states: {\r\n ...this.state.states,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to get list of states\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCityList = (cityID) => {\r\n this.customerService.getCityListByState(cityID).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n cities: {\r\n ...this.state.cities,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to get list of states\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateAddress(values) {\r\n const postData = {\r\n customerAddressID: this.state.currentAddress.customerAddressID\r\n ? this.state.currentAddress.customerAddressID\r\n : 0,\r\n customerID: this.state.customerObj.customerID,\r\n addressType:\r\n values.addressTypeID !== \"Other\"\r\n ? values.addressTypeID.toString()\r\n : values.otherAddressType,\r\n latitude:\r\n values.latitude !== undefined ? values.latitude.toString() : null,\r\n longitude:\r\n values.longitude !== undefined ? values.longitude.toString() : null,\r\n address: values.address,\r\n howToReach: values.howToReach !== undefined ? values.howToReach : null,\r\n houseNo: values.houseNo,\r\n landmark: values.howToReach !== undefined ? values.landmark : null,\r\n cityID: parseInt(values.cityID),\r\n stateID: parseInt(values.stateID),\r\n pinCode: values.pinCode,\r\n isDefault: [null, undefined, \"\"].includes(values.isDefault)\r\n ? false\r\n : values.isDefault,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.customerService.addUpdateAddress(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Address Sucessfully Added\",\r\n message: \"Customer Master\",\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to add address\",\r\n });\r\n }\r\n this.setState({ showAddPopup: false });\r\n this.setState({ modalLoading: false });\r\n this.getAddresses(this.props.customerID);\r\n this.setState({ isMapInitialized: false });\r\n });\r\n }\r\n handleViewEditAddress = (address, mode) => {\r\n this.getCityList(address.stateID.toString());\r\n const newAddress = {\r\n ...address,\r\n stateID: address.stateID.toString(),\r\n cityID: address.cityID.toString(),\r\n addressTypeID: address.addressType.toString(),\r\n };\r\n\r\n this.setState({ currentAddress: newAddress });\r\n this.setState({ popupMode: mode });\r\n this.setState({ showAddPopup: true });\r\n this.setState({ isMapInitialized: false });\r\n };\r\n handleDeleteAddress(addressID) {\r\n this.customerService\r\n .deleteCustomerAddress(parseInt(addressID))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Address deleted successfully\",\r\n });\r\n this.getAddresses(this.props.customerID);\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to delete address\",\r\n });\r\n }\r\n });\r\n }\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.setState({ isMapInitialized: false });\r\n };\r\n columns = [\r\n {\r\n title: labels.ID,\r\n dataIndex: \"customerAddressID\",\r\n key: \"customerAddressID\",\r\n width: \"3%\",\r\n },\r\n {\r\n title: labels.TYPE,\r\n dataIndex: \"addressType\",\r\n key: \"addressType\",\r\n },\r\n {\r\n title: labels.ADDRESS,\r\n dataIndex: \"address\",\r\n key: \"address\",\r\n },\r\n {\r\n title: labels.CITY,\r\n dataIndex: \"cityName\",\r\n key: \"cityName\",\r\n },\r\n {\r\n title: labels.STATE,\r\n dataIndex: \"stateName\",\r\n key: \"stateName\",\r\n },\r\n {\r\n title: labels.PINCODE,\r\n dataIndex: \"pinCode\",\r\n key: \"pinCode\",\r\n },\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n \r\n this.handleViewEditAddress(record, \"view\")}\r\n >\r\n \r\n \r\n \r\n {/* this.handleViewEditAddress(record, \"edit\")}\r\n >\r\n \r\n */}\r\n {this.props.mode === \"view\" ? null : (\r\n \r\n this.handleDeleteAddress(record.customerAddressID)\r\n }\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ),\r\n },\r\n ];\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n {\r\n this.setState({\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentAddress: {},\r\n isMapInitialized: false,\r\n });\r\n }}\r\n key=\"1\"\r\n >\r\n {labels.ADD_ADDRESS}\r\n \r\n ),\r\n ]}\r\n />\r\n \r\n \r\n \r\n {\r\n this.addUpdateAddress(values);\r\n }}\r\n initialValues={this.state.currentAddress}\r\n destroyOnClose\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {this.InitGoogleMapSearch} */}\r\n {this.InitGoogleMapAutocomplete}\r\n \r\n \r\n {\r\n this.setState({ selectedAddressTypeValue: event });\r\n }}\r\n placeholder={labels.SELECT_TYPE}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.latInput = ref}\r\n id=\"latInput\"\r\n placeholder={labels.ENTER_LATITUDE}\r\n />\r\n \r\n \r\n {this.state.selectedAddressTypeValue === \"Other\" &&\r\n this.state.popupMode != \"view\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n states: { ...this.state.states, selected: value },\r\n },\r\n () => this.getCityList(value)\r\n );\r\n }}\r\n disabled={this.state.states.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.states.data.length !== 0\r\n ? this.state.states.data.map((state) => {\r\n return state.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n prev.state !== next.state}\r\n >\r\n \r\n this.setState({\r\n cities: { ...this.state.cities, selected: value },\r\n zones: { ...this.state.zones, disabled: false },\r\n })\r\n }\r\n disabled={this.state.cities.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.cities.data.length !== 0\r\n ? this.state.cities.data.map((city) => {\r\n return city.value !== \"-1\" ? (\r\n \r\n ) : null;\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 {labels.IS_DEFAULT}\r\n \r\n \r\n \r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n {labels.CANCEL}\r\n \r\n ) : (\r\n \r\n \r\n {labels.CANCEL}\r\n \r\n \r\n \r\n )}\r\n {this.handleModalLoad()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(Addresses);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport CustomerService from \"../../../../services/customerservice\";\r\nimport { notification, Typography, Form, Input, Spin } from \"antd\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport { CloseCircleTwoTone, CheckCircleTwoTone } from \"@ant-design/icons\";\r\nimport { labels } from \"../../../../shared/language\";\r\n\r\nclass Verification extends React.Component {\r\n customerService = new CustomerService();\r\n state = {\r\n customerObj: {},\r\n fullLoading: true,\r\n isDisableSentOTP: false,\r\n isDisableResendOTP: false,\r\n isDisableVerifyOTP: false,\r\n };\r\n\r\n componentDidMount() {\r\n this.getCustomer(this.props.customerID);\r\n }\r\n\r\n getCustomer = (id) => {\r\n this.setState({ fullLoading: true });\r\n this.customerService.getCustomer(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ customerObj: response.data });\r\n this.setState({ fullLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: \"Unable to get customer data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n sendMobileOTP = () => {\r\n this.setState({ isDisableVerifyOTP: true, isDisableResendOTP: true },\r\n () => this.customerService\r\n .sendMobileOTP(this.state.customerObj.customerID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.props.setMobileOTPSent();\r\n notification[\"success\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"OTP Sent Successfully\",\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to send OTP\",\r\n });\r\n }\r\n this.setState({ isDisableVerifyOTP: false, isDisableResendOTP: false })\r\n }))\r\n };\r\n\r\n verifyMobileOTP = (values) => {\r\n const postData = {\r\n customerID: this.state.customerObj.customerID,\r\n otp: values.otp.toString(),\r\n };\r\n this.setState({ fullLoading: true, isDisableVerifyOTP: true },\r\n () => this.customerService.verifyMobileOTP(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.getCustomer(this.state.customerObj.customerID);\r\n notification[\"success\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Successfully Verified\",\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to validate OTP\",\r\n });\r\n }\r\n this.setState({ fullLoading: false, isDisableVerifyOTP: false });\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.state.customerObj.isMobileVerified ||\r\n this.state.customerObj.isEmailVerified\r\n ) ? (\r\n this.props.mobileOTPSent ? (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {labels.DIDNT_RECIEVED_ANYTHIG}\r\n \r\n {labels.RESEND_OTP}\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n \r\n \r\n \r\n {labels.NOT_VERIFIED}\r\n \r\n {this.props.mode === \"view\" ? null : (\r\n \r\n )}\r\n \r\n )\r\n ) : (\r\n \r\n \r\n \r\n {labels.VERIFIED}\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(Verification);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class InvoiceService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n async getInvoiceDetailFromSplitOrder(splitOrderID) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n let itemArray = [];\r\n if (splitOrderID.split(\",\").length === 1) {\r\n myApi.createEntity({\r\n name: this.endpoint.GET_INVOICE_DATA_FROM_SPLITORDER,\r\n });\r\n let append = \"?SplitOrderID=\" + splitOrderID;\r\n await myApi.endpoints[this.endpoint.GET_INVOICE_DATA_FROM_SPLITORDER]\r\n .getById(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n } else {\r\n myApi.createEntity({\r\n name: this.endpoint.GET_INVOICE_DATA,\r\n });\r\n let params = {\r\n invoiceIds: splitOrderID,\r\n customerIds: null,\r\n invoiceStatus: 1,\r\n };\r\n await myApi.endpoints[this.endpoint.GET_INVOICE_DATA]\r\n .getAllPost(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n }\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getInvoiceDetailFromSplitOrder(splitOrderID);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n async saveUpdateProformaInvoice(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_INVOICE_INFO,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_INVOICE_INFO]\r\n .create(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateProformaInvoice(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n async getPaymentMethods() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SYSTEME_NUMS,\r\n });\r\n let append = \"?EnumNames=PaymentMode\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPaymentMethods();\r\n });\r\n }\r\n return itemArray;\r\n }\r\n async generateTaxInvoice(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_INVOICE_PAYMENT_INFO,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_INVOICE_PAYMENT_INFO]\r\n .create(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.generateTaxInvoice(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n async markSettled(invoiceID) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SETTLE_LESS_PAID,\r\n });\r\n let append = \"?InvoiceID=\" + invoiceID;\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.SETTLE_LESS_PAID]\r\n .deleteById(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.markSettled(invoiceID);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n async getPDFStoreInvoicePrint(splitOrderNo) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_INVOICE_PRINT });\r\n let itemArray = [];\r\n\r\n // var param = \"?OrderID=\" + splitOrderNo;\r\n await myApi.endpoints[this.endpoint.GET_STORE_INVOICE_PRINT]\r\n .create(splitOrderNo)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPDFStoreInvoicePrint(splitOrderNo);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async addExcessAmountToWallet(params) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_ADVANCE_PAYMENT });\r\n let itemArray = [];\r\n\r\n // var param = \"?OrderID=\" + splitOrderNo;\r\n await myApi.endpoints[this.endpoint.ADD_ADVANCE_PAYMENT]\r\n .create(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.addExcessAmountToWallet(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getEDCMachineInfo() {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.PAYTM_EDC_MACHINE_INFO,\r\n });\r\n let append =\r\n \"?id=\" + parseInt(localStorage.getItem(\"branchID\")) + \"&platform=WEB\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.PAYTM_EDC_MACHINE_INFO]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getEDCMachineInfo();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async EDCMachineRequest(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.PAYTM_EDC_TRANS_REQUEST });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.PaytmEDCTransRequest.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.EDCMachineRequest(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async EDCMachineStatus(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.PAYTM_EDC_TRANS_STATUS });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.PaytmEDCTransStatus.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.EDCMachineStatus(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async PaytmEDCTransInfo(invoiceId) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.PAYTM_EDC_TRANS_INFO,\r\n });\r\n let append = \"?id=\" + invoiceId + \"&platfrom=WEB\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.PAYTM_EDC_TRANS_INFO]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.PaytmEDCTransInfo(invoiceId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getWalletBalance(params) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_WALLET_BALANCE,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_WALLET_BALANCE]\r\n .create(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getWalletBalance(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async getPDFLinks(orderID) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_PROFORMA_INVOICE_BY_ORDER_ID,\r\n });\r\n let append = \"?OrderID=\" + orderID;\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_PROFORMA_INVOICE_BY_ORDER_ID]\r\n .getById(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPDFLinks(orderID);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async settleinvoicewithoutpayment(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SETTLE_INVOICE_WITHOUT_PAYMENT,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.SETTLE_INVOICE_WITHOUT_PAYMENT]\r\n .create(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.settleinvoicewithoutpayment(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async UpdateInvoiceRemark(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.UPDATE_INVOICE_REMARK,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.UPDATE_INVOICE_REMARK]\r\n .create(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.UpdateInvoiceRemark(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async ADDAltNumberForCustomer(postData) {\r\n const stateListAPI = new API({ url: this.config.CDA_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.CDA_ADD_ALT_NUMBER_FOR_CUSTOMER,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.CDA_ADD_ALT_NUMBER_FOR_CUSTOMER]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.ADDAltNumberForCustomer(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async SendCustomerOTPForCreateOrder(postData) {\r\n const stateListAPI = new API({ url: this.config.CDA_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.CDA_SEND_RESEND_CUSTOMEROTP,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.CDA_SEND_RESEND_CUSTOMEROTP]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.SendCustomerOTPForCreateOrder();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async CheckPaymentDetailLog(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_PAYMENT_LOG_DATA,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_PAYMENT_LOG_DATA]\r\n .getAllPost(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.CheckPaymentDetailLog(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n\r\n async InsertPaytmprocesslog(params) {\r\n const myApi = new API({ url: this.config.CP_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.INSERT_PAYMENT_PROCESSLOG,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.INSERT_PAYMENT_PROCESSLOG]\r\n .getAllPost(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.InsertPaytmprocesslog(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async ResendDeliveryOTP(postData) {\r\n const stateListAPI = new API({ url: this.config.CDA_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.RESEND_DELIVERY_OTP,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.RESEND_DELIVERY_OTP]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.ResendDeliveryOTP();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n \r\n async QRCodeStatusUpdate(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.QR_CODE_STATUS_UPDATE,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.QR_CODE_STATUS_UPDATE]\r\n .getAllPost(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.QRCodeStatusUpdate(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async UpdateVerifiedOTPDateTime(postData) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.UPDATE_VERIFIED_OTP_DATETIME,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.UPDATE_VERIFIED_OTP_DATETIME]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.UpdateVerifiedOTPDateTime();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async PhonePeStatusUpdate(params) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_PHONEPE_STATUS,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_PHONEPE_STATUS]\r\n .getAllPost(params)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.PhonePeStatusUpdate(params);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport { PageHeader, Form, notification, Spin, Steps, Space } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./general.addcustomer\";\r\nimport Addresses from \"./addresses.addcustomer\";\r\nimport Verification from \"./verification.addcustomer\";\r\nimport InvoiceService from \"../../../../services/invoiceservice\";\r\n\r\nimport CustomerService from \"../../../../services/customerservice\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport Common from \"../../../../services/common\";\r\nimport { IsAuthenticated } from \"../../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../../shared/userrightsconfiguration\";\r\nconst { Step } = Steps;\r\n\r\n/**\r\n * Add Customer Form as a part of Customer Master Module\r\n *\r\n * @author Niraj Gohel\r\n * @created 25 June 2020\r\n *\r\n * @module Master\r\n */\r\nclass AddCustomer extends React.Component {\r\n customerService = new CustomerService();\r\n invoiceService = new InvoiceService();\r\n common = new Common();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Variables\r\n * @var customerID : ID of customer 0 if this is to add factory\r\n * @var activeStep : holds active form step\r\n * @var generalFormValues : values submitted through generalForm\r\n */\r\n state = {\r\n activeStep: 0,\r\n customerID: 0,\r\n fullLoading: false,\r\n generalFormValues: {\r\n gender: \"1\",\r\n isActive: true,\r\n isLaundrokartEmployee: false,\r\n customerType: \"1\",\r\n },\r\n mode: \"add\",\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n mobileOTPSent: false,\r\n emailOTPSent: false,\r\n walletCash: 0,\r\n walletBonus: 0,\r\n };\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n /**\r\n * bind the setStepDirection to the resize event of windows\r\n */\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.CUSTOMER\r\n );\r\n // this.setState({ userRights: res });\r\n\r\n if (\r\n [\"/master/customer/edit\", \":customerID\"].join(\"/\") ===\r\n this.props.match.path &&\r\n [false, undefined, null, \"\"].includes(res[0].isUpdate) &&\r\n [undefined, null, \"\"].includes(this.props.location.state)\r\n ) {\r\n this.props.history.goBack();\r\n }\r\n\r\n if (\r\n \"/master/customer/add\" === this.props.match.path &&\r\n [false, undefined, null, \"\"].includes(res[0].isAdd) &&\r\n [undefined, null, \"\"].includes(this.props.location.state)\r\n ) {\r\n this.props.history.goBack();\r\n }\r\n\r\n // if ([false, undefined, null, ''].includes(res[0].isAdd) && [undefined, null, ''].includes(this.props.location.state)) {\r\n // this.props.history.goBack();\r\n // }\r\n // isUpdate\r\n }\r\n\r\n componentDidMount() {\r\n if (![undefined, null, \"\"].includes(this.props.location.state)) {\r\n if (this.props.location.state.from != 0) {\r\n this.setState({ customerID: this.props.location.state.from });\r\n this.getCustomer(this.props.location.state.from);\r\n this.getWalletBalance(this.props.location.state.from);\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.setState({ activeStep: 1 });\r\n }\r\n // else {\r\n // this.props.history.goBack();\r\n // }\r\n } else {\r\n if (\r\n [ROUTES.EDIT_CUSTOMER, \":customerID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getCustomer(this.props.match.params.customerID);\r\n this.getWalletBalance(this.props.match.params.customerID);\r\n } else if (\r\n [ROUTES.VIEW_CUSTOMER, \":customerID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getCustomer(this.props.match.params.customerID);\r\n this.getWalletBalance(this.props.match.params.customerID);\r\n } else if (\r\n [ROUTES.VIEW_ADDRESSES, \":customerID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.getCustomer(this.props.match.params.customerID);\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"address\" });\r\n this.setState({ activeStep: 1 });\r\n }\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getCustomer = (id) => {\r\n this.customerService.getCustomer(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.customerID === parseInt(id)\r\n ) {\r\n this.setState({ customerID: response.data.customerID });\r\n this.setState({\r\n generalFormValues: {\r\n firstName: response.data.firstName.toString(),\r\n lastName: response.data.lastName.toString(),\r\n emailID: ![null, undefined, \"\"].includes(response.data.emailID)\r\n ? response.data.emailID.toString()\r\n : undefined,\r\n mobileNo: response.data.mobileNo.toString(),\r\n alterNativeMobileNo: ![null, undefined, \"\"].includes(\r\n response.data.altMobileNo\r\n )\r\n ? response.data.altMobileNo.toString()\r\n : undefined,\r\n referralCode: response.data.referralCode.toString(),\r\n customerType: response.data.customerType.toString(),\r\n billingCycle: response.data.billingCycle.toString(),\r\n gender: response.data.gender.toString(),\r\n gstin: response.data.gstin.toString(),\r\n corporateID: response.data.corporateID.toString(),\r\n dob: response.data.dob ? moment(response.data.dob) : \"\",\r\n annivesaryDate: response.data.annivesaryDate\r\n ? moment(response.data.annivesaryDate)\r\n : \"\",\r\n isActive: response.data.isActive,\r\n isLaundrokartEmployee: response.data.isLaundrokartEmployee,\r\n },\r\n });\r\n this.setState({ fullLoading: false });\r\n const prevStep = this.state.activeStep;\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: prevStep });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to get customer data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n addUpdateCustomer = () => {\r\n this.setState({ fullLoading: true });\r\n const postData = {\r\n customerID: this.state.customerID,\r\n firstName: this.state.generalFormValues.firstName.toString(),\r\n lastName: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.lastName\r\n )\r\n ? this.state.generalFormValues.lastName.toString()\r\n : undefined,\r\n emailID: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.emailID\r\n )\r\n ? this.state.generalFormValues.emailID.toString()\r\n : undefined,\r\n mobileNo: this.state.generalFormValues.mobileNo.toString(),\r\n AlterNativeMobileNo:![null, undefined, \"\"].includes( this.state.generalFormValues.alterNativeMobileNo)?\r\n this.state.generalFormValues.alterNativeMobileNo.toString():null,\r\n referralCode: this.state.generalFormValues.referralCode\r\n ? this.state.generalFormValues.referralCode.toString()\r\n : null,\r\n customerType: parseInt(this.state.generalFormValues.customerType),\r\n billingCycle: parseInt(this.state.generalFormValues.billingCycle),\r\n gender: parseInt(this.state.generalFormValues.gender),\r\n gstin: this.state.generalFormValues.gstin\r\n ? this.state.generalFormValues.gstin.toString()\r\n : null,\r\n corporateID: parseInt(this.state.generalFormValues.corporateID),\r\n dob: this.state.generalFormValues.dob\r\n ? this.state.generalFormValues.dob.format(\"YYYY-MM-DD\")\r\n : null,\r\n annivesaryDate: this.state.generalFormValues.annivesaryDate\r\n ? this.state.generalFormValues.annivesaryDate.format(\"YYYY-MM-DD\")\r\n : null,\r\n isActive: ![null, undefined].includes(\r\n this.state.generalFormValues.isActive\r\n )\r\n ? this.state.generalFormValues.isActive\r\n : null,\r\n isLaundrokartEmployee: this.state.generalFormValues.isLaundrokartEmployee,\r\n };\r\n this.customerService.addUpdateCustomer(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ customerID: response.data });\r\n notification[\"success\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Customer Created Successfully\",\r\n duration: 1,\r\n onClose: () => {\r\n this.setState({ activeStep: 1 });\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : \"Unable to submit the form\",\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n getWalletBalance = (id) => {\r\n this.invoiceService\r\n .getWalletBalance({\r\n customerID: parseInt(id),\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n walletCash: response.data.totalCashAmount,\r\n walletBonus: response.data.totalBonusAmount,\r\n });\r\n }\r\n });\r\n };\r\n\r\n generalForm = React.createRef();\r\n handleSubmit = (values) => {\r\n this.setState(\r\n {\r\n generalFormValues: values,\r\n },\r\n () => {\r\n this.addUpdateCustomer();\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? labels.EDIT\r\n : this.state.mode === \"view\"\r\n ? labels.VIEW\r\n : labels.ADD,\r\n labels.CUSTOMER,\r\n ].join(\" \")}\r\n extra={[\r\n this.state.mode === \"edit\" || this.state.mode === \"view\" ? (\r\n \r\n \r\n {labels.WALLET_CASH} : ₹ {this.state.walletCash}\r\n \r\n \r\n {labels.WALLET_BONUS} : ₹ {this.state.walletBonus}\r\n \r\n \r\n ) : null,\r\n ]}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n {\r\n if (this.state.customerID === 0) {\r\n return false;\r\n } else {\r\n this.setState({ activeStep: current });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n if (name === \"general\") {\r\n this.handleSubmit(info.values);\r\n }\r\n }}\r\n >\r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n />\r\n {this.state.activeStep === 1 ? (\r\n \r\n ) : null}\r\n {this.state.activeStep === 2 ? (\r\n \r\n this.setState({ mobileOTPSent: true })\r\n }\r\n mode={this.state.mode}\r\n />\r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(AddCustomer);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass StoreService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n async GetOfferedServicesByFactoryID(FactoryID) {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_FACTORY_OFFERED_SERVICES_BY_FACTORY_ID,\r\n });\r\n let itemArray = [];\r\n let id = \"?FactoryID=\" + FactoryID;\r\n await myApi.endpoints[\r\n this.endpoint.GET_FACTORY_OFFERED_SERVICES_BY_FACTORY_ID\r\n ]\r\n .getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetOfferedServicesByFactoryID(FactoryID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getFactoryMappingList(storeID) {\r\n const listApi = new API({\r\n url: this.config.ITEM_URL,\r\n });\r\n listApi.createEntity({\r\n name: this.endpoint.GET_STORE_FACTORY_MAPPING,\r\n });\r\n let factoryservicelist = [];\r\n let id = \"?StoreID=\" + storeID;\r\n await listApi.endpoints[this.endpoint.GET_STORE_FACTORY_MAPPING]\r\n .getOne(id)\r\n .then((response) => {\r\n factoryservicelist = response.data;\r\n })\r\n .catch((err) => {\r\n factoryservicelist = this.common.handleError(err);\r\n });\r\n if (factoryservicelist.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factoryservicelist = this.getFactoryMappingList(storeID);\r\n });\r\n }\r\n return Promise.resolve(factoryservicelist);\r\n }\r\n\r\n async getStoreFactoryMappingByID(storeFactoryMappingID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_FACTORY_MAPPING_BY_ID });\r\n let itemArray = [];\r\n let Id = \"?StoreFactoryMappingID=\" + storeFactoryMappingID;\r\n await myApi.endpoints[this.endpoint.GET_STORE_FACTORY_MAPPING_BY_ID]\r\n .getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreSlotDetailBySlotID(storeFactoryMappingID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async saveUpdateStoreFactoryMapping(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_STORE_FACTORY_MAPPING,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_STORE_FACTORY_MAPPING]\r\n .create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateStoreFactoryMapping(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async deleteStoreFactoryMappingByID(storeFactoryMappingID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.DELETE_STORE_FACTORY_MAPPING_BY_ID,\r\n });\r\n let itemArray = [];\r\n let ID = \"?StoreFactoryMappingIDs=\" + storeFactoryMappingID.toString();\r\n await myApi.endpoints[this.endpoint.DELETE_STORE_FACTORY_MAPPING_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n this.common.handleError(err);\r\n console.log(err);\r\n });\r\n return Promise.resolve(itemArray);\r\n }\r\n async retrieveStoreOperationType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_OPERATION_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreOperationTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreOperationType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreModel() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetTypeOfStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreModel();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveTypeOfStore() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_MODEL });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreModelList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveTypeOfStore();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreOperatedBy() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_OPERATED_BY });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreOperatedByList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreOperatedBy();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreOperatingType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_OPERATING_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreOperatingTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreOperatingType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreStatus() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_STATUS });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreStatusList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreStatus();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreServiceType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_SERVICE_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreServiceTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreServiceType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreDeliveryType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DELIVERY_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDeliveryTypeList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreDeliveryType();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreServicesOffered() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SERVICES_OFFERED });\r\n let itemArray = [];\r\n await myApi.endpoints.GetServicesList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreServicesOffered();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreOrderedToAssigned() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreOrderedToAssigned();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveZone() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_ZONE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetZoneList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveZone();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreMaster(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreMaster(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreMasterByfilter(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreMasterByfilter(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n // Save User\r\n\r\n async saveUpdateStoreMaster(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_STOREMASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.SaveUpdateStoreMaster.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.common.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal Server Error.\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.saveUpdateStoreMaster(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStoreDetailByStoreID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STOREDETAIL_BY_STOREID });\r\n let itemArray = [];\r\n let Id = \"?StoreID=\" + id;\r\n await myApi.endpoints.GetStoreDetailByStoreID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreDetailByStoreID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveWeekDaysList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_WEEKDAYS_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetWeekDaysList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveWeekDaysList();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async saveUpdateSlotMappingDetails(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_STORE_SLOT });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateStoreSlot.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateSlotMappingDetails(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStoreSlotDetailBySlotID(slotID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SLOT_DETAILS_BY_SLOTID });\r\n let itemArray = [];\r\n let Id = \"?SlotID=\" + slotID;\r\n await myApi.endpoints.GetStoreSlotDetailBySlotID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreSlotDetailBySlotID(slotID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStoreSlotDetails(storeID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_SLOTS });\r\n let itemArray = [];\r\n let id = \"?StoreID=\" + storeID;\r\n await myApi.endpoints.GetStoreSlots.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreSlotDetails(storeID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async deleteStoreSlotBySlotID(slotID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_STORE_SLOTS_By_SLOTID });\r\n let itemArray = [];\r\n\r\n let ID = \"?slotIDs=\" + slotID;\r\n await myApi.endpoints.DeleteStoreSlotBySlotID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteStoreSlotBySlotID(slotID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveState() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GETSTATELIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStateList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveState();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveCity(id) {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CITIES_BY_STATE });\r\n let itemArray = [];\r\n let Id = \"?StateID=\" + id;\r\n await myApi.endpoints.GetCityListByStateID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCity(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n // // User KYC details\r\n\r\n // async getUserKYCDetails(userID) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_USER_KYC_DETAILS })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetUserKYCDetails.getOne(userID)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // // Save User KYC\r\n\r\n // async saveUpdateUserKYCDetails(postSave) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_USERKYC_DETAIL })\r\n // let itemArray = [];\r\n // await myApi.endpoints.SaveUpdateUserKYCDetail.create(postSave)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async deleteKYCByKYCID(id) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_DELETE_USERKYC })\r\n // let itemArray = [];\r\n // await myApi.endpoints.DeleteUserKYCDetailByKYCID.deleteByKYCId(id)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async getKYCByKYCID(kycID) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_KYC_DETAILS_BY_USERID })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetUserKYCDetailByKYCID.getByKYCId(kycID)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // // User Role details\r\n\r\n // async getUserRoleDetails(userID) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_USER_ROLE_DETAILS })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetUserRoleMappings.getOne(userID)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async getUserRoleByID(userrolemappingID) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_ROLE_DETAILS_BY_ROLEID })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetUserRoleMappingByID.getByRoleId(userrolemappingID)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async deleteRoleByRoleID(id) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_DELETE_USERROLE })\r\n // let itemArray = [];\r\n // await myApi.endpoints.DeleteUserRoleMappingByID.deleteByrRoleId(id)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async saveUpdateUserRoleDetails(postSave) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_USERROLE_DETAIL })\r\n // let itemArray = [];\r\n // await myApi.endpoints.SaveUpdateUserRoleMapping.create(postSave)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // //Delete records\r\n\r\n // // async deleteUserByUserID(id) {\r\n // // const myApi = new API({ url: this.config.ITEM_URL })\r\n // // myApi.createEntity({ name: this.endpoint.GET_DELETEUSERBYID })\r\n // // let itemArray = [];\r\n // // await myApi.endpoints.DeleteUserByUserID.deleteByUserId(id)\r\n // // .then(({ data }) => {\r\n // // itemArray = data\r\n // // })\r\n // // .catch(err => {\r\n // // this.handleError(err);\r\n // // console.log(err)\r\n // // });\r\n // // return Promise.resolve(itemArray)\r\n // // }\r\n\r\n // async getUserDetailByUserID(id) {\r\n // const myApi = new API({ url: this.config.ITEM_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_USERDETAILSBYID })\r\n // let itemArray = [];\r\n // await myApi.endpoints.GetUserDetailByUserID.getOne(id)\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // // User Assignment step\r\n\r\n // async retrievePaymentType() {\r\n // const myApi = new API({ url: this.config.DROPDOWN_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_PAYMENT_TYPE })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetPaymentTypeList.getAll()\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async retrieveIronPersonType() {\r\n // const myApi = new API({ url: this.config.DROPDOWN_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_IRON_PERSON_TYPE })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetIronPersonTypeList.getAll()\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async retrieveStayAt() {\r\n // const myApi = new API({ url: this.config.DROPDOWN_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_STAY_AT })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetStayAtList.getAll()\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async retrieveStore() {\r\n // const myApi = new API({ url: this.config.DROPDOWN_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_STORE })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetStoreList.getAll()\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async retrieveFactory() {\r\n // const myApi = new API({ url: this.config.DROPDOWN_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_FACTORY })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetFactoryList.getAll()\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // async retrieveRole() {\r\n // const myApi = new API({ url: this.config.DROPDOWN_URL })\r\n // myApi.createEntity({ name: this.endpoint.GET_ROLE })\r\n // let itemArray = [];\r\n\r\n // await myApi.endpoints.GetRoleList.getAll()\r\n // .then(({ data }) => {\r\n // itemArray = data\r\n // })\r\n // .catch(err => {\r\n // this.handleError(err);\r\n // console.log(err)\r\n // });\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n // handleResponseError(response) {\r\n // throw new Error(\"HTTP error, status = \" + response.status);\r\n // }\r\n}\r\n\r\nexport default StoreService;\r\n","import React from \"react\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Input,\r\n DatePicker,\r\n Select,\r\n TimePicker,\r\n notification,\r\n} from \"antd\";\r\nimport styles from \"./createstore.module.css\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport FactoryService from \"../../../../services/factoryservice\";\r\nimport {\r\n RegexLettersDigits,\r\n MessageLettersDigits,\r\n RegexLettersDigitsSymbols,\r\n MessageLettersDigitsSymbols,\r\n} from \"../../../../shared/validator\";\r\n\r\nconst { Option } = Select;\r\n// const openNotificationWithIcon = (type, title, message) => {\r\n// notification[type]({\r\n// message: title,\r\n// description:\r\n// message\r\n// });\r\n// };\r\n/**\r\n * A form as a part of create store - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module Store\r\n */\r\nexport default class GeneralForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.factoryService = new FactoryService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n storeOperationType: [],\r\n typeOfStore: [],\r\n storeModel: [],\r\n storeOperatedBy: [],\r\n storeOperatingType: [],\r\n storeStatus: [],\r\n storeServiceType: [],\r\n storeDeliveryType: [],\r\n storeServicesOffered: [],\r\n storeOrdertoAssigned: [],\r\n operatingDays: {\r\n disabled: true,\r\n data: [],\r\n },\r\n isStoreDeliveryType: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getStoreOperationType();\r\n this.getStoreModel();\r\n this.getTypeOfStore();\r\n this.getStoreOperatedBy();\r\n this.getStoreOperationgType();\r\n this.getStoreStatus();\r\n this.getStoreServiceType();\r\n // if (!this.state.isStoreDeliveryType) {\r\n this.getStoreDeliveryType();\r\n // }\r\n this.getStoreServicesOffered();\r\n this.getStoreOrderedToAssigned();\r\n this.getOperatingDays();\r\n }\r\n getOperatingDays = () => {\r\n this.factoryService.getOperatingDaysList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n operatingDays: {\r\n ...this.state.operatingDays,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for operating days\",\r\n });\r\n }\r\n });\r\n };\r\n getStoreOperationType = () => {\r\n this.storeservice\r\n .retrieveStoreOperationType()\r\n .then((storeOperationType) => {\r\n if (storeOperationType.statusCode === 200) {\r\n this.setState({ storeOperationType: storeOperationType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for operation type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreModel = () => {\r\n this.storeservice.retrieveStoreModel().then((storeModel) => {\r\n if (storeModel.statusCode === 200) {\r\n this.setState({ storeModel: storeModel.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store model\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getTypeOfStore = () => {\r\n this.storeservice.retrieveTypeOfStore().then((typeOfStore) => {\r\n if (typeOfStore.statusCode === 200) {\r\n this.setState({ typeOfStore: typeOfStore.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for type of store\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreOperatedBy = () => {\r\n this.storeservice.retrieveStoreOperatedBy().then((storeOperatedBy) => {\r\n if (storeOperatedBy.statusCode === 200) {\r\n this.setState({ storeOperatedBy: storeOperatedBy.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store OperatedBy\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreOperationgType = () => {\r\n this.storeservice\r\n .retrieveStoreOperatingType()\r\n .then((storeOperatingType) => {\r\n if (storeOperatingType.statusCode === 200) {\r\n this.setState({ storeOperatingType: storeOperatingType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Operating Type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreStatus = () => {\r\n this.storeservice.retrieveStoreStatus().then((storeStatus) => {\r\n if (storeStatus.statusCode === 200) {\r\n this.setState({ storeStatus: storeStatus.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Status \",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreServiceType = () => {\r\n this.storeservice.retrieveStoreServiceType().then((storeServiceType) => {\r\n if (storeServiceType.statusCode === 200) {\r\n this.setState({ storeServiceType: storeServiceType.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Service Type \",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreDeliveryType = () => {\r\n this.storeservice.retrieveStoreDeliveryType().then((storeDeliveryType) => {\r\n if (storeDeliveryType.statusCode === 200) {\r\n this.setState({ storeDeliveryType: storeDeliveryType.data, isStoreDeliveryType: true });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Delivery Type \",\r\n });\r\n // this.setState({ StoreDeliveryType: false });\r\n }\r\n });\r\n };\r\n\r\n getStoreServicesOffered = () => {\r\n this.storeservice\r\n .retrieveStoreServicesOffered()\r\n .then((storeServicesOffered) => {\r\n if (storeServicesOffered.statusCode === 200) {\r\n this.setState({ storeServicesOffered: storeServicesOffered.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Services Offered \",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreOrderedToAssigned = () => {\r\n this.storeservice\r\n .retrieveStoreOrderedToAssigned()\r\n .then((storeOrdertoAssigned) => {\r\n if (storeOrdertoAssigned.statusCode === 200) {\r\n this.setState({ storeOrdertoAssigned: storeOrdertoAssigned.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get data for store Order toAssigned\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\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 option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {/* {this.state.storeServiceType.map((storeServiceType) => )} */}\r\n {this.state.storeServiceType.map((storeServiceType) => {\r\n return storeServiceType.value !== \"-1\" ? (\r\n \r\n {storeServiceType.text}\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 option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.operatingDays.data.length !== 0\r\n ? this.state.operatingDays.data.map((operatingDay) => {\r\n return operatingDay.value !== \"-1\" ? (\r\n \r\n {operatingDay.text}\r\n \r\n ) : null;\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 option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {/* {this.state.storeServicesOffered.map((storeServicesOffered) => )} */}\r\n {this.state.storeServicesOffered.map((storeServicesOffered) => {\r\n return storeServicesOffered.value !== \"-1\" ? (\r\n \r\n {storeServicesOffered.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {/* {this.state.storeDeliveryType.map((storeDeliveryType) => )} */}\r\n {this.state.storeDeliveryType.map((storeDeliveryType) => {\r\n return storeDeliveryType.value !== \"-1\" ? (\r\n \r\n {storeDeliveryType.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {this.state.storeOrdertoAssigned.map((storeOrdertoAssigned) => {storeOrdertoAssigned.text})} */}\r\n {this.state.storeOrdertoAssigned.map((storeOrdertoAssigned) => {\r\n return storeOrdertoAssigned.value !== \"-1\" ? (\r\n \r\n {storeOrdertoAssigned.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n {/* null}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 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 Cancel\r\n \r\n \r\n Next\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n TimePicker,\r\n PageHeader,\r\n Typography,\r\n Space,\r\n notification,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createstore.module.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport SlotMapping from \"./slotmapping.component\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport Moment from \"moment\";\r\n\r\nconst { Option } = Select;\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A form as a part of create store - Add Slot Form\r\n *\r\n * @props backFunction: a function to modify parent state to go back to tabular view\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 3 June 2020\r\n *\r\n * @module Store\r\n */\r\nexport default class SlotForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.state = {\r\n fullLoading: false,\r\n slotID: 0,\r\n isAdd: false,\r\n isView: false,\r\n disabled: false,\r\n weekDayID: 0,\r\n weekDayName: \"\",\r\n slotFrom: \"\",\r\n slotTo: \"\",\r\n weekDaysList: [],\r\n slotMappingList: [],\r\n showComponent: false,\r\n currentComponent: true,\r\n slotFormValues: {},\r\n };\r\n this.handleSaveUpdateSlotMapping = this.handleSaveUpdateSlotMapping.bind(\r\n this\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.getWeekDaysList();\r\n this.setState({\r\n slotID: this.props.slotID,\r\n weekDayName: this.props.weekDayName,\r\n weekDayID: this.props.weekDayID,\r\n isView: this.props.isView,\r\n disabled: this.props.disabled,\r\n slotFrom: Moment(this.props.slotFrom, \"h:mm a\"),\r\n slotTo: Moment(this.props.slotTo, \"h:mm a\"),\r\n });\r\n if (this.props.slotMappingList !== null) {\r\n this.setState({ slotMappingList: this.props.slotMappingList });\r\n }\r\n }\r\n\r\n getWeekDaysList = () => {\r\n this.storeservice.retrieveWeekDaysList().then((weekDaysList) => {\r\n this.setState({ weekDaysList: weekDaysList.data });\r\n });\r\n };\r\n\r\n handleChange = (event) => {\r\n this.setState({ weekDayID: parseInt(event) });\r\n this.setState({\r\n weekDayName: this.state.weekDaysList.filter((x) => x.value === event)[0]\r\n .text,\r\n });\r\n };\r\n\r\n handleTimeChange = (time, name) => {\r\n this.setState({ [name]: time });\r\n };\r\n\r\n handleSaveUpdateSlotMapping = () => {\r\n const postSave = {\r\n slotID: this.state.slotID,\r\n storeID: this.props.storeID,\r\n weekDayID: parseInt(this.state.slotFormValues.weekDayID),\r\n slotFrom: this.state.slotFormValues.slotFrom.format(\"HH:mm\"),\r\n slotTo: this.state.slotFormValues.slotTo.format(\"HH:mm\"),\r\n refSlotID: 0,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.storeservice\r\n .saveUpdateSlotMappingDetails(postSave)\r\n .then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Slot Mapping\", response.message);\r\n this.setState({ showComponent: true });\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Slot Mapping\", response.message);\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n slotForm = React.createRef();\r\n slotFormValidated = false;\r\n\r\n handleSubmit = () => {\r\n const slotValidator = this.slotForm.validateFields();\r\n\r\n Promise.allSettled([slotValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n slotFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdateSlotMapping();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n onFinishSlotForm = () => {\r\n return null;\r\n };\r\n\r\n render() {\r\n const { disabled } = this.state;\r\n return (\r\n \r\n {this.state.showComponent ? (\r\n \r\n ) : (\r\n (this.slotForm = slotForm)}\r\n onFinish={this.onFinishSlotForm}\r\n className={styles.AddSlotForm}\r\n >\r\n {/**\r\n * Please go through below documentation befor modifying\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n {this.state.slotID === 0\r\n ? \"Add Slot\"\r\n : this.state.isView\r\n ? \"View Slot\"\r\n : \"Edit Slot\"}\r\n \r\n }\r\n backIcon={}\r\n onBack={this.props.backFunction}\r\n className={styles.AddSlotFormHeader}\r\n />\r\n \r\n \r\n \r\n {/* \r\n {/* {this.state.weekDaysList.map((weekDaysList) => {weekDaysList.text})} */}\r\n {this.state.weekDaysList.map((weekDaysList) => {\r\n return weekDaysList.value !== \"-1\" ? (\r\n \r\n {weekDaysList.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* this.handleTimeChange(time, 'slotFrom')} value={slotFrom} disabled={disabled}/> */}\r\n \r\n \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 \r\n {!this.state.isView ? (\r\n this.handleSaveUpdateSlotMapping(event,this.state.slotMappingList)}\r\n onClick={this.handleSubmit}\r\n >\r\n Save\r\n \r\n ) : null}\r\n {this.state.showComponent ? (\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","import React from \"react\";\r\nimport SlotForm from \"./slotform.component\";\r\nimport { Table, Space, PageHeader, Typography , notification,Popconfirm,Tooltip} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createstore.module.css\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faInfo, faPencilAlt, faTrash } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from \"moment\";\r\n\r\nconst { Title } = Typography;\r\n\r\n/**\r\n * A tabular view as a part of create store - Slot Mapping, Slot List\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module Store\r\n */\r\nexport default class SlotMapping extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.state = {\r\n isAdd: false,\r\n isEdit: false,\r\n isViewmode: false,\r\n disabled: false,\r\n slotID: 0,\r\n weekDayID: 0,\r\n slotMappingList: [],\r\n weekDayName: \"\",\r\n slotFrom: \"\",\r\n slotTo: \"\",\r\n slotformValues: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isViewmode: this.props.isViewmode });\r\n this.getStoreSlotMappingDetails(this.props.storeID);\r\n }\r\n\r\n getStoreSlotMappingDetails = (storeID) => {\r\n this.storeservice.getStoreSlotDetails(storeID).then((response) => {\r\n this.setState({ slotMappingList: response.data });\r\n });\r\n };\r\n\r\n getStoreSlotDetailBySlotID(slotID) {\r\n this.storeservice.getStoreSlotDetailBySlotID(slotID).then((response) => {\r\n this.setState({\r\n isEdit: true,\r\n slotID: slotID,\r\n weekDayID: response.data.weekDayID,\r\n weekDayName: response.data.weekDayName,\r\n slotFrom: response.data.slotFrom,\r\n slotTo: response.data.slotTo,\r\n slotformValues: {\r\n weekDayID: response.data.weekDayID.toString(),\r\n slotFrom: Moment(response.data.slotFrom, \"h:mm a\"),\r\n slotTo: Moment(response.data.slotTo, \"h:mm a\"),\r\n },\r\n });\r\n });\r\n }\r\n\r\n getSlotDetailsViewbySlotID(slotID) {\r\n this.storeservice.getStoreSlotDetailBySlotID(slotID).then((response) => {\r\n this.setState({\r\n isView: true,\r\n disabled: true,\r\n slotID: slotID,\r\n weekDayID: response.data.weekDayID,\r\n weekDayName: response.data.weekDayName,\r\n slotFrom: response.data.slotFrom,\r\n slotTo: response.data.slotTo,\r\n slotformValues: {\r\n weekDayID: response.data.weekDayID.toString(),\r\n slotFrom: Moment(response.data.slotFrom, \"h:mm a\"),\r\n slotTo: Moment(response.data.slotTo, \"h:mm a\"),\r\n },\r\n });\r\n });\r\n }\r\n\r\n //function for deleting data from server call\r\n deleteStoreSlotBySlotID = (slotID) => {\r\n if (slotID === \"\" || slotID === null || slotID === undefined) {\r\n notification[\"error\"]({\r\n message: \"Store Mapping\",\r\n description: \"Oops, Something goes wrong while removing slot. Please try again.\",\r\n });\r\n } else {\r\n this.setState({ modalLoading: true });\r\n this.storeservice.deleteStoreSlotBySlotID(slotID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Garment Size\", items.message);\r\n notification[\"success\"]({\r\n message: \"Store Mapping\",\r\n description: items.message,\r\n });\r\n this.getStoreSlotMappingDetails(this.props.storeID);\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Garment Size\", items.message);\r\n notification[\"error\"]({\r\n message: \"Store Mapping\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n }\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Weekday\",\r\n dataIndex: \"weekDayName\",\r\n key: \"weekDayName\",\r\n },\r\n {\r\n title: \"From\",\r\n dataIndex: \"slotFrom\",\r\n key: \"slotFrom\",\r\n },\r\n {\r\n title: \"To\",\r\n dataIndex: \"slotTo\",\r\n key: \"slotTo\",\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n this.getSlotDetailsViewbySlotID(record.slotID)}\r\n >\r\n \r\n \r\n {!this.props.isViewmode ? (\r\n \r\n this.getStoreSlotDetailBySlotID(record.slotID)\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n {!this.props.isViewmode ? (\r\n this.deleteStoreSlotBySlotID(record.slotID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 * A function to modify state varibles from child\r\n */\r\n bringback = () => {\r\n this.setState({\r\n isAdd: false,\r\n isEdit: false,\r\n isView: false,\r\n disabled: false,\r\n slotID: 0,\r\n slotformValues: null,\r\n });\r\n };\r\n render() {\r\n //const{data,handleSaveUpdateSlotMapping,slotMappingList,storeID,isView,disabled,isViewmode}=this.props;\r\n return this.state.isAdd || this.state.isEdit || this.state.isView ? (\r\n \r\n ) : (\r\n \r\n {/**\r\n * Page Header Component to display title and button\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n Slot Mapping\r\n \r\n }\r\n extra={[\r\n !this.props.isViewmode ? (\r\n {\r\n this.setState({ isAdd: true });\r\n }}\r\n key=\"1\"\r\n >\r\n Add Slot\r\n \r\n ) : null,\r\n ]}\r\n className={styles.SlotMappingHeader}\r\n />\r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n TimePicker,\r\n PageHeader,\r\n Typography,\r\n Space,\r\n notification,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createstore.module.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport FactoryMapping from \"./factorymapping.component\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport UserService from \"../../../../services/userservice\";\r\nimport Moment from \"moment\";\r\n\r\nconst { Option } = Select;\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A form as a part of create store - Add Slot Form\r\n *\r\n * @props backFunction: a function to modify parent state to go back to tabular view\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 3 June 2020\r\n *\r\n * @module Store\r\n */\r\nexport default class FactoryMappingForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.userservice = new UserService();\r\n this.state = {\r\n fullLoading: false,\r\n isAdd: false,\r\n isView: false,\r\n disabled: false,\r\n factoryList: [],\r\n offerredServices: [],\r\n factoryMappinglist: [],\r\n storeFactoryMappingID: 0,\r\n factoryID: \"\",\r\n factoryName: \"\",\r\n offeredServiceIds: [],\r\n offeredServicesName: \"\",\r\n factoryFormValues: {},\r\n selectedofferedServiceIds: \"\",\r\n selectedFactory: 0,\r\n // slotID: 0,\r\n // weekDayID: 0,\r\n // weekDayName: \"\",\r\n // slotFrom: \"\",\r\n // slotTo: \"\",\r\n\r\n // slotMappingList: [],\r\n showComponent: false,\r\n currentComponent: true,\r\n // slotFormValues: {},\r\n };\r\n this.handleSaveUpdateStoreFactoryMapping = this.handleSaveUpdateStoreFactoryMapping.bind(\r\n this\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.getFactory();\r\n if (this.props.isAdd !== \"add\") {\r\n this.setState(\r\n {\r\n storeFactoryMappingID: this.props.storeFactoryMappingID,\r\n factoryID: this.props.factoryID,\r\n // factoryName: this.props.factoryName,\r\n offeredServiceIds: this.props.offeredServiceIds.split(\",\"),\r\n // offeredServicesName: this.props.offeredServicesName,\r\n isView: this.props.isView,\r\n disabled: this.props.disabled,\r\n // slotID: this.props.slotID,\r\n // weekDayName: this.props.weekDayName,\r\n // weekDayID: this.props.weekDayID,\r\n\r\n // slotFrom: Moment(this.props.slotFrom, \"h:mm a\"),\r\n // slotTo: Moment(this.props.slotTo, \"h:mm a\"),\r\n },\r\n () => {\r\n if (![null, undefined, \"\", 0].includes(this.state.factoryID))\r\n this.GetOfferedServicesByFactoryID(this.state.factoryID);\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n storeFactoryMappingID: 0,\r\n factoryID: undefined,\r\n offeredServiceIds: undefined,\r\n // isView: this.props.isView,\r\n // disabled: this.props.disabled,\r\n });\r\n }\r\n if (this.props.factoryMappinglist !== null) {\r\n this.setState({ factoryMappinglist: this.props.factoryMappinglist });\r\n }\r\n }\r\n\r\n getFactory = () => {\r\n this.userservice.retrieveFactory().then((factory) => {\r\n if (factory.statusCode === 200) {\r\n this.setState({ factoryList: factory.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Users\",\r\n description: \"Unable to get data for factory\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n GetOfferedServicesByFactoryID = (FactoryID) => {\r\n this.storeservice\r\n .GetOfferedServicesByFactoryID(parseInt(FactoryID))\r\n .then((services) => {\r\n if (services.statusCode === 200) {\r\n this.setState({\r\n offerredServices: services.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: \"Unable to get list for services offered data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleSaveUpdateStoreFactoryMapping = () => {\r\n const postSave = {\r\n storeFactoryMappingID: this.state.storeFactoryMappingID,\r\n storeID: this.props.storeID,\r\n factoryID: parseInt(this.state.selectedFactory),\r\n offeredServiceIds: this.state.selectedofferedServiceIds,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.storeservice\r\n .saveUpdateStoreFactoryMapping(postSave)\r\n .then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n \"Factory Mapping\",\r\n response.message\r\n );\r\n this.setState({ showComponent: true });\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Factory Mapping\",\r\n response.message\r\n );\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n factoryForm = React.createRef();\r\n slotFormValidated = false;\r\n\r\n handleSubmit = () => {\r\n const slotValidator = this.factoryForm.validateFields();\r\n\r\n Promise.allSettled([slotValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n factoryFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdateStoreFactoryMapping();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n onFinishFactoryForm = () => {\r\n return null;\r\n };\r\n\r\n render() {\r\n const { disabled, factoryID, offeredServiceIds } = this.state;\r\n return (\r\n \r\n {this.state.showComponent ? (\r\n \r\n ) : (\r\n (this.factoryForm = factoryForm)}\r\n onFinish={this.onFinishFactoryForm}\r\n className={styles.AddSlotForm}\r\n key={factoryID + offeredServiceIds}\r\n >\r\n {/**\r\n * Please go through below documentation befor modifying\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n {this.state.storeFactoryMappingID === 0\r\n ? \"Add Factory Mapping\"\r\n : this.state.isView\r\n ? \"View Factory Mapping\"\r\n : \"Edit Factory Mapping\"}\r\n \r\n }\r\n backIcon={}\r\n onBack={this.props.backFunction}\r\n className={styles.AddSlotFormHeader}\r\n />\r\n \r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n selectedFactory: value,\r\n factoryID: value,\r\n offeredServiceIds: [],\r\n },\r\n () =>\r\n ![null, undefined, \"\"].includes(value)\r\n ? this.GetOfferedServicesByFactoryID(value)\r\n : value\r\n );\r\n }\r\n // this.GetOfferedServicesByFactoryID(value, 1)\r\n }\r\n disabled={disabled}\r\n >\r\n {this.state.factoryList.map((factoryList) => {\r\n return factoryList.value !== \"-1\" ? (\r\n \r\n {factoryList.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n prev.state !== next.state}\r\n onChange={(value) =>\r\n this.setState({\r\n selectedofferedServiceIds: [\r\n null,\r\n undefined,\r\n \"\",\r\n ].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n })\r\n }\r\n >\r\n {this.state.offerredServices.map((service) => {\r\n return service.value !== \"-1\" ? (\r\n \r\n {service.text}\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 Cancel\r\n \r\n {!this.state.isView ? (\r\n \r\n Save\r\n \r\n ) : null}\r\n {this.state.showComponent ? (\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","import React from \"react\";\r\nimport FactoryMappingForm from \"./factorymappingform.component\";\r\nimport {\r\n Table,\r\n Space,\r\n PageHeader,\r\n Typography,\r\n Popconfirm,\r\n notification,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createstore.module.css\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from \"moment\";\r\n\r\nconst { Title } = Typography;\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A tabular view as a part of create store - Slot Mapping, Slot List\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 2 June 2020\r\n *\r\n * @module Store\r\n */\r\nexport default class FactoryMapping extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.state = {\r\n isAdd: false,\r\n isEdit: false,\r\n isViewmode: false,\r\n disabled: false,\r\n factoryMappinglist: [],\r\n storeFactoryMappingID: 0,\r\n factoryID: 0,\r\n factoryName: \"\",\r\n offeredServiceIds: \"\",\r\n offeredServicesName: \"\",\r\n factoryFormValues: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isViewmode: this.props.isViewmode });\r\n this.getFactoryMappingList(this.props.storeID);\r\n }\r\n\r\n getFactoryMappingList = (storeID) => {\r\n this.storeservice.getFactoryMappingList(storeID).then((response) => {\r\n this.setState({ factoryMappinglist: response.data });\r\n });\r\n };\r\n\r\n getStoreFactoryMappingByID(storeFactoryMappingID) {\r\n this.storeservice\r\n .getStoreFactoryMappingByID(storeFactoryMappingID)\r\n .then((response) => {\r\n const res = response.data.offeredServiceIds.split(\",\");\r\n // .map((x) => parseInt(x));\r\n this.setState({\r\n isEdit: true,\r\n storeFactoryMappingID: storeFactoryMappingID,\r\n factoryID: response.data.factoryID.toString(),\r\n factoryName: response.data.factoryName,\r\n offeredServiceIds: response.data.offeredServiceIds,\r\n offeredServicesName: response.data.offeredServices,\r\n // factoryFormValues: {\r\n // factoryID: response.data.factoryID.toString(),\r\n // factoryName: response.data.factoryName,\r\n // offeredServiceIds: res,\r\n // // offeredServiceIds: response.data.offeredServiceIds\r\n // // .split(\",\")\r\n // // .map((x) => {\r\n // // x;\r\n // // }),\r\n // offeredServicesName: response.data.offeredServices,\r\n // },\r\n });\r\n });\r\n }\r\n\r\n getStoreFactoryMappingViewByID(storeFactoryMappingID) {\r\n this.storeservice\r\n .getStoreFactoryMappingByID(storeFactoryMappingID)\r\n .then((response) => {\r\n this.setState({\r\n isView: true,\r\n disabled: true,\r\n storeFactoryMappingID: storeFactoryMappingID,\r\n factoryID: response.data.factoryID.toString(),\r\n factoryName: response.data.factoryName,\r\n offeredServiceIds: response.data.offeredServiceIds,\r\n offeredServicesName: response.data.offeredServices,\r\n factoryFormValues: {\r\n factoryID: response.data.factoryID.toString(),\r\n factoryName: response.data.factoryName,\r\n offeredServiceIds: response.data.offeredServices, //response.data.offeredServiceIds.split(\",\"),\r\n offeredServicesName: response.data.offeredServices,\r\n },\r\n });\r\n });\r\n }\r\n\r\n deleteStoreFactoryMappingByID(storeFactoryMappingID) {\r\n this.storeservice\r\n .deleteStoreFactoryMappingByID(storeFactoryMappingID)\r\n .then((response) => {\r\n if (response.result === \"Success\") {\r\n openNotificationWithIcon(\r\n \"success\",\r\n \"Factory Mapping\",\r\n response.message\r\n );\r\n } else {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Factory Mapping\",\r\n response.message\r\n );\r\n }\r\n this.getFactoryMappingList(this.props.storeID);\r\n });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Factory Name\",\r\n dataIndex: \"factoryName\",\r\n key: \"factoryName\",\r\n },\r\n {\r\n title: \"Offered Services\",\r\n dataIndex: \"offeredServices\",\r\n key: \"offeredServices\",\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getStoreFactoryMappingViewByID(record.storeFactoryMappingID)\r\n }\r\n >\r\n \r\n \r\n {!this.props.isViewmode ? (\r\n \r\n this.getStoreFactoryMappingByID(record.storeFactoryMappingID)\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n {!this.props.isViewmode ? (\r\n \r\n this.deleteStoreFactoryMappingByID(record.storeFactoryMappingID)\r\n }\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n /**\r\n * A function to modify state varibles from child\r\n */\r\n bringback = () => {\r\n this.setState({\r\n isAdd: false,\r\n isEdit: false,\r\n isView: false,\r\n disabled: false,\r\n storeFactoryMappingID: 0,\r\n factoryFormValues: null,\r\n });\r\n };\r\n render() {\r\n //const{data,handleSaveUpdateSlotMapping,slotMappingList,storeID,isView,disabled,isViewmode}=this.props;\r\n return this.state.isAdd || this.state.isEdit || this.state.isView ? (\r\n \r\n ) : (\r\n \r\n {/**\r\n * Page Header Component to display title and button\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n */}\r\n \r\n Factory Mapping\r\n \r\n }\r\n extra={[\r\n !this.props.isViewmode ? (\r\n {\r\n this.setState({ isAdd: true });\r\n }}\r\n key=\"1\"\r\n >\r\n Add Factory Mapping\r\n \r\n ) : null,\r\n ]}\r\n className={styles.SlotMappingHeader}\r\n />\r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport GeneralForm from \"../../../components/Master/Store/CreateStore/generalform.component\";\r\nimport StoreContact from \"../../../components/Master/Store/CreateStore/storecontact.component\";\r\nimport StoreList from \"./storelist.screen\";\r\nimport { PageHeader, Steps, notification, Form, Spin, message } from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport StoreService from \"../../../services/storeservice\";\r\nimport SlotMapping from \"../../../components/Master/Store/CreateStore/slotmapping.component\";\r\nimport FactoryMapping from \"../../../components/Master/Store/CreateStore/factorymapping.component\";\r\nimport Moment from \"moment\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\n\r\nconst { Step } = Steps;\r\n\r\n// const openNotificationWithIcon = (type, title, message) => {\r\n// notification[type]({\r\n// message: title,\r\n// description:\r\n// message\r\n// });\r\n// };\r\n/**\r\n * User Creation Screen with steps and form (Master - Form).\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass CreateStore extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.state = {\r\n stateID: 0,\r\n isAdduser: false,\r\n mode: \"add\",\r\n isViewmode: false,\r\n fullLoading: false,\r\n activeStep: 0,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n\r\n // General details\r\n storeID: 0,\r\n companyID: 1,\r\n\r\n // Store Contact details\r\n storeContactID: 0,\r\n };\r\n }\r\n\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"mini\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n \r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if ([ROUTES.EDIT_STORE, \":storeID\"].join(\"/\") === this.props.match.path) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getStore(this.props.location.state.storeID);\r\n } else if (\r\n [ROUTES.VIEW_STORE, \":storeID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.setState({ isViewmode: true });\r\n this.getStore(this.props.location.state.storeID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getStore = (id) => {\r\n this.storeservice.getStoreDetailByStoreID(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.vMStoreMaster.storeID === parseInt(id)\r\n ) {\r\n this.setState({ storeID: response.data.vMStoreMaster.storeID });\r\n this.setState({\r\n storeContactID:\r\n response.data.vMStoreMaster.vMStoreContact.storeContactID,\r\n stateID: response.data.vMStoreMaster.vMStoreContact.stateID,\r\n });\r\n localStorage.setItem(\r\n \"geoFencing\",\r\n response.data.vMStoreMaster.vMStoreContact.geoCoOrdinates\r\n );\r\n this.setState({\r\n generalFormValues: {\r\n companyID: response.data.vMStoreMaster.companyID,\r\n storeName: response.data.vMStoreMaster.storeName,\r\n shortName: response.data.vMStoreMaster.shortName,\r\n openingDate: response.data.vMStoreMaster.openingDate\r\n ? Moment(response.data.vMStoreMaster.openingDate, \"M/D/yyyy\")\r\n : \"\",\r\n operationType: response.data.vMStoreMaster.operationType.toString(),\r\n storeServiceType: response.data.vMStoreMaster.storeServiceType.split(\r\n \",\"\r\n ),\r\n typeOfStore: response.data.vMStoreMaster.typeOfStore.toString(),\r\n storeModel: response.data.vMStoreMaster.storeModel.toString(),\r\n operatedBy: response.data.vMStoreMaster.operatedBy.toString(),\r\n operatingType: response.data.vMStoreMaster.operatingType.toString(),\r\n operatingDays: response.data.vMStoreMaster.operatingDays.split(\",\"),\r\n // response.data.vMStoreMaster.operatingDays\r\n // .split(\",\")\r\n // .map(function (item) {\r\n // return parseInt(item, 10);\r\n // }),\r\n\r\n operatingFrom: Moment(\r\n response.data.vMStoreMaster.operatingFrom,\r\n \"h:mm a\"\r\n ),\r\n operatingTo: Moment(\r\n response.data.vMStoreMaster.operatingTo,\r\n \"h:mm a\"\r\n ),\r\n status: response.data.vMStoreMaster.status.toString(),\r\n orderAssignedToStore: [null, undefined, \"\", 0].includes(\r\n response.data.vMStoreMaster.orderAssignedToStore\r\n )\r\n ? undefined\r\n : response.data.vMStoreMaster.orderAssignedToStore.toString(),\r\n gstIn: response.data.vMStoreMaster.gstIn,\r\n deliveryType:\r\n response.data.vMStoreMaster.deliveryType === \"\"\r\n ? []\r\n : response.data.vMStoreMaster.deliveryType.split(\",\"),\r\n serviceIDs:\r\n response.data.serviceIds === null\r\n ? null\r\n : response.data.serviceIds.split(\",\"),\r\n feedbackLink : response.data.vMStoreMaster.feedbackLink\r\n },\r\n });\r\n\r\n this.setState({\r\n contactFormValues: {\r\n storeContactID:\r\n response.data.vMStoreMaster.vMStoreContact.storeContactID,\r\n address: response.data.vMStoreMaster.vMStoreContact.address,\r\n zone: response.data.vMStoreMaster.vMStoreContact.zone.toString(),\r\n geoCoOrdinates:\r\n response.data.vMStoreMaster.vMStoreContact.geoCoOrdinates,\r\n phone: response.data.vMStoreMaster.vMStoreContact.phone,\r\n storeManager:\r\n response.data.vMStoreMaster.vMStoreContact.storeManager,\r\n storeExecutive:\r\n response.data.vMStoreMaster.vMStoreContact.storeExecutive,\r\n areaManager: response.data.vMStoreMaster.vMStoreContact.areaManager,\r\n stateID: response.data.vMStoreMaster.vMStoreContact.stateID.toString(),\r\n cityID: response.data.vMStoreMaster.vMStoreContact.cityID.toString(),\r\n latitude: response.data.vMStoreMaster.vMStoreContact.latitude,\r\n longitude: response.data.vMStoreMaster.vMStoreContact.longitude,\r\n pinCode: response.data.vMStoreMaster.vMStoreContact.pinCode,\r\n showOnWebsite:response.data.vMStoreMaster.vMStoreContact.showOnWebsite,\r\n showMarkerOnApp:response.data.vMStoreMaster.vMStoreContact.showMarkerOnApp \r\n },\r\n });\r\n\r\n this.setState({ fullLoading: false });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n } else {\r\n notification[\"error\"]({\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get store data\",\r\n message: \"Store Master\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleChange = (input) => (e) => {\r\n this.setState({ [input]: e.target.value });\r\n };\r\n\r\n handleSelectChange = (event, ddlList, name, text) => {\r\n this.setState({ [name]: parseInt(event) });\r\n var ddlListArray = ddlList.filter((x) => x.value === parseInt(event));\r\n if (ddlListArray !== undefined) {\r\n this.setState({ [text]: ddlListArray[0].text });\r\n }\r\n };\r\n\r\n handleMultiSelectChange = (event, name) => {\r\n this.setState({ [name]: event });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleTimeChange = (time, name) => {\r\n this.setState({ [name]: time });\r\n };\r\n\r\n handleSaveUpdatStoreMaster(event) {\r\n var storeSericeTypeList = \"\";\r\n var storeSeviceOfferedList = \"\";\r\n // var operatingDaysList = \"\";\r\n var deliveryTypeList = \"\";\r\n if (this.state.generalFormValues.storeServiceType.length > 0) {\r\n for (\r\n var i = 0;\r\n i < this.state.generalFormValues.storeServiceType.length;\r\n i++\r\n ) {\r\n storeSericeTypeList +=\r\n this.state.generalFormValues.storeServiceType[i] + \",\";\r\n }\r\n }\r\n if (this.state.generalFormValues.serviceIDs.length > 0) {\r\n for (var j = 0; j < this.state.generalFormValues.serviceIDs.length; j++) {\r\n storeSeviceOfferedList +=\r\n this.state.generalFormValues.serviceIDs[j] + \",\";\r\n }\r\n }\r\n if (\r\n this.state.generalFormValues.deliveryType != null &&\r\n this.state.generalFormValues.deliveryType != undefined\r\n ) {\r\n if (this.state.generalFormValues.deliveryType.length > 0) {\r\n for (\r\n var k = 0;\r\n k < this.state.generalFormValues.deliveryType.length;\r\n k++\r\n ) {\r\n deliveryTypeList +=\r\n this.state.generalFormValues.deliveryType[k] + \",\";\r\n }\r\n }\r\n }\r\n\r\n // if (this.state.generalFormValues.operatingDays.length > 0) {\r\n // for (\r\n // var l = 0;\r\n // l < this.state.generalFormValues.operatingDays.length;\r\n // l++\r\n // ) {\r\n // operatingDaysList +=\r\n // this.state.generalFormValues.operatingDays[l] + \",\";\r\n // }\r\n // }\r\n\r\n const postSave = {\r\n storeID: this.state.storeID,\r\n storeName: this.state.generalFormValues.storeName,\r\n shortName: this.state.generalFormValues.shortName,\r\n openingDate: this.state.generalFormValues.openingDate\r\n ? this.state.generalFormValues.openingDate.format(\"yyyy-MM-DD\")\r\n : null,\r\n operationType: parseInt(this.state.generalFormValues.operationType),\r\n storeServiceType: storeSericeTypeList.substring(\r\n 0,\r\n storeSericeTypeList.length - 1\r\n ),\r\n typeOfStore: parseInt(this.state.generalFormValues.typeOfStore),\r\n storeModel: parseInt(this.state.generalFormValues.storeModel),\r\n operatedBy: parseInt(this.state.generalFormValues.operatedBy),\r\n operatingType: parseInt(this.state.generalFormValues.operatingType),\r\n operatingDays: this.state.generalFormValues.operatingDays.join(\",\"),\r\n // operatingDaysList.substring(\r\n // 0,\r\n // operatingDaysList.length - 1\r\n // ),\r\n operatingFrom: this.state.generalFormValues.operatingFrom.format(\"HH:mm\"),\r\n operatingTo: this.state.generalFormValues.operatingTo.format(\"HH:mm\"),\r\n status: parseInt(this.state.generalFormValues.status),\r\n orderAssignedToStore: parseInt(\r\n this.state.generalFormValues.orderAssignedToStore\r\n ),\r\n gstIn: this.state.generalFormValues.gstIn,\r\n feedbackLink : this.state.generalFormValues.feedbackLink,\r\n deliveryType: deliveryTypeList.substring(0, deliveryTypeList.length - 1),\r\n serviceIDs: storeSeviceOfferedList.substring(\r\n 0,\r\n storeSeviceOfferedList.length - 1\r\n ),\r\n vMStoreSaveContact: {\r\n storeContactID: this.state.storeContactID,\r\n zone: parseInt(this.state.contactFormValues.zone),\r\n geoCoOrdinates:\r\n localStorage.getItem(\"geoFencing\") !== undefined &&\r\n localStorage.getItem(\"geoFencing\") !== null\r\n ? localStorage.getItem(\"geoFencing\").trim()\r\n : null,\r\n address: this.state.contactFormValues.address,\r\n phone: this.state.contactFormValues.phone,\r\n storeExecutive: this.state.contactFormValues.storeExecutive,\r\n storeManager: this.state.contactFormValues.storeManager,\r\n areaManager: this.state.contactFormValues.areaManager,\r\n stateID: parseInt(this.state.contactFormValues.stateID),\r\n cityID: parseInt(this.state.contactFormValues.cityID),\r\n latitude: this.state.contactFormValues.latitude,\r\n longitude: this.state.contactFormValues.longitude,\r\n pinCode: this.state.contactFormValues.pinCode,\r\n showOnWebsite:this.state.contactFormValues.showOnWebsite === false ? false : true,\r\n showMarkerOnApp:this.state.contactFormValues.showMarkerOnApp === false ? false : true ,\r\n },\r\n };\r\n\r\n // console.log(\"postSave->\",postSave);\r\n\r\n this.setState({ fullLoading: true });\r\n this.storeservice.saveUpdateStoreMaster(postSave).then((response) => {\r\n if (response.statusCode === 200) {\r\n localStorage.setItem(\"geoFencing\", \"\");\r\n notification[\"success\"]({\r\n message: \"Store Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Data saved successfully\",\r\n duration: 1.5,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Store Master\",\r\n description: response.message,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n // if(response.result==\"Success\")\r\n // {\r\n // openNotificationWithIcon('success', 'Store Master', response.message)\r\n // this.setState({isAdduser:true});\r\n // }\r\n // else {\r\n // openNotificationWithIcon('error', 'Store Master', response.message)\r\n // }\r\n });\r\n }\r\n\r\n /**\r\n * General Tab Form Submit Handler\r\n * Please go through https://ant.design/components/form/#API for more information\r\n *\r\n */\r\n\r\n generalForm = React.createRef();\r\n contactForm = React.createRef();\r\n\r\n generalFormValidated = false;\r\n contactFormValidated = false;\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n const contactValidator = this.contactForm.current.validateFields();\r\n\r\n Promise.allSettled([generalValidator, contactValidator]).then(\r\n (responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[1].status === \"rejected\") {\r\n this.setState({ activeStep: 1 });\r\n } else if (\r\n responses[0].status === \"fulfilled\" &&\r\n responses[1].status === \"fulfilled\"\r\n ) {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n contactFormValues: responses[1].value,\r\n },\r\n () => {\r\n this.handleSaveUpdatStoreMaster(); \r\n }\r\n );\r\n }\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n const { data } = this.state;\r\n\r\n // const{storeMasterData,isEditmode,isViewmode,disabled}=this.props;\r\n return this.state.isAdduser ? (\r\n \r\n ) : (\r\n \r\n \r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Store\",\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n {this.state.mode === \"edit\" || this.state.mode === \"view\" ? (\r\n \r\n ) : null}\r\n {this.state.mode === \"edit\" || this.state.mode === \"view\" ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n nextFunction={() => this.setState({ activeStep: 1 })}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n />\r\n \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n nextFunction={this.handleSubmit}\r\n isActive={this.state.activeStep === 1}\r\n instance={this.contactForm}\r\n mode={this.state.mode}\r\n stateID={this.state.stateID}\r\n />\r\n {this.state.activeStep === 2 ? (\r\n \r\n ) : null}\r\n {this.state.activeStep === 3 ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(CreateStore);\r\n","import React from \"react\";\r\nimport { PageHeader, Input, Row, Col, Form, Space, Table, Tooltip } from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport CreateStore from \"./createstore.screen\";\r\nimport StoreService from \"../../../services/storeservice\";\r\nimport Moment from \"moment\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\n// const { Option } = Select;\r\n/**\r\n * Store listing screen.\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass StoreList extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.storeservice = new StoreService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.state = {\r\n tableLoading: true,\r\n isEditmode: false,\r\n showfilterBox: false,\r\n isViewmode: false,\r\n disabled: false,\r\n showAddPopup: false,\r\n isAdd: false,\r\n storeList: [],\r\n storeMasterData: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n loading: false,\r\n shouldRefresh: false,\r\n };\r\n this.getStoreMasterByfilter = this.getStoreMasterByfilter.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.getStoreMasterDetails({\r\n storeID: this.state.storeID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n SourceFrom:1\r\n // ...filters,\r\n });\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.setState({\r\n pagination: {\r\n current: pagination.current,\r\n pageSize: pagination.pageSize,\r\n },\r\n });\r\n this.getStoreMasterDetails({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n SourceFrom:1\r\n // ...filters,\r\n });\r\n };\r\n\r\n getStoreMasterDetails(params = {}) {\r\n this.setState({ tableLoading: true });\r\n this.storeservice.retrieveStoreMaster(params).then((storeList) => {\r\n \r\n this.setState({\r\n storeList: storeList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: storeList.data.length > 0 ? storeList.data[0].totalRecords : 0,\r\n current:\r\n storeList.data.length === 0 ? 1 : this.state.pagination.current,\r\n },\r\n });\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n getStoreMasterByfilter(pagination) {\r\n const params = {\r\n storeName: document.getElementById(\"storeName\").value,\r\n shortName: document.getElementById(\"shortName\").value,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n };\r\n\r\n this.storeservice.retrieveStoreMasterByfilter(params).then((storeList) => {\r\n this.setState({\r\n storeList: storeList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: storeList.data[0].totalRecords,\r\n },\r\n });\r\n });\r\n }\r\n\r\n // deleteUserByUserID(id){\r\n // this.userservice.deleteUserByUserID(id).then(response => {\r\n // console.log(response);\r\n // alert(response.message);\r\n // this.getUserMasterDetails();\r\n // });\r\n // }\r\n\r\n getStoreDetailByStoreID(id) {\r\n this.storeservice.getStoreDetailByStoreID(id).then((storeMasterData) => {\r\n if (storeMasterData.result === \"Success\") {\r\n this.setState(\r\n { storeMasterData: storeMasterData.data, isEditmode: true },\r\n () => this.setState({ shouldRefresh: true })\r\n );\r\n } else {\r\n alert(storeMasterData.message);\r\n }\r\n // console.log(this.state.shouldRefresh);\r\n });\r\n }\r\n\r\n getStoreDetailsViewbyStoreID(id) {\r\n this.storeservice.getStoreDetailByStoreID(id).then((storeMasterData) => {\r\n if (storeMasterData.result === \"Success\") {\r\n this.setState({\r\n storeMasterData: storeMasterData.data,\r\n isViewmode: true,\r\n disabled: true,\r\n });\r\n } else {\r\n alert(storeMasterData.message);\r\n }\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.getStoreMasterDetails({\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n SourceFrom:1\r\n // ...filters,\r\n });\r\n };\r\n\r\n bringback = () => {\r\n this.setState({ isAdd: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Short Name\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Opening Date\",\r\n dataIndex: \"openingDate\",\r\n key: \"openingDate\",\r\n sorter: true,\r\n render: (data) =>\r\n [null, undefined, \"\"].includes(data)\r\n ? undefined\r\n : Moment(data, \"DD/MM/YYYY\").format(\"DD-MM-YYYY\"),\r\n },\r\n {\r\n title: \"Store Type\",\r\n dataIndex: \"typeOfStoreName\",\r\n key: \"typeOfStoreName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Store Model\",\r\n dataIndex: \"storeModelName\",\r\n key: \"storeModelName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Status\",\r\n dataIndex: \"statusName\",\r\n key: \"statusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"FeedbackLink\",\r\n dataIndex: \"feedbackLink\",\r\n key: \"feedbackLink\",\r\n sorter: false,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (feedbackLink) => {\r\n return (\r\n \r\n {feedbackLink}\r\n \r\n );\r\n }\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {/* \r\n */}\r\n\r\n {/* this.deleteStoreByUserID(record.storeID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n */}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n /**\r\n * Variables to be used in table for selection property\r\n * kindly go through\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#components-table-demo-row-selection-and-operation\r\n * https://ant.design/components/table/#components-table-demo-row-selection\r\n */\r\n // selectionType = \"checkbox\";\r\n // rowSelection = {\r\n // onChange: (selectedRowKeys, selectedRows) => {\r\n // console.log(\r\n // `selectedRowKeys: ${selectedRowKeys}`,\r\n // \"selectedRows: \",\r\n // selectedRows\r\n // );\r\n // },\r\n // getCheckboxProps: (record) => ({\r\n // disabled: record.firstName === \"Disabled User\", // Column configuration not to be checked\r\n // name: record.firstName,\r\n // }),\r\n // };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n render() {\r\n const {\r\n storeMasterData,\r\n isEditmode,\r\n pagination,\r\n isViewmode,\r\n disabled,\r\n } = this.state;\r\n const storeList = this.state.storeList;\r\n const storeLists = storeList.map((storeList) => ({\r\n storeID: storeList.storeID,\r\n storeName: storeList.storeName,\r\n shortName: storeList.shortName,\r\n typeOfStoreName: storeList.typeOfStoreName,\r\n storeModelName: storeList.storeModelName,\r\n statusName: storeList.statusName,\r\n feedbackLink: storeList.feedbackLink,\r\n openingDate: [null, undefined, \"\"].includes(storeList.openingDate)\r\n ? null\r\n : Moment(storeList.openingDate).format(\"DD-MM-YYYY\"),\r\n }));\r\n return this.state.isAdd ||\r\n this.state.isEditmode ||\r\n this.state.isViewmode ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_STORE,\r\n state: { state: { storeID: this.state.storeID } },\r\n })\r\n }\r\n key=\"2\"\r\n //onClick={() => this.setState({ showAddPopup: true,isAdd:true })}\r\n >\r\n Add Store\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n\r\n \r\n
null}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(StoreList);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FactoryService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getAllRoles(index = 0, size = 0) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ALL_ROLES });\r\n let factories = [];\r\n let payload = {\r\n roleName: \"\",\r\n pageIndex: index,\r\n pageSize: size,\r\n };\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ALL_ROLES]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getAllRoles((index = 0), (size = 0));\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async getRolesList() {\r\n const allFactoriesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ROLES_DROPDOWN });\r\n let factories = [];\r\n\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ROLES_DROPDOWN]\r\n .getAll()\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getRolesList();\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n async getRolesRights(id) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_SCREEN_RIGHTS });\r\n let factories = [];\r\n const idParams = \"?RoleID=\" + id;\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_SCREEN_RIGHTS]\r\n .getOne(idParams)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getRolesRights(id);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async UpdateRoles(PostData) {\r\n console.log(\"123->\",PostData);\r\n \r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.UPDATE_SCREEN_ROLES });\r\n let factories = [];\r\n await allFactoriesAPI.endpoints[this.endpoint.UPDATE_SCREEN_ROLES]\r\n .create(PostData)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.UpdateRoles(PostData);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async getRolesAccessList() {\r\n const allFactoriesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ROLEACCESS_DROPDOWN });\r\n let factories = [];\r\n\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ROLEACCESS_DROPDOWN]\r\n .getAll()\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getRolesAccessList();\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n}\r\n","import { PageHeader, Table, Checkbox, Select, notification, Spin } from \"antd\";\r\nimport Button from \"./components/Common/Button/button\";\r\nimport React from \"react\";\r\nimport TableActions from \"./components/Common/TableActions/tableactions\";\r\nimport RoleService from \"./services/roleservice\";\r\nconst { Option } = Select;\r\nclass Roles extends React.Component {\r\n roleService = new RoleService();\r\n state = {\r\n table: {\r\n loading: false,\r\n data: [],\r\n },\r\n roles: {\r\n disabled: true,\r\n data: [],\r\n },\r\n change: {},\r\n };\r\n updateChange = (screen, key, value) => {\r\n this.setState({\r\n change: {\r\n ...this.state.change,\r\n [screen]: {\r\n ...this.state.change[screen],\r\n [key]: value,\r\n },\r\n },\r\n });\r\n };\r\n expandedRowRender = (record1) => {\r\n const columns = [\r\n { title: \"Screen\", dataIndex: \"screenName\", key: \"screenName\" },\r\n {\r\n title: \"View\",\r\n dataIndex: \"isView\",\r\n key: \"isView\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(record.screenID, \"view\", event.target.checked);\r\n }}\r\n >\r\n ),\r\n },\r\n {\r\n title: \"Create\",\r\n dataIndex: \"create\",\r\n key: \"create\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(\r\n record.screenID,\r\n \"create\",\r\n event.target.checked\r\n );\r\n }}\r\n >\r\n ),\r\n },\r\n {\r\n title: \"Edit\",\r\n dataIndex: \"edit\",\r\n key: \"edit\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(record.screenID, \"edit\", event.target.checked);\r\n }}\r\n >\r\n ),\r\n },\r\n {\r\n title: \"Delete\",\r\n dataIndex: \"delete\",\r\n key: \"delete\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(\r\n record.screenID,\r\n \"delete\",\r\n event.target.checked\r\n );\r\n }}\r\n >\r\n ),\r\n },\r\n ];\r\n return (\r\n \r\n );\r\n };\r\n columns = [{ title: \"Screen\", dataIndex: \"parentName\", key: \"parentName\" }];\r\n componentDidMount() {\r\n this.getRoleList();\r\n }\r\n getRoleList() {\r\n this.roleService.getRolesList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n roles: {\r\n ...this.state.roles,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Unable to get data for roles\",\r\n });\r\n }\r\n });\r\n }\r\n getTableData(id) {\r\n this.setState({ table: { ...this.state.table, loading: true } });\r\n this.roleService.getRolesRights(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n var flags = [],\r\n output = [],\r\n l = response.data.length,\r\n i;\r\n for (i = 0; i < l; i++) {\r\n if (flags[response.data[i].parentID]) continue;\r\n flags[response.data[i].parentID] = true;\r\n let matchParent = response.data[i].parentID;\r\n const filteredData = response.data.filter((value) => {\r\n return matchParent === value.parentID;\r\n });\r\n let prepare = {\r\n key: response.data[i].parentID,\r\n parentID: response.data[i].parentID,\r\n parentName: response.data[i].parentName,\r\n rights: filteredData,\r\n };\r\n output.push(prepare);\r\n }\r\n this.setState({\r\n table: {\r\n ...this.state.table,\r\n data: output,\r\n loading: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Unable to get data for screen rights\",\r\n });\r\n }\r\n });\r\n }\r\n render() {\r\n return (\r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) => {\r\n this.getTableData(parseInt(value));\r\n }}\r\n >\r\n {this.state.roles.data.length !== 0\r\n ? this.state.roles.data.map((role) => {\r\n return role.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n ,\r\n ]}\r\n />\r\n \r\n \r\n \r\n
{JSON.stringify(this.state.change, null, 2)}
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Roles;\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass RateCardService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveStore() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStore();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveCorporate() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CORPORATE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetCorporateList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCorporate();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreCardAssignment(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_RATECARD_ASSIGN_TO_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetRateCardAssginedToStore.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreCardAssignment(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveCorporateCardAssignment(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_RATECARD_ASSIGN_TO_CORPORATE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.GetRateCardAssignedToCorporate.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCorporateCardAssignment(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getRateCardDetails(rateCardID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_RATECARD_DETAILS });\r\n let itemArray = [];\r\n let id = \"?RateCardID=\" + rateCardID;\r\n\r\n await myApi.endpoints.GetRateCardInfoByRateCardID.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getRateCardDetails(rateCardID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async uploadServiceRateCard(id, formData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.UPLOAD_SERVICE_RATE_CARD });\r\n let itemArray = [];\r\n let Id = \"?RateCardID=\" + id;\r\n await myApi.endpoints.UploadServiceRateCard.uploadFile(Id, formData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadServiceRateCard(id, formData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async saveUpdateRateCardMaster(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_RATECARD_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateRateCardMaster.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateRateCardMaster(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async SaveUpdateAssignRateCardToStores(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_ASSIGN_RATECARD_TO_STORE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateAssignRateCardToStores.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.SaveUpdateAssignRateCardToStores(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async SaveUpdateAssignRateCardToCorporate(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_ASSIGN_RATECARD_TO_CORPORATE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateAssignRateCardToCorporate.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.SaveUpdateAssignRateCardToCorporate(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getRateCardDetailByRateCardID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_RATECARD_DETAIL_BY_RATECARDID,\r\n });\r\n let itemArray = [];\r\n let Id = \"?RateCardID=\" + id;\r\n await myApi.endpoints.GetRateCardDetailByRateCardID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getRateCardDetailByRateCardID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveRateCardMaster(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_RATECARD_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetRateCardMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveRateCardMaster(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default RateCardService;\r\n","import React from \"react\";\r\nimport RateCardService from \"../../../services/ratecardservice\";\r\nimport { Row, Col, Form, Input, Radio } from \"antd\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\n\r\n/**\r\n * A form as a part of rate card - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 26 June 2020\r\n *\r\n * @module RateCard\r\n */\r\nexport default class RateCardMaster extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ratecardservice = new RateCardService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n };\r\n }\r\n componentDidMount() {\r\n // this.setState({\r\n // isEditmode:this.props.isEditmode,\r\n // isViewmode:this.props.isViewmode\r\n // })\r\n }\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\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 Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n {!disabled ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport RateCardService from \"../../../services/ratecardservice\";\r\nimport { Row, Col, Form, Space, Tag, notification, Table } from \"antd\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport { Upload, message } from \"antd\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\n\r\n/**\r\n * A form as a part of rate card - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 26 June 2020\r\n *\r\n * @module RateCard\r\n */\r\nexport default class RateCardDetail extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ratecardservice = new RateCardService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n fileName: \"\",\r\n rateCardID: 0,\r\n fileBinary: \"\",\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n rateCardDetailsList: [],\r\n };\r\n }\r\n componentDidMount() {\r\n this.setState({ rateCardID: this.props.rateCardID });\r\n this.state.currentURL = window.location.origin + \"/files/RateCard_TAT.xls\";\r\n this.getRateCardDetails(\r\n window.location.href.split(\"/\")[\r\n window.location.href.split(\"/\").length - 1\r\n ]\r\n );\r\n // this.setState({\r\n // isEditmode:this.props.isEditmode,\r\n // isViewmode:this.props.isViewmode\r\n // })\r\n }\r\n\r\n getRateCardDetails = (rateCardID) => {\r\n if (rateCardID !== 0) {\r\n this.props.toggleLoading(true);\r\n this.ratecardservice.getRateCardDetails(rateCardID).then((response) => {\r\n this.setState({ rateCardDetailsList: response.data });\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n };\r\n handleFileChange = (event) => {\r\n this.setState({\r\n files: event.target.files[0],\r\n fileName: event.target.files[0].name,\r\n });\r\n };\r\n handleSubmit = () => {\r\n if (this.state.fileList.length === 0) {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: \"Please select rate card file\",\r\n });\r\n } else {\r\n const formData = new FormData();\r\n formData.append(\"rateCardFile\", this.state.fileList[0]);\r\n formData.append(\"rateCardID\", this.state.rateCardID);\r\n this.props.toggleLoading(true);\r\n this.ratecardservice\r\n .uploadServiceRateCard(this.state.rateCardID, formData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to upload rate card\",\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Service Name\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n },\r\n {\r\n title: \"Garment Name\",\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n },\r\n {\r\n title: \"Regular\",\r\n dataIndex: \"regularRate\",\r\n key: \"reguularRate\",\r\n render: (text) => {\r\n return \"₹ \" + text;\r\n },\r\n },\r\n {\r\n title: \"Semi Express\",\r\n dataIndex: \"semiExpressRate\",\r\n key: \"semiExpressRate\",\r\n render: (text) => {\r\n return \"₹ \" + text;\r\n },\r\n },\r\n {\r\n title: \"Express\",\r\n dataIndex: \"expressRate\",\r\n key: \"expressRate\",\r\n render: (text) => {\r\n return \"₹ \" + text;\r\n },\r\n },\r\n {\r\n title: \"CGST\",\r\n dataIndex: \"cgst\",\r\n key: \"cgst\",\r\n },\r\n {\r\n title: \"SGST\",\r\n dataIndex: \"sgst\",\r\n key: \"sgst\",\r\n },\r\n {\r\n title: \"IGST\",\r\n dataIndex: \"igst\",\r\n key: \"igst\",\r\n },\r\n ];\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\r\n const tailFormItemLayout = {\r\n wrapperCol: {\r\n xs: {\r\n span: 24,\r\n offset: 0,\r\n },\r\n sm: {\r\n span: 14,\r\n offset: 6,\r\n },\r\n },\r\n };\r\n const updateFileBinary = (bin) => {\r\n this.setState({ fileBinary: bin });\r\n };\r\n const normFile = (e) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n };\r\n const uploadProps = {\r\n onRemove: (file) => {\r\n this.setState((state) => {\r\n const index = state.fileList.indexOf(file);\r\n const newFileList = state.fileList.slice();\r\n newFileList.splice(index, 1);\r\n return {\r\n fileList: newFileList,\r\n };\r\n });\r\n },\r\n beforeUpload: (file) => {\r\n this.setState((state) => ({\r\n fileList: [file],\r\n }));\r\n return false;\r\n },\r\n fileList: this.state.fileList,\r\n };\r\n return (\r\n \r\n {this.state.rateCardDetailsList.length === 0 ? (\r\n \r\n \r\n \r\n Click here to Download Sample Rate Card\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.rateCardDetailsList.length === 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.rateCardDetailsList.length === 0 ? (\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.rateCardDetailsList.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Form,\r\n Modal,\r\n Row,\r\n Col,\r\n Select,\r\n Space,\r\n Table,\r\n DatePicker,\r\n Radio,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport RateCardService from \"../../../services/ratecardservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faInfo, faPencilAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from \"moment\";\r\nconst { Option } = Select;\r\n\r\nclass StoreAssignment extends React.Component {\r\n ratecardservice = new RateCardService();\r\n state = {\r\n modalLoading: false,\r\n rateCardID: null,\r\n rateAssignID: 0,\r\n rateCardObj: {},\r\n rateCardStore: [],\r\n showAddPopup: false,\r\n store: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n tableLoading: true,\r\n currentRateCardStore: {},\r\n popupMode: \"add\",\r\n };\r\n componentDidMount() {\r\n if (!this.props.rateCardID) {\r\n this.props.history.goBack();\r\n } else {\r\n //this.getRateCardMaster(this.props.match.params.rateCardID);\r\n }\r\n this.getStore();\r\n this.getStoreCardAssignment(this.props.rateCardID);\r\n }\r\n\r\n getStoreCardAssignment = (id) => {\r\n const params = {\r\n rateAssignID: 0,\r\n rateCardID: parseInt(id),\r\n };\r\n this.ratecardservice\r\n .retrieveStoreCardAssignment(params)\r\n .then((response) => {\r\n if (response.length !== 0) {\r\n if (response.statusCode === 200) {\r\n let modifiedData = response.data.map((singleObj) => {\r\n singleObj.key = singleObj.rateAssignID;\r\n return singleObj;\r\n });\r\n this.setState({ rateCardStore: modifiedData });\r\n this.setState({ tableLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: \"Unable to get store assignment\",\r\n // description: \"Redirecting....\",\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n });\r\n }\r\n }\r\n });\r\n };\r\n getStore = () => {\r\n this.ratecardservice.retrieveStore().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n store: {\r\n ...this.state.store,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: \"Unable to get list of store\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateRateCardStoreAssignment(values) {\r\n const postData = {\r\n rateAssignID: this.state.currentRateCardStore.rateAssignID\r\n ? this.state.currentRateCardStore.rateAssignID\r\n : 0,\r\n rateCardID: parseInt(this.props.rateCardID),\r\n storeID: parseInt(values.storeID),\r\n effectiveFrom: values.effectiveFrom[0].format(\"yyyy-MM-DD\"),\r\n effectiveTo: values.effectiveFrom[1].format(\"yyyy-MM-DD\"),\r\n // closePreviousRateCard:\r\n // this.state.currentRateCardStore.rateAssignID !== 0\r\n // ? false\r\n // : values.closePreviousRateCard,\r\n closePreviousRateCard: values.closePreviousRateCard,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.ratecardservice\r\n .SaveUpdateAssignRateCardToStores(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to add store assignment\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n this.setState({ showAddPopup: false });\r\n this.getStoreCardAssignment(this.props.rateCardID);\r\n });\r\n }\r\n handleViewEditStoreAssignment = (storeassignment, mode) => {\r\n //this.getCityList(address.stateID.toString());\r\n const newStoreAssignment = {\r\n ...storeassignment,\r\n storeID: storeassignment.storeID.toString(),\r\n effectiveFrom: [\r\n Moment(storeassignment.effectiveFrom, \"M/D/yyyy\"),\r\n Moment(storeassignment.effectiveTo, \"M/D/yyyy\"),\r\n ],\r\n };\r\n this.setState({ currentRateCardStore: newStoreAssignment });\r\n this.setState({ popupMode: mode });\r\n this.setState({ showAddPopup: true });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n columns = [\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"rateAssignID\",\r\n // key: \"rateAssignID\",\r\n // width: \"3%\",\r\n // },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n },\r\n {\r\n title: \"Effective From\",\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Effective To\",\r\n dataIndex: \"effectiveTo\",\r\n key: \"effectiveTo\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n \r\n this.handleViewEditStoreAssignment(record, \"view\")}\r\n >\r\n \r\n \r\n \r\n {this.props.mode !== \"view\" &&\r\n Moment(record.effectiveFrom).isAfter(Moment()) ? (\r\n \r\n \r\n this.handleViewEditStoreAssignment(record, \"edit\")\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n render() {\r\n const disabledAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n \r\n this.setState({\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentRateCardStore: {},\r\n })\r\n }\r\n key=\"1\"\r\n >\r\n Add Store Assignment\r\n \r\n ) : null,\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n this.addUpdateRateCardStoreAssignment(values)\r\n }\r\n initialValues={this.state.currentRateCardStore}\r\n >\r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.store.data.length !== 0\r\n ? this.state.store.data.map((store) => {\r\n return store.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n format={\"DD-MM-YYYY\"}\r\n disabled={disabledAll}\r\n disabledDate={(currentDate) =>\r\n currentDate.isSameOrBefore(Moment(), \"day\")\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n \r\n {/* \r\n \r\n null} disabled={disabledAll} />\r\n \r\n */}\r\n {this.state.popupMode === \"add\" ? (\r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n );\r\n }\r\n\r\n PaytmEDCTerminalGet = () => {};\r\n}\r\nexport default withRouter(StoreAssignment);\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Form,\r\n Modal,\r\n Row,\r\n Col,\r\n Select,\r\n Space,\r\n Table,\r\n DatePicker,\r\n Radio,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport RateCardService from \"../../../services/ratecardservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faInfo, faPencilAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from \"moment\";\r\nconst { Option } = Select;\r\n\r\nclass CorporateAssignment extends React.Component {\r\n ratecardservice = new RateCardService();\r\n state = {\r\n modalLoading: false,\r\n rateCardID: null,\r\n rateAssignID: 0,\r\n rateCardObj: {},\r\n rateCardCorporate: [],\r\n showAddPopup: false,\r\n corporate: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n tableLoading: true,\r\n currentRateCardCorporate: {},\r\n popupMode: \"add\",\r\n };\r\n componentDidMount() {\r\n if (!this.props.rateCardID) {\r\n this.props.history.goBack();\r\n } else {\r\n //this.getRateCardMaster(this.props.match.params.rateCardID);\r\n }\r\n this.getCorporate();\r\n this.getCorporateCardAssignment(this.props.rateCardID);\r\n }\r\n\r\n getCorporateCardAssignment = (id) => {\r\n const params = {\r\n rateAssignID: 0,\r\n rateCardID: parseInt(id),\r\n };\r\n this.ratecardservice\r\n .retrieveCorporateCardAssignment(params)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let modifiedData = response.data.map((singleObj) => {\r\n singleObj.key = singleObj.rateAssignID;\r\n return singleObj;\r\n });\r\n this.setState({ rateCardCorporate: modifiedData });\r\n this.setState({ tableLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: \"Unable to get corporate assignment\",\r\n // description: \"Redirecting....\",\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n });\r\n }\r\n });\r\n };\r\n getCorporate = () => {\r\n this.ratecardservice.retrieveCorporate().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n corporate: {\r\n ...this.state.corporate,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: \"Unable to get list of corporate\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateRateCardCorporateAssignment(values) {\r\n const postData = {\r\n rateAssignID: this.state.currentRateCardCorporate.rateAssignID\r\n ? this.state.currentRateCardCorporate.rateAssignID\r\n : 0,\r\n rateCardID: parseInt(this.props.rateCardID),\r\n corporateID: parseInt(values.corporateID),\r\n effectiveFrom: values.effectiveFrom[0].format(\"yyyy-MM-DD\"),\r\n effectiveTo: values.effectiveFrom[1].format(\"yyyy-MM-DD\"),\r\n // closePreviousRateCard:\r\n // this.state.currentRateCardCorporate.rateAssignID !== 0\r\n // ? false\r\n // : values.closePreviousRateCard,\r\n closePreviousRateCard: values.closePreviousRateCard,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.ratecardservice\r\n .SaveUpdateAssignRateCardToCorporate(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to add corporate assignment\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n this.setState({ showAddPopup: false });\r\n this.getCorporateCardAssignment(this.props.rateCardID);\r\n });\r\n }\r\n handleViewEditCorporateAssignment = (corporateassignment, mode) => {\r\n //this.getCityList(address.stateID.toString());\r\n const newCorporateAssignment = {\r\n ...corporateassignment,\r\n corporateID: corporateassignment.corporateID.toString(),\r\n effectiveFrom: [\r\n Moment(corporateassignment.effectiveFrom, \"M/D/yyyy\"),\r\n Moment(corporateassignment.effectiveTo, \"M/D/yyyy\"),\r\n ],\r\n };\r\n this.setState({ currentRateCardCorporate: newCorporateAssignment });\r\n this.setState({ popupMode: mode });\r\n this.setState({ showAddPopup: true });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n columns = [\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"rateAssignID\",\r\n // key: \"rateAssignID\",\r\n // width: \"3%\",\r\n // },\r\n {\r\n title: \"Corporate Name\",\r\n dataIndex: \"corporateName\",\r\n key: \"corporateName\",\r\n },\r\n {\r\n title: \"Effective From\",\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Effective To\",\r\n dataIndex: \"effectiveTo\",\r\n key: \"effectiveTo\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n \r\n \r\n this.handleViewEditCorporateAssignment(record, \"view\")\r\n }\r\n >\r\n \r\n \r\n \r\n {this.props.mode !== \"view\" &&\r\n Moment(record.effectiveFrom).isAfter(Moment()) ? (\r\n \r\n \r\n this.handleViewEditCorporateAssignment(record, \"edit\")\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n render() {\r\n const disabledAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n \r\n this.setState({\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentRateCardCorporate: {},\r\n })\r\n }\r\n key=\"1\"\r\n >\r\n Add Corporate Assignment\r\n \r\n ) : null,\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n this.addUpdateRateCardCorporateAssignment(values)\r\n }\r\n initialValues={this.state.currentRateCardCorporate}\r\n >\r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n disabled={disabledAll}\r\n >\r\n {this.state.corporate.data.length !== 0\r\n ? this.state.corporate.data.map((corporate) => {\r\n return corporate.value !== \"-1\" ? (\r\n \r\n {corporate.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n format={\"DD-MM-YYYY\"}\r\n disabled={disabledAll}\r\n disabledDate={(currentDate) =>\r\n currentDate.isSameOrBefore(Moment(), \"day\")\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n \r\n {/* \r\n \r\n null} disabled={disabledAll} />\r\n \r\n */}\r\n {this.state.popupMode === \"add\" ? (\r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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\nexport default withRouter(CorporateAssignment);\r\n","import React from \"react\";\r\nimport styles from \"./createratecardscreen.module.css\";\r\nimport RateCardMaster from \"../../components/RateCard/CreateRateCard/ratecardmaster.component\";\r\nimport RateCardDetail from \"../../components/RateCard/CreateRateCard/ratecarddetail.component\";\r\n//import StoreRateCardAssignment from \"../../components/RateCard/CreateRateCard/storeratecardassignment.component\";\r\nimport StoreAssignment from \"../../components/RateCard/CreateRateCard/storeassignment.component\";\r\n//import CorporateRateCardAssignment from \"../../components/RateCard/CreateRateCard/corporateratecardassignment.component\";\r\nimport CorporateAssignment from \"../../components/RateCard/CreateRateCard/corporateassignment.component\";\r\nimport RateCardList from \"./ratecardlist.screen\";\r\nimport { PageHeader, Steps, notification, Form, Spin } from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport RateCardService from \"../../services/ratecardservice\";\r\n//import Moment from 'moment'\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../routes\";\r\n\r\nconst { Step } = Steps;\r\n\r\n// const openNotificationWithIcon = (type, title, message) => {\r\n// notification[type]({\r\n// message: title,\r\n// description:\r\n// message\r\n// });\r\n// };\r\n/**\r\n * User Creation Screen with steps and form (Master - Form).\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass CreateRateCard extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.ratecardservice = new RateCardService();\r\n this.state = {\r\n detailsLoading: false,\r\n isAddRatecard: false,\r\n mode: \"add\",\r\n isViewmode: false,\r\n fullLoading: false,\r\n activeStep: 0,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n rateCardID: 0,\r\n rateAssignStoreID: 0,\r\n rateAssignCorporateID: 0,\r\n rateCardMasterFormValues: {},\r\n storeRateCardAssignmentFormValues: {},\r\n corporateRateCardAssignmentFormValues: {},\r\n isCorporate: \"\",\r\n };\r\n }\r\n\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"mini\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_RATECARD, \":rateCardID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getRateCard(this.props.location.state.rateCardID);\r\n } else if (\r\n [ROUTES.VIEW_RATECARD, \":rateCardID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.setState({ isViewmode: true });\r\n this.getRateCard(this.props.location.state.rateCardID);\r\n } else if (\r\n [ROUTES.VIEW_RATESTOREASSIGNMENT, \":rateCardID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.getRateCard(this.props.location.state.rateCardID);\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"storeassignment\" });\r\n this.setState({ activeStep: 2 });\r\n } else if (\r\n [ROUTES.VIEW_RATECORPORATEASSIGNMENT, \":rateCardID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.getRateCard(this.props.location.state.rateCardID);\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"corporateassignment\" });\r\n this.setState({ activeStep: 2 });\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getRateCard = (id) => {\r\n this.setState({ fullLoading: true });\r\n this.ratecardservice.getRateCardDetailByRateCardID(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.rateCardID === parseInt(id)\r\n ) {\r\n this.setState({ rateCardID: response.data.rateCardID });\r\n this.setState({\r\n rateCardMasterFormValues: {\r\n rateCardName: response.data.rateCardName,\r\n isCorporate: response.data.isCorporate,\r\n },\r\n });\r\n if (response.data.isCorporate) {\r\n this.setState({ isCorporate: \"Yes\" });\r\n } else {\r\n this.setState({ isCorporate: \"No\" });\r\n }\r\n\r\n this.setState({ fullLoading: false });\r\n const prevStep = this.state.activeStep;\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: prevStep });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: \"Unable to get rate card data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * General Tab Form Submit Handler\r\n * Please go through https://ant.design/components/form/#API for more information\r\n *\r\n */\r\n\r\n rateCardMasterForm = React.createRef();\r\n storeRateCardAssignmentForm = React.createRef();\r\n corporateRateCardAssignmentForm = React.createRef();\r\n\r\n rateCardMasterFormValidated = false;\r\n storeRateCardAssignmentFormValidated = false;\r\n corporateRateCardAssignmentFormValidated = false;\r\n\r\n handleRateCardMasterSubmit = () => {\r\n const rateCardMasterValidator = this.rateCardMasterForm.current.validateFields();\r\n\r\n Promise.allSettled([rateCardMasterValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n rateCardMasterFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdatRateCardMaster();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleSaveUpdatRateCardMaster = () => {\r\n const postSave = {\r\n rateCardID: this.state.rateCardID,\r\n rateCardName: this.state.rateCardMasterFormValues.rateCardName,\r\n isCorporate: this.state.rateCardMasterFormValues.isCorporate,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.ratecardservice.saveUpdateRateCardMaster(postSave).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ rateCardID: response.data.rateCardID });\r\n notification[\"success\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n duration: 1.5,\r\n onClose: () => {\r\n if (!this.state.rateCardMasterFormValues.isCorporate) {\r\n this.setState({ isCorporate: \"No\" });\r\n this.setState({ activeStep: 1 });\r\n // this.props.history.push(\r\n // [ROUTES.VIEW_RATESTOREASSIGNMENT, this.state.rateCardID].join(\"/\")\r\n // );\r\n } else {\r\n this.setState({ isCorporate: \"Yes\" });\r\n this.setState({ activeStep: 1 });\r\n // this.props.history.push(\r\n // [ROUTES.VIEW_RATECORPORATEASSIGNMENT, this.state.rateCardID].join(\"/\")\r\n // );\r\n }\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n handleStoreRateCardAssignmentSubmit = () => {\r\n const storeRateCardAssignmentValidator = this.storeRateCardAssignmentForm.current.validateFields();\r\n\r\n Promise.allSettled([storeRateCardAssignmentValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 2 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n storeRateCardAssignmentFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdatStoreRateCardAssignmentMaster();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleSaveUpdatStoreRateCardAssignmentMaster = () => {\r\n const postSave = {\r\n rateCardID: this.state.rateCardID,\r\n storeID: parseInt(this.state.storeRateCardAssignmentFormValues.storeID),\r\n effectiveFrom: this.state.storeRateCardAssignmentFormValues.effectiveFrom.format(\r\n \"yyyy-MM-DD\"\r\n ),\r\n effectiveTo: this.state.storeRateCardAssignmentFormValues.effectiveTo.format(\r\n \"yyyy-MM-DD\"\r\n ),\r\n };\r\n this.ratecardservice\r\n .SaveUpdateAssignRateCardToStores(postSave)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n duration: 1.5,\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n });\r\n this.setState({ activeStep: 3 });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleCorporateRateCardAssignmentSubmit = () => {\r\n const corporateRateCardAssignmentValidator = this.corporateRateCardAssignmentForm.current.validateFields();\r\n\r\n Promise.allSettled([corporateRateCardAssignmentValidator]).then(\r\n (responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 3 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n corporateRateCardAssignmentFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdatCorporateRateCardAssignmentMaster();\r\n }\r\n );\r\n }\r\n }\r\n );\r\n };\r\n\r\n handleSaveUpdatCorporateRateCardAssignmentMaster = () => {\r\n const postSave = {\r\n rateCardID: this.state.rateCardID,\r\n corporateID: parseInt(\r\n this.state.corporateRateCardAssignmentFormValues.corporateID\r\n ),\r\n effectiveFrom: this.state.corporateRateCardAssignmentFormValues.effectiveFrom.format(\r\n \"yyyy-MM-DD\"\r\n ),\r\n effectiveTo: this.state.corporateRateCardAssignmentFormValues.effectiveTo.format(\r\n \"yyyy-MM-DD\"\r\n ),\r\n };\r\n this.ratecardservice\r\n .SaveUpdateAssignRateCardToCorporate(postSave)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n duration: 1.5,\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card\",\r\n description: response.message,\r\n });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n //const{data}=this.state;\r\n\r\n //const{storeMasterData,isEditmode,isViewmode,disabled}=this.props;\r\n return this.state.isAddRatecard ? (\r\n \r\n ) : (\r\n \r\n \r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Rate Card\",\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n {this.state.isCorporate === \"No\" ? (\r\n \r\n ) : null}\r\n {this.state.isCorporate === \"Yes\" ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n {\r\n if (name === \"RateCardMaster\") {\r\n this.handleRateCardMasterSubmit(info.values);\r\n }\r\n }}\r\n >\r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n mode={this.state.mode}\r\n />\r\n\r\n this.props.history.goBack()}\r\n toggleLoading={(value) =>\r\n this.setState({ detailsLoading: value })\r\n }\r\n // values={this.state.contactFormValues}\r\n // backFunction={() =>\r\n // this.setState({ activeStep: this.state.activeStep - 1 })\r\n // }\r\n // nextFunction={this.handleSubmit}\r\n // isActive={this.state.activeStep === 1}\r\n // instance={this.contactForm}\r\n // mode={this.state.mode}\r\n />\r\n {this.state.activeStep === 2 &&\r\n this.state.isCorporate === \"No\" &&\r\n this.state.rateCardID !== 0 ? (\r\n \r\n ) : null}\r\n {this.state.activeStep === 2 &&\r\n this.state.isCorporate === \"Yes\" &&\r\n this.state.rateCardID !== 0 ? (\r\n \r\n ) : null}\r\n {/* {this.state.activeStep === 2 ? \r\n this.props.history.goBack()}\r\n /> : null} */}\r\n\r\n {/* {this.state.activeStep === 3 ? \r\n this.props.history.goBack()}\r\n /> : null} */}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(CreateRateCard);\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Form,\r\n Space,\r\n Table,\r\n Tooltip,\r\n notification,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../components/Common/Button/button\";\r\nimport Filters from \"../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../components/Common/TableActions/tableactions\";\r\nimport styles from \"../RateCard/ratecardlistscreen.module.css\";\r\nimport CreateRateCard from \"./createratecard.screen\";\r\nimport RateCardService from \"../../services/ratecardservice\";\r\n//import Moment from 'moment'\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../routes\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport Common from \"../../services/common\";\r\n\r\nconst { Search } = Input;\r\n// const { Option } = Select;\r\n/**\r\n * Rate Card listing screen.\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass RateCardList extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.ratecardservice = new RateCardService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n commonSearch: null,\r\n tableLoading: true,\r\n isEditmode: false,\r\n showfilterBox: false,\r\n isViewmode: false,\r\n disabled: false,\r\n showAddPopup: false,\r\n isAdd: false,\r\n rateCardList: [],\r\n rateCardMasterData: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n loading: false,\r\n shouldRefresh: false,\r\n };\r\n this.getRateCardMasterByfilter = this.getRateCardMasterByfilter.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ tableLoading: false });\r\n this.getRateCardMasterDetails({\r\n commonSearch: this.state.commonSearch,\r\n rateCardName: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.SERVICE_RATE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.getRateCardMasterDetails({\r\n rateCardName: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n getRateCardMasterDetails(params = {}) {\r\n this.setState({ tableLoading: true });\r\n params.CommonSearch = this.state.commonSearch;\r\n params.rateCardName =\r\n params.rateCardName === undefined ? \"\" : params.rateCardName;\r\n params.sortColumn =\r\n params.sortColumn === undefined ? \"\" : params.sortColumn;\r\n params.sortOrder = params.sortOrder === undefined ? \"\" : params.sortOrder;\r\n this.ratecardservice.retrieveRateCardMaster(params).then((rateCardList) => {\r\n if (rateCardList.statusCode === 200) {\r\n this.setState({\r\n rateCardList: rateCardList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n rateCardList.data.length !== 0\r\n ? rateCardList.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Rate Card Master\",\r\n description: rateCardList.message\r\n ? this.common.Message(rateCardList.message)\r\n : \"Unable to get list of rate card data\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n getRateCardMasterByfilter(pagination) {\r\n const params = {\r\n rateCardName: document.getElementById(\"rateCardName\").value,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n };\r\n\r\n this.ratecardservice.retrieveRateCardMaster(params).then((rateCardList) => {\r\n this.setState({\r\n rateCardList: rateCardList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: rateCardList.data[0].totalRecords,\r\n },\r\n });\r\n });\r\n }\r\n\r\n // deleteUserByUserID(id){\r\n // this.userservice.deleteUserByUserID(id).then(response => {\r\n // console.log(response);\r\n // alert(response.message);\r\n // this.getUserMasterDetails();\r\n // });\r\n // }\r\n handleSearch = (event) => {\r\n this.setState({ commonSearch: event.target.value }, () => {\r\n this.getRateCardMasterDetails({\r\n // CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n });\r\n };\r\n\r\n bringback = () => {\r\n this.setState({ isAdd: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"Rate Card Name\",\r\n dataIndex: \"rateCardName\",\r\n key: \"rateCardName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Is Corporate\",\r\n dataIndex: \"isCorporate\",\r\n key: \"isCorporate\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 * Variables to be used in table for selection property\r\n * kindly go through\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#components-table-demo-row-selection-and-operation\r\n * https://ant.design/components/table/#components-table-demo-row-selection\r\n */\r\n // selectionType = \"checkbox\";\r\n // rowSelection = {\r\n // onChange: (selectedRowKeys, selectedRows) => {\r\n // console.log(\r\n // `selectedRowKeys: ${selectedRowKeys}`,\r\n // \"selectedRows: \",\r\n // selectedRows\r\n // );\r\n // },\r\n // getCheckboxProps: (record) => ({\r\n // disabled: record.firstName === \"Disabled User\", // Column configuration not to be checked\r\n // name: record.firstName,\r\n // }),\r\n // };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n render() {\r\n const { pagination } = this.state;\r\n const rateCardList = this.state.rateCardList;\r\n const rateCardLists = rateCardList.map((rateCardList) => ({\r\n rateCardID: rateCardList.rateCardID,\r\n rateCardName: rateCardList.rateCardName,\r\n isCorporate: rateCardList.isCorporate === true ? \"Yes\" : \"No\",\r\n }));\r\n return this.state.isAdd ||\r\n this.state.isEditmode ||\r\n this.state.isViewmode ? (\r\n
\r\n {/* */}\r\n \r\n
\r\n ) : (\r\n \r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_RATECARD,\r\n state: { rateCardID: this.state.rateCardID },\r\n })\r\n }\r\n key=\"2\"\r\n //onClick={() => this.setState({ showAddPopup: true,isAdd:true })}\r\n >\r\n Add Rate Card\r\n \r\n ) : null,\r\n ]}\r\n />\r\n\r\n \r\n
null}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(RateCardList);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass TimeCardService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveStore() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStore();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveCorporate() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CORPORATE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetCorporateList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCorporate();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveStoreCardAssignment(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_TIMECARD_ASSIGN_TO_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetTimeCardAssginedToStore.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreCardAssignment(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveCorporateCardAssignment(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_TIMECARD_ASSIGN_TO_CORPORATE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.GetTimeCardAssignedToCorpoTime.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCorporateCardAssignment(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async saveUpdateTimeCardMaster(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_TIMECARD_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateTimeCardMaster.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateTimeCardMaster(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async SaveUpdateAssignTimeCardToStores(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_ASSIGN_TIMECARD_TO_STORE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateAssignTimeCardToStores.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.SaveUpdateAssignTimeCardToStores(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async SaveUpdateAssignTimeCardToCorporate(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_ASSIGN_TIMECARD_TO_CORPORATE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateAssignTimeCardToCorporate.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.SaveUpdateAssignTimeCardToCorporate(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getTimeCardDetailByTimeCardID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_TIMECARD_DETAIL_BY_TIMECARDID,\r\n });\r\n let itemArray = [];\r\n let Id = \"?TimeCardID=\" + id;\r\n await myApi.endpoints.GetTimeCardDetailByTimeCardID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getTimeCardDetailByTimeCardID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveTimeCardMaster(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_TIMECARD_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetTimeCardMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveTimeCardMaster(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async getTimeCardDetails(timeCardID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_TIMECARD_DETAILS });\r\n let itemArray = [];\r\n let id = \"?TimeCardID=\" + timeCardID;\r\n\r\n await myApi.endpoints.GetTimeCardInfoByTimeCardID.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getTimeCardDetails(timeCardID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async uploadServiceTimeCard(id, formData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.UPLOAD_SERVICE_TIME_CARD });\r\n let itemArray = [];\r\n let Id = \"?TimeCardID=\" + id;\r\n await myApi.endpoints.UploadServiceTimeCard.uploadFile(Id, formData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadServiceTimeCard(id, formData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default TimeCardService;\r\n","import React from \"react\";\r\nimport TimeCardService from \"../../../services/timecardservice\";\r\nimport { Row, Col, Form, Input, Radio } from \"antd\";\r\nimport styles from \"./../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\n\r\n/**\r\n * A form as a part of time card - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 26 June 2020\r\n *\r\n * @module TimeCard\r\n */\r\nexport default class TimeCardMaster extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.timecardservice = new TimeCardService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n };\r\n }\r\n componentDidMount() {\r\n // this.setState({\r\n // isEditmode:this.props.isEditmode,\r\n // isViewmode:this.props.isViewmode\r\n // })\r\n }\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\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 Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n {!disabled ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport TimeCardService from \"../../../services/timecardservice\";\r\nimport { Row, Col, Form, Space, Tag, notification, Table } from \"antd\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport { Upload, message } from \"antd\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\n\r\n/**\r\n * A form as a part of time card - General Section/Step\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 26 June 2020\r\n *\r\n * @module TimeCard\r\n */\r\nexport default class TimeCardDetail extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.timecardservice = new TimeCardService();\r\n this.state = {\r\n isEditmode: false,\r\n isViewmode: false,\r\n fileName: \"\",\r\n timeCardID: 0,\r\n fileBinary: \"\",\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n timeCardDetailsList: [],\r\n };\r\n }\r\n componentDidMount() {\r\n this.setState({ timeCardID: this.props.timeCardID });\r\n this.state.currentURL = window.location.origin + \"/files/TimeCard_TAT.xls\";\r\n this.getTimeCardDetails(this.props.timeCardID);\r\n // this.setState({\r\n // isEditmode:this.props.isEditmode,\r\n // isViewmode:this.props.isViewmode\r\n // })\r\n }\r\n getTimeCardDetails = (timeCardID) => {\r\n if (timeCardID !== 0) {\r\n this.props.toggleLoading(true);\r\n this.timecardservice.getTimeCardDetails(timeCardID).then((response) => {\r\n this.setState({ timeCardDetailsList: response.data });\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n };\r\n handleFileChange = (event) => {\r\n this.setState({\r\n files: event.target.files[0],\r\n fileName: event.target.files[0].name,\r\n });\r\n };\r\n handleSubmit = () => {\r\n if (this.state.fileList.length === 0) {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: \"Please select time card file\",\r\n });\r\n } else {\r\n const formData = new FormData();\r\n formData.append(\"timeCardFile\", this.state.fileList[0]);\r\n formData.append(\"timeCardID\", this.props.timeCardID);\r\n this.props.toggleLoading(true);\r\n this.timecardservice\r\n .uploadServiceTimeCard(this.state.timeCardID, formData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Time Card\",\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to upload time card\",\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Service Name\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n },\r\n {\r\n title: \"Garment Name\",\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n },\r\n {\r\n title: \"TAT\",\r\n dataIndex: \"tat\",\r\n key: \"tat\",\r\n },\r\n ];\r\n\r\n render() {\r\n const disabled = this.props.mode === \"view\";\r\n const tailFormItemLayout = {\r\n wrapperCol: {\r\n xs: {\r\n span: 24,\r\n offset: 0,\r\n },\r\n sm: {\r\n span: 14,\r\n offset: 6,\r\n },\r\n },\r\n };\r\n const updateFileBinary = (bin) => {\r\n this.setState({ fileBinary: bin });\r\n };\r\n const normFile = (e) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n };\r\n const uploadProps = {\r\n onRemove: (file) => {\r\n this.setState((state) => {\r\n const index = state.fileList.indexOf(file);\r\n const newFileList = state.fileList.slice();\r\n newFileList.splice(index, 1);\r\n return {\r\n fileList: newFileList,\r\n };\r\n });\r\n },\r\n beforeUpload: (file) => {\r\n this.setState((state) => ({\r\n fileList: [file],\r\n }));\r\n return false;\r\n },\r\n fileList: this.state.fileList,\r\n };\r\n return (\r\n \r\n {this.state.timeCardDetailsList.length === 0 ? (\r\n \r\n \r\n \r\n Click here to Download Sample Time Card\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.timeCardDetailsList.length === 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* this.fileUpload } onChange={this.handleFileChange} /> */}\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.timeCardDetailsList.length === 0 ? (\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.timeCardDetailsList.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Form,\r\n Modal,\r\n Row,\r\n Col,\r\n Select,\r\n Space,\r\n Table,\r\n DatePicker,\r\n Radio,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport TimeCardService from \"../../../services/timecardservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faInfo, faPencilAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from \"moment\";\r\nconst { Option } = Select;\r\n\r\nclass StoreAssignment extends React.Component {\r\n timecardservice = new TimeCardService();\r\n state = {\r\n modalLoading: false,\r\n timeCardID: null,\r\n timeAssignID: 0,\r\n timeCardObj: {},\r\n timeCardStore: [],\r\n showAddPopup: false,\r\n store: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n tableLoading: true,\r\n currentTimeCardStore: {},\r\n popupMode: \"add\",\r\n };\r\n componentDidMount() {\r\n if (!this.props.timeCardID) {\r\n this.props.history.goBack();\r\n } else {\r\n //this.getTimeCardMaster(this.props.match.params.timeCardID);\r\n }\r\n this.getStore();\r\n this.getStoreCardAssignment(this.props.timeCardID);\r\n }\r\n getStoreCardAssignment = (id) => {\r\n const params = {\r\n timeAssignID: 0,\r\n timeCardID: parseInt(id),\r\n };\r\n this.timecardservice\r\n .retrieveStoreCardAssignment(params)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let modifiedData = response.data.map((singleObj) => {\r\n singleObj.key = singleObj.timeAssignID;\r\n return singleObj;\r\n });\r\n this.setState({ timeCardStore: modifiedData });\r\n this.setState({ tableLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: \"Unable to get store assignment\",\r\n //description: \"Redirecting....\",\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n });\r\n }\r\n });\r\n };\r\n getStore = () => {\r\n this.timecardservice.retrieveStore().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n store: {\r\n ...this.state.store,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: \"Unable to get list of store\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateTimeCardStoreAssignment(values) {\r\n const postData = {\r\n timeAssignID: this.state.currentTimeCardStore.timeAssignID\r\n ? this.state.currentTimeCardStore.timeAssignID\r\n : 0,\r\n timeCardID: parseInt(this.props.timeCardID),\r\n storeID: parseInt(values.storeID),\r\n effectiveFrom: values.effectiveFrom[0].format(\"yyyy-MM-DD\"),\r\n effectiveTo: values.effectiveFrom[1].format(\"yyyy-MM-DD\"),\r\n // closePreviousTimeCard:\r\n // this.state.currentTimeCardStore.timeAssignID !== 0\r\n // ? false\r\n // : values.closePreviousTimeCard,\r\n closePreviousTimeCard: values.closePreviousTimeCard,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.timecardservice\r\n .SaveUpdateAssignTimeCardToStores(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Time Card\",\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to add store assignment\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n this.setState({ showAddPopup: false });\r\n this.getStoreCardAssignment(this.props.timeCardID);\r\n });\r\n }\r\n handleViewEditStoreAssignment = (storeassignment, mode) => {\r\n //this.getCityList(address.stateID.toString());\r\n const newStoreAssignment = {\r\n ...storeassignment,\r\n storeID: storeassignment.storeID.toString(),\r\n effectiveFrom: [\r\n Moment(storeassignment.effectiveFrom, \"M/D/yyyy\"),\r\n Moment(storeassignment.effectiveTo, \"M/D/yyyy\"),\r\n ],\r\n };\r\n this.setState({ currentTimeCardStore: newStoreAssignment });\r\n this.setState({ popupMode: mode });\r\n this.setState({ showAddPopup: true });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n columns = [\r\n {\r\n title: \"ID\",\r\n dataIndex: \"timeAssignID\",\r\n key: \"timeAssignID\",\r\n width: \"3%\",\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n },\r\n {\r\n title: \"Effective From\",\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Effective To\",\r\n dataIndex: \"effectiveTo\",\r\n key: \"effectiveTo\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n \r\n this.handleViewEditStoreAssignment(record, \"view\")}\r\n >\r\n \r\n \r\n \r\n {this.props.mode !== \"view\" &&\r\n Moment(record.effectiveFrom).isAfter(Moment()) ? (\r\n \r\n \r\n this.handleViewEditStoreAssignment(record, \"edit\")\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n render() {\r\n const disabledAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n \r\n this.setState({\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentTimeCardStore: {},\r\n })\r\n }\r\n key=\"1\"\r\n >\r\n Add Store Assignment\r\n \r\n ) : null,\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n this.addUpdateTimeCardStoreAssignment(values)\r\n }\r\n initialValues={this.state.currentTimeCardStore}\r\n >\r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.store.data.length !== 0\r\n ? this.state.store.data.map((store) => {\r\n return store.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n format={\"DD-MM-YYYY\"}\r\n disabled={disabledAll}\r\n disabledDate={(currentDate) =>\r\n currentDate.isSameOrBefore(Moment(), \"day\")\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n \r\n {/* \r\n \r\n null} disabled={disabledAll} />\r\n \r\n */}\r\n {this.state.popupMode === \"add\" ? (\r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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\nexport default withRouter(StoreAssignment);\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Form,\r\n Modal,\r\n Row,\r\n Col,\r\n Select,\r\n Space,\r\n Table,\r\n DatePicker,\r\n Radio,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport TimeCardService from \"../../../services/timecardservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faInfo, faPencilAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from \"moment\";\r\nconst { Option } = Select;\r\n\r\nclass CorporateAssignment extends React.Component {\r\n timecardservice = new TimeCardService();\r\n state = {\r\n modalLoading: false,\r\n timeCardID: null,\r\n timeAssignID: 0,\r\n timeCardObj: {},\r\n timeCardCorporate: [],\r\n showAddPopup: false,\r\n corporate: {\r\n selected: null,\r\n data: [],\r\n disabled: true,\r\n },\r\n tableLoading: true,\r\n currentTimeCardCorporate: {},\r\n popupMode: \"add\",\r\n };\r\n componentDidMount() {\r\n if (!this.props.timeCardID) {\r\n this.props.history.goBack();\r\n } else {\r\n //this.getTimeCardMaster(this.props.match.params.timeCardID);\r\n }\r\n this.getCorporate();\r\n this.getCorporateCardAssignment(this.props.timeCardID);\r\n }\r\n getCorporateCardAssignment = (id) => {\r\n const params = {\r\n timeAssignID: 0,\r\n timeCardID: parseInt(id),\r\n };\r\n this.timecardservice\r\n .retrieveCorporateCardAssignment(params)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let modifiedData = response.data.map((singleObj) => {\r\n singleObj.key = singleObj.timeAssignID;\r\n return singleObj;\r\n });\r\n this.setState({ timeCardCorporate: modifiedData });\r\n this.setState({ tableLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: \"Unable to get corporate assignment\",\r\n // description: \"Redirecting....\",\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n });\r\n }\r\n });\r\n };\r\n getCorporate = () => {\r\n this.timecardservice.retrieveCorporate().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n corporate: {\r\n ...this.state.corporate,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: \"Unable to get list of corporate\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateTimeCardCorporateAssignment(values) {\r\n const postData = {\r\n timeAssignID: this.state.currentTimeCardCorporate.timeAssignID\r\n ? this.state.currentTimeCardCorporate.timeAssignID\r\n : 0,\r\n timeCardID: parseInt(this.props.timeCardID),\r\n corporateID: parseInt(values.corporateID),\r\n effectiveFrom: values.effectiveFrom[0].format(\"yyyy-MM-DD\"),\r\n effectiveTo: values.effectiveFrom[1].format(\"yyyy-MM-DD\"),\r\n // closePreviousTimeCard:\r\n // this.state.currentTimeCardCorporate.timeAssignID !== 0\r\n // ? false\r\n // : values.closePreviousTimeCard,\r\n closePreviousTimeCard: values.closePreviousTimeCard,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.timecardservice\r\n .SaveUpdateAssignTimeCardToCorporate(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Time Card\",\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to add corporate assignment\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n this.setState({ showAddPopup: false });\r\n this.getCorporateCardAssignment(this.props.timeCardID);\r\n });\r\n }\r\n handleViewEditCorporateAssignment = (corporateassignment, mode) => {\r\n //this.getCityList(address.stateID.toString());\r\n const newCorporateAssignment = {\r\n ...corporateassignment,\r\n corporateID: corporateassignment.corporateID.toString(),\r\n effectiveFrom: [\r\n Moment(corporateassignment.effectiveFrom, \"M/D/yyyy\"),\r\n Moment(corporateassignment.effectiveTo, \"M/D/yyyy\"),\r\n ],\r\n };\r\n this.setState({ currentTimeCardCorporate: newCorporateAssignment });\r\n this.setState({ popupMode: mode });\r\n this.setState({ showAddPopup: true });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n columns = [\r\n {\r\n title: \"ID\",\r\n dataIndex: \"timeAssignID\",\r\n key: \"timeAssignID\",\r\n width: \"3%\",\r\n },\r\n {\r\n title: \"Corporate Name\",\r\n dataIndex: \"corporateName\",\r\n key: \"corporateName\",\r\n },\r\n {\r\n title: \"Effective From\",\r\n dataIndex: \"effectiveFrom\",\r\n key: \"effectiveFrom\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Effective To\",\r\n dataIndex: \"effectiveTo\",\r\n key: \"effectiveTo\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n \r\n \r\n this.handleViewEditCorporateAssignment(record, \"view\")\r\n }\r\n >\r\n \r\n \r\n \r\n {this.props.mode !== \"view\" &&\r\n Moment(record.effectiveFrom).isAfter(Moment()) ? (\r\n \r\n \r\n this.handleViewEditCorporateAssignment(record, \"edit\")\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n render() {\r\n const disabledAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n \r\n this.setState({\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentTimeCardCorporate: {},\r\n })\r\n }\r\n key=\"1\"\r\n >\r\n Add Corporate Assignment\r\n \r\n ) : null,\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n this.addUpdateTimeCardCorporateAssignment(values)\r\n }\r\n initialValues={this.state.currentTimeCardCorporate}\r\n >\r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n disabled={disabledAll}\r\n >\r\n {this.state.corporate.data.length !== 0\r\n ? this.state.corporate.data.map((corporate) => {\r\n return corporate.value !== \"-1\" ? (\r\n \r\n {corporate.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n format={\"DD-MM-YYYY\"}\r\n disabledDate={(currentDate) =>\r\n currentDate.isSameOrBefore(Moment(), \"day\")\r\n ? true\r\n : false\r\n }\r\n disabled={disabledAll}\r\n />\r\n \r\n \r\n {/* \r\n \r\n null} disabled={disabledAll}/>\r\n \r\n */}\r\n {this.state.popupMode === \"add\" ? (\r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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\nexport default withRouter(CorporateAssignment);\r\n","import React from \"react\";\r\nimport styles from \"./createtimecardscreen.module.css\";\r\nimport TimeCardMaster from \"../../components/TimeCard/CreateTimeCard/timecardmaster.component\";\r\nimport TimeCardDetail from \"../../components/TimeCard/CreateTimeCard/timecarddetail.component\";\r\nimport StoreAssignment from \"../../components/TimeCard/CreateTimeCard/storeassignment.component\";\r\nimport CorporateAssignment from \"../../components/TimeCard/CreateTimeCard/corporateassignment.component\";\r\nimport TimeCardList from \"./timecardlist.screen\";\r\nimport { PageHeader, Steps, notification, Form, Spin } from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport TimeCardService from \"../../services/timecardservice\";\r\n//import Moment from 'moment'\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../routes\";\r\n\r\nconst { Step } = Steps;\r\n\r\n// const openNotificationWithIcon = (type, title, message) => {\r\n// notification[type]({\r\n// message: title,\r\n// description:\r\n// message\r\n// });\r\n// };\r\n/**\r\n * User Creation Screen with steps and form (Master - Form).\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass CreateTimeCard extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.timecardservice = new TimeCardService();\r\n this.state = {\r\n detailsLoading: false,\r\n isAddTimecard: false,\r\n mode: \"add\",\r\n isViewmode: false,\r\n fullLoading: false,\r\n activeStep: 0,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n timeCardID: 0,\r\n timeAssignStoreID: 0,\r\n timeAssignCorporateID: 0,\r\n timeCardMasterFormValues: {},\r\n storeTimeCardAssignmentFormValues: {},\r\n corporateTimeCardAssignmentFormValues: {},\r\n isCorporate: \"\",\r\n };\r\n }\r\n\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"mini\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_TIMECARD, \":timeCardID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getTimeCard(this.props.location.state.timeCardID);\r\n } else if (\r\n [ROUTES.VIEW_TIMECARD, \":timeCardID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.setState({ isViewmode: true });\r\n this.getTimeCard(this.props.location.state.timeCardID);\r\n } else if (\r\n [ROUTES.VIEW_TIMESTOREASSIGNMENT, \":timeCardID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.getTimeCard(this.props.location.state.timeCardID);\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"storeassignment\" });\r\n this.setState({ activeStep: 2 });\r\n } else if (\r\n [ROUTES.VIEW_TIMECORPORATEASSIGNMENT, \":timeCardID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.getTimeCard(this.props.location.state.timeCardID);\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"corporateassignment\" });\r\n this.setState({ activeStep: 2 });\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getTimeCard = (id) => {\r\n this.timecardservice.getTimeCardDetailByTimeCardID(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.timeCardID === parseInt(id)\r\n ) {\r\n this.setState({ timeCardID: response.data.timeCardID });\r\n this.setState({\r\n timeCardMasterFormValues: {\r\n timeCardName: response.data.timeCardName,\r\n isCorporate: response.data.isCorporate,\r\n },\r\n });\r\n if (response.data.isCorporate) {\r\n this.setState({ isCorporate: \"Yes\" });\r\n } else {\r\n this.setState({ isCorporate: \"No\" });\r\n }\r\n\r\n this.setState({ fullLoading: false });\r\n const prevStep = this.state.activeStep;\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: prevStep });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n description: \"Unable to get time card data\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * General Tab Form Submit Handler\r\n * Please go through https://ant.design/components/form/#API for more information\r\n *\r\n */\r\n\r\n timeCardMasterForm = React.createRef();\r\n storeTimeCardAssignmentForm = React.createRef();\r\n corporateTimeCardAssignmentForm = React.createRef();\r\n\r\n timeCardMasterFormValidated = false;\r\n storeTimeCardAssignmentFormValidated = false;\r\n corporateTimeCardAssignmentFormValidated = false;\r\n\r\n handleTimeCardMasterSubmit = () => {\r\n const timeCardMasterValidator = this.timeCardMasterForm.current.validateFields();\r\n\r\n Promise.allSettled([timeCardMasterValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n timeCardMasterFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.handleSaveUpdatTimeCardMaster();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleSaveUpdatTimeCardMaster = () => {\r\n const postSave = {\r\n timeCardID: this.state.timeCardID,\r\n timeCardName: this.state.timeCardMasterFormValues.timeCardName,\r\n isCorporate: this.state.timeCardMasterFormValues.isCorporate,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.timecardservice.saveUpdateTimeCardMaster(postSave).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ timeCardID: response.data.timeCardID });\r\n notification[\"success\"]({\r\n message: \"Time Card\",\r\n description: response.message,\r\n duration: 1.5,\r\n onClose: () => {\r\n if (!this.state.timeCardMasterFormValues.isCorporate) {\r\n this.setState({ isCorporate: \"No\" });\r\n this.setState({ activeStep: 1 });\r\n // this.props.history.push(\r\n // [ROUTES.VIEW_TIMESTOREASSIGNMENT, this.state.timeCardID].join(\"/\")\r\n // );\r\n } else {\r\n this.setState({ isCorporate: \"Yes\" });\r\n this.setState({ activeStep: 1 });\r\n // this.props.history.push(\r\n // [ROUTES.VIEW_TIMECORPORATEASSIGNMENT, this.state.timeCardID].join(\"/\")\r\n // );\r\n }\r\n },\r\n });\r\n //this.setState({activeStep: 2 })\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card\",\r\n message: response.message,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n handleStoreTimeCardAssignmentSubmit = () => {\r\n const storeTimeCardAssignmentValidator = this.storeTimeCardAssignmentForm.current.validateFields();\r\n\r\n Promise.allSettled([storeTimeCardAssignmentValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 2 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n storeTimeCardAssignmentFormValues: responses[0].value,\r\n },\r\n () => {\r\n //this.handleSaveUpdatStoreTimeCardAssignmentMaster();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n handleCorporateTimeCardAssignmentSubmit = () => {\r\n const corporateTimeCardAssignmentValidator = this.corporateTimeCardAssignmentForm.current.validateFields();\r\n\r\n Promise.allSettled([corporateTimeCardAssignmentValidator]).then(\r\n (responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 3 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n corporateTimeCardAssignmentFormValues: responses[0].value,\r\n },\r\n () => {\r\n //this.handleSaveUpdatCorporateTimeCardAssignmentMaster();\r\n }\r\n );\r\n }\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n //const{data}=this.state;\r\n\r\n //const{storeMasterData,isEditmode,isViewmode,disabled}=this.props;\r\n return this.state.isAddTimecard ? (\r\n \r\n ) : (\r\n \r\n \r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Time Card\",\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n {this.state.isCorporate === \"No\" ? (\r\n \r\n ) : null}\r\n {this.state.isCorporate === \"Yes\" ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n {\r\n if (name === \"TimeCardMaster\") {\r\n this.handleTimeCardMasterSubmit(info.values);\r\n }\r\n }}\r\n >\r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n mode={this.state.mode}\r\n />\r\n\r\n this.props.history.goBack()}\r\n toggleLoading={(value) =>\r\n this.setState({ detailsLoading: value })\r\n }\r\n // values={this.state.contactFormValues}\r\n // backFunction={() =>\r\n // this.setState({ activeStep: this.state.activeStep - 1 })\r\n // }\r\n // nextFunction={this.handleSubmit}\r\n // isActive={this.state.activeStep === 1}\r\n // instance={this.contactForm}\r\n // mode={this.state.mode}\r\n />\r\n {this.state.activeStep === 2 &&\r\n this.state.isCorporate === \"No\" ? (\r\n \r\n ) : null}\r\n {this.state.activeStep === 2 &&\r\n this.state.isCorporate === \"Yes\" ? (\r\n \r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(CreateTimeCard);\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Form,\r\n Space,\r\n Table,\r\n Tooltip,\r\n notification,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../components/Common/Button/button\";\r\nimport Filters from \"../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../components/Common/TableActions/tableactions\";\r\nimport styles from \"../TimeCard/timecardlistscreen.module.css\";\r\nimport CreateTimeCard from \"./createtimecard.screen\";\r\nimport TimeCardService from \"../../services/timecardservice\";\r\n//import Moment from 'moment'\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../routes\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport Common from \"../../services/common\";\r\n\r\nconst { Search } = Input;\r\n// const { Option } = Select;\r\n/**\r\n * Time Card listing screen.\r\n *\r\n * @author Shailesh Balar\r\n *\r\n * @since 1.0.0\r\n * @created 1 June 2020\r\n *\r\n */\r\nclass TimeCardList extends React.Component {\r\n /**\r\n * State Varible to Hold Active Step Index starting from 0\r\n */\r\n constructor(props) {\r\n super(props);\r\n this.timecardservice = new TimeCardService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n timeCardID: 0,\r\n tableLoading: true,\r\n isEditmode: false,\r\n showfilterBox: false,\r\n isViewmode: false,\r\n disabled: false,\r\n showAddPopup: false,\r\n isAdd: false,\r\n timeCardList: [],\r\n timeCardMasterData: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n loading: false,\r\n shouldRefresh: false,\r\n search: null,\r\n };\r\n this.getTimeCardMasterByfilter = this.getTimeCardMasterByfilter.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.SERVICE_TIME\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ tableLoading: false });\r\n this.getTimeCardMasterDetails({\r\n timeCardID: this.state.timeCardID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n }\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.getTimeCardMasterDetails({\r\n timeCardName: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n getTimeCardMasterDetails(params = {}) {\r\n this.setState({ tableLoading: true });\r\n params = { ...params, CommonSearch: this.state.search };\r\n this.timecardservice.retrieveTimeCardMaster(params).then((timeCardList) => {\r\n if (timeCardList.statusCode === 200) {\r\n // if (timeCardList.length !== 0) {\r\n this.setState({\r\n timeCardList: timeCardList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n timeCardList.data.length !== 0\r\n ? timeCardList.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Time Card Master\",\r\n description: timeCardList.message\r\n ? this.common.Message(timeCardList.message)\r\n : \"Unable to get list of time card data\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n getTimeCardMasterByfilter(pagination) {\r\n const params = {\r\n timeCardName: document.getElementById(\"timeCardName\").value,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n };\r\n\r\n this.ratecardservice.retrieveTimeCardMaster(params).then((timeCardList) => {\r\n this.setState({\r\n timeCardList: timeCardList.data,\r\n });\r\n if (timeCardList.statusCode === 200) {\r\n // if (timeCardList.data.length > 0) {\r\n this.setState({\r\n pagination: {\r\n ...params.pagination,\r\n total: timeCardList.data[0].totalRecords,\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n pagination: {\r\n ...params.pagination,\r\n total: 0,\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value });\r\n this.getTimeCardMasterDetails({\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n bringback = () => {\r\n this.setState({ isAdd: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"Time Card Name\",\r\n dataIndex: \"timeCardName\",\r\n key: \"timeCardName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Express TAT\",\r\n dataIndex: \"expressTAT\",\r\n key: \"expressTAT\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Semi Express TAT\",\r\n dataIndex: \"semiExpressTAT\",\r\n key: \"semiExpressTAT\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Is Corporate\",\r\n dataIndex: \"isCorporate\",\r\n key: \"isCorporate\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 * Variables to be used in table for selection property\r\n * kindly go through\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#components-table-demo-row-selection-and-operation\r\n * https://ant.design/components/table/#components-table-demo-row-selection\r\n */\r\n // selectionType = \"checkbox\";\r\n // rowSelection = {\r\n // onChange: (selectedRowKeys, selectedRows) => {\r\n // console.log(\r\n // `selectedRowKeys: ${selectedRowKeys}`,\r\n // \"selectedRows: \",\r\n // selectedRows\r\n // );\r\n // },\r\n // getCheckboxProps: (record) => ({\r\n // disabled: record.firstName === \"Disabled User\", // Column configuration not to be checked\r\n // name: record.firstName,\r\n // }),\r\n // };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n render() {\r\n const { pagination } = this.state;\r\n const timeCardList = this.state.timeCardList;\r\n const timeCardLists = timeCardList.map((timeCardList) => ({\r\n timeCardID: timeCardList.timeCardID,\r\n timeCardName: timeCardList.timeCardName,\r\n expressTAT: timeCardList.expressTAT,\r\n semiExpressTAT: timeCardList.semiExpressTAT,\r\n isCorporate: timeCardList.isCorporate === true ? \"Yes\" : \"No\",\r\n }));\r\n return this.state.isAdd ||\r\n this.state.isEditmode ||\r\n this.state.isViewmode ? (\r\n
\r\n {/* */}\r\n \r\n
\r\n ) : (\r\n \r\n ,\r\n // this.state.userRights.length > 0 && this.state.userRights[0].isAdd == true ?\r\n // this.props.history.push(ROUTES.ADD_TIMECARD)}\r\n // key=\"2\"\r\n // //onClick={() => this.setState({ showAddPopup: true,isAdd:true })}\r\n // >\r\n // Add Time Card\r\n // \r\n // :null,\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_TIMECARD,\r\n state: { timeCardID: this.state.timeCardID },\r\n })\r\n }\r\n key=\"2\"\r\n //onClick={() => this.setState({ showAddPopup: true,isAdd:true })}\r\n >\r\n Add Time Card\r\n ,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n\r\n \r\n
null}>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Please go through below documention for
Component\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#API\r\n *\r\n */}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(TimeCardList);\r\n","import {\r\n PageHeader,\r\n Table,\r\n Checkbox,\r\n Select,\r\n notification,\r\n Spin,\r\n Space,\r\n} from \"antd\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport React from \"react\";\r\n// import TableActions from \"../../components/Common/TableActions/tableactions\";\r\nimport RoleService from \"../../../services/roleservice\";\r\nimport AuthService from \"../../../services/authservice\";\r\nimport jwt from \"jsonwebtoken\";\r\n\r\nconst { Option } = Select;\r\nclass Roles extends React.Component {\r\n roleService = new RoleService();\r\n authService = new AuthService();\r\n state = {\r\n table: {\r\n loading: false,\r\n data: [],\r\n },\r\n roles: {\r\n disabled: true,\r\n data: [],\r\n },\r\n roleAccess: {\r\n disabled: true,\r\n data: [],\r\n },\r\n selectedRoleAccess: \"\",\r\n change: {},\r\n roleId: 0,\r\n roleAccessbyRole: {},\r\n showRoleAccessMenu: false,\r\n };\r\n updateChange = (screen, key, value) => {\r\n this.setState(\r\n {\r\n change: {\r\n ...this.state.change,\r\n [screen.screenID]: {\r\n view: key === \"view\" && value === false ? false : screen.isView,\r\n update: key === \"view\" && value === false ? false : screen.isUpdate,\r\n add: key === \"view\" && value === false ? false : screen.isAdd,\r\n delete: key === \"view\" && value === false ? false : screen.isDelete,\r\n [key]: key === \"view\" && value === false ? false : value,\r\n },\r\n },\r\n },\r\n () => {\r\n if (key !== \"view\") {\r\n if (this.state.change[screen.screenID] !== undefined) {\r\n let rights = this.state.change[screen.screenID];\r\n if (rights.view || rights.add || rights.update || rights.delete) {\r\n this.updateChange(screen, \"view\", true);\r\n } else {\r\n this.updateChange(screen, \"view\", false);\r\n }\r\n }\r\n }\r\n }\r\n );\r\n let originalData = [...this.state.table.data];\r\n let updatedData = originalData.map((single) => {\r\n if (single.parentID === screen.parentID) {\r\n single.rights = single.rights.map((right) => {\r\n if (right.screenID === screen.screenID) {\r\n if (key === \"view\") {\r\n right.isView = value;\r\n } else if (key === \"add\") {\r\n right.isAdd = value;\r\n } else if (key === \"update\") {\r\n right.isUpdate = value;\r\n } else if (key === \"delete\") {\r\n right.isDelete = value;\r\n }\r\n }\r\n return right;\r\n });\r\n return single;\r\n }\r\n });\r\n };\r\n expandedRowRender = (record1) => {\r\n const columns = [\r\n { title: \"Screen\", dataIndex: \"screenName\", key: \"screenName\" },\r\n {\r\n title: \"View\",\r\n dataIndex: \"isView\",\r\n key: \"isView\",\r\n width: \"100px\",\r\n align: \"center\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(record, \"view\", event.target.checked);\r\n }}\r\n >\r\n ),\r\n },\r\n {\r\n title: \"Create\",\r\n dataIndex: \"create\",\r\n key: \"create\",\r\n width: \"100px\",\r\n align: \"center\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(record, \"add\", event.target.checked);\r\n }}\r\n >\r\n ),\r\n },\r\n {\r\n title: \"Edit\",\r\n dataIndex: \"edit\",\r\n key: \"edit\",\r\n width: \"100px\",\r\n align: \"center\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(record, \"update\", event.target.checked);\r\n }}\r\n >\r\n ),\r\n },\r\n {\r\n title: \"Delete\",\r\n dataIndex: \"delete\",\r\n key: \"delete\",\r\n width: \"100px\",\r\n align: \"center\",\r\n render: (text, record, index) => (\r\n {\r\n this.updateChange(record, \"delete\", event.target.checked);\r\n }}\r\n >\r\n ),\r\n },\r\n ];\r\n return (\r\n \r\n );\r\n };\r\n columns = [{ title: \"Screen\", dataIndex: \"parentName\", key: \"parentName\" }];\r\n componentDidMount() {\r\n this.getRoleList();\r\n this.getRoleAccessList();\r\n }\r\n getRoleList() {\r\n this.roleService.getRolesList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n roles: {\r\n ...this.state.roles,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Role Operations\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for roles\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n getRoleAccessList() {\r\n this.roleService.getRolesAccessList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n roleAccess: {\r\n ...this.state.roleAccess,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Role Operations\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for role access\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n // getTableData(id) {\r\n // this.setState({\r\n // table: { ...this.state.table, loading: true },\r\n // roleId: id,\r\n // change: {},\r\n // });\r\n // this.roleService.getRolesRights(id).then((response) => {\r\n // console.log(\"response->\",response);\r\n // if (response.statusCode === 200) {\r\n // let screenRignt= response.data.vmScreenRights;\r\n // console.log(\"screenRignt->\",screenRignt);\r\n // var flags = [],\r\n // output = [],\r\n // l = response.data.length,\r\n // i;\r\n // for (i = 0; i < l; i++) {\r\n // if (flags[response.data[i].parentID]) continue;\r\n // flags[response.data[i].parentID] = true;\r\n // let matchParent = response.data[i].parentID;\r\n // const filteredData = response.data.filter((value) => {\r\n // return matchParent === value.parentID;\r\n // });\r\n // let prepare = {\r\n // key: response.data[i].parentID,\r\n // parentID: response.data[i].parentID,\r\n // parentName: response.data[i].parentName,\r\n // rights: filteredData,\r\n // };\r\n // output.push(prepare);\r\n // }\r\n // this.setState({\r\n // table: {\r\n // ...this.state.table,\r\n // data: output,\r\n // loading: false,\r\n // },\r\n // });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: \"Role Operations\",\r\n // description: \"Unable to get data for screen rights\",\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n getTableData(id) {\r\n this.setState({\r\n table: { ...this.state.table, loading: true },\r\n roleId: id,\r\n change: {},\r\n });\r\n this.roleService.getRolesRights(id).then((response) => {\r\n // this.setState({\r\n // roleAccessbyRole: []\r\n // });\r\n if (response.statusCode === 200) {\r\n let screenRignt = response.data.vmScreenRights;\r\n var flags = [],\r\n output = [],\r\n l = screenRignt.length,\r\n i;\r\n for (i = 0; i < l; i++) {\r\n if (flags[screenRignt[i].parentID]) continue;\r\n flags[screenRignt[i].parentID] = true;\r\n let matchParent = screenRignt[i].parentID;\r\n const filteredData = screenRignt.filter((value) => {\r\n return matchParent === value.parentID;\r\n });\r\n let prepare = {\r\n key: screenRignt[i].parentID,\r\n parentID: screenRignt[i].parentID,\r\n parentName: screenRignt[i].parentName,\r\n rights: filteredData,\r\n };\r\n output.push(prepare);\r\n }\r\n this.setState({\r\n table: {\r\n ...this.state.table,\r\n data: output,\r\n loading: false,\r\n },\r\n });\r\n this.setState({\r\n roleAccessbyRole: response.data.vmRoleAccessRes,\r\n });\r\n this.showRole(response.data.vmRoleAccessRes);\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Role Operations\",\r\n description: \"Unable to get data for screen rights\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n showRole = (data) => {\r\n // console.log(\"data->\", data);\r\n let str = \"\";\r\n for (let i = 0; i < data.length; i++) {\r\n str = str + data[i].accessID + \",\";\r\n }\r\n str = str.substring(0, str.length - 1);\r\n this.setState({\r\n selectedRoleAccess: str,\r\n showRoleAccessMenu: true,\r\n });\r\n \r\n };\r\n\r\n UpdateRoles = () => {\r\n let array = [];\r\n for (let key in this.state.change) {\r\n let value = this.state.change[key];\r\n let obj = {\r\n roleID: this.state.roleId,\r\n screenID: parseInt(key),\r\n isAdd: value.add,\r\n isUpdate: value.update,\r\n isDelete: value.delete,\r\n isView: value.view,\r\n };\r\n array.push(obj);\r\n }\r\n\r\n let tempobj = {\r\n roleID: this.state.roleId,\r\n roleAccess: this.state.selectedRoleAccess,\r\n };\r\n\r\n let PostData = {\r\n vMUpdateRoleOperationLink: array,\r\n vMUpdateRoleAccess: tempobj,\r\n };\r\n\r\n // console.log(\"PostData->\",PostData);\r\n this.setState({ table: { ...this.state.table, loading: true } });\r\n this.roleService.UpdateRoles(PostData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n table: {\r\n ...this.state.table,\r\n },\r\n });\r\n this.getTableData(this.state.roleId);\r\n notification[\"success\"]({\r\n message: \"Role Operations\",\r\n description: \"Data is submitted successfully\",\r\n });\r\n this.setState({ table: { ...this.state.table, loading: true } });\r\n this.authService\r\n .GetScreenRightsByUser(\r\n parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n )\r\n )\r\n .then((rights) => {\r\n localStorage.setItem(\"userrights\", JSON.stringify(rights.data.vmUserScreenRights));\r\n this.setState({ table: { ...this.state.table, loading: false } });\r\n window.location.reload();\r\n });\r\n }\r\n this.setState({ table: { ...this.state.table, loading: false } });\r\n });\r\n };\r\n render() {\r\n return (\r\n \r\n \r\n Role Screen Mapping\r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n onChange={(value) => {\r\n this.getTableData(parseInt(value));\r\n }}\r\n >\r\n {this.state.roles.data.length !== 0\r\n ? this.state.roles.data.map((role) => {\r\n return role.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n {this.state.showRoleAccessMenu ? (\r\n
\r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n value={\r\n this.state.selectedRoleAccess === \"\"\r\n ? []\r\n : this.state.selectedRoleAccess.split(\",\")\r\n }\r\n // value={\r\n // [null, undefined, \"\"].includes(\r\n // this.state.selectedRoleAccess\r\n // )\r\n // ? null\r\n // : this.state.selectedRoleAccess.split(\",\")\r\n // }\r\n onChange={(event) => {\r\n this.setState(\r\n {\r\n selectedRoleAccess: [null, undefined, \"\"].includes(\r\n event\r\n )\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n // this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n >\r\n {this.state.roleAccess.data.length !== 0\r\n ? this.state.roleAccess.data.map((e) => {\r\n return e.value !== \"-1\" ? (\r\n \r\n ):null;\r\n })\r\n : null}\r\n \r\n\r\n {/* {\r\n if (e.target.checked) {\r\n let allOpt = this.state.roleAccess.data\r\n .map((Item) => {\r\n return Item.value;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState({\r\n selectedRoleAccess: allOpt.join(\",\"),\r\n });\r\n } else {\r\n this.setState({\r\n selectedRoleAccess: \"1\",\r\n });\r\n }\r\n }}\r\n >\r\n ALL\r\n */}\r\n
\r\n ) : null}\r\n \r\n }\r\n extra={[\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\nexport default Roles;\r\n","import React from \"react\";\r\nimport Role from \"../../../components/Role/RoleScreenMapping/rolescreenmapping.component\"\r\n\r\nexport default class RoleScreenMapping extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class RoleMasterService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(roleID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_ROLE_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?RoleIDs=\" + roleID;\r\n await myApi.endpoints.DeleteRoleByRoleID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(roleID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADDUPDATE_ROLE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateRoleMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_ALL_ROLES });\r\n let itemArray = [];\r\n await myApi.endpoints.GetRoleMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getRolesList() {\r\n const allFactoriesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ROLES_DROPDOWN });\r\n let factories = [];\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ROLES_DROPDOWN]\r\n .getAll()\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getRolesList();\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n async getRolesRights(id) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_SCREEN_RIGHTS });\r\n let factories = [];\r\n const idParams = \"?RoleID=\" + id;\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_SCREEN_RIGHTS]\r\n .getOne(idParams)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getRolesRights(id);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async UpdateRoles(roles) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.UPDATE_SCREEN_ROLES });\r\n let factories = [];\r\n await allFactoriesAPI.endpoints[this.endpoint.UPDATE_SCREEN_ROLES]\r\n .create(roles)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.UpdateRoles(roles);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Popconfirm,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n // faLink,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport RoleMasterService from \"../../../services/rolemasterservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A role master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 26 June 2020\r\n */\r\nclass Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.RoleMasterService = new RoleMasterService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n // this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n modalLoading: false,\r\n roles: [],\r\n roleID: 0,\r\n roleName: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ROLES\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"roleID\",\r\n // key: \"roleID\",\r\n // width: \"3%\",\r\n // },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"roleName\",\r\n key: \"roleName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n roleID: record.roleID,\r\n roleName: record.roleName,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n roleID: record.roleID,\r\n roleName: record.roleName,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.roleID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n \r\n \r\n ) : null}\r\n {/* \r\n \r\n */}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n roleID: this.state.roleID,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.RoleMasterService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n roleID: this.state.roleID,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n roles: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Roles\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of roles data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n //function for deleting data from server call\r\n removeItems = (roleID) => {\r\n if (roleID === \"\" || roleID === null || roleID === undefined) {\r\n notification[\"error\"]({\r\n message: \"Roles\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.RoleMasterService.removeItems(roleID).then((items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: \"Roles\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Roles\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n roleID: this.state.roleID,\r\n roleName: this.state.roleName,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.RoleMasterService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: \"Roles\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Roles\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n roleID: this.state.roleID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n roleID: this.state.roleID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n roleID: 0,\r\n roleName: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n //function for changing/updating the size name\r\n handleRoleName = (e) => {\r\n let roleNm = e.target.value;\r\n this.setState({ roleName: roleNm });\r\n };\r\n\r\n render() {\r\n const { roleName, pagination, loading } = this.state;\r\n const roles = this.state.roles;\r\n const listItems = roles.map((item, index) => ({\r\n key: item.roleID,\r\n roleID: item.roleID,\r\n roleName: item.roleName,\r\n createdBy: item.createdBy,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n Add Role\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n roles.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport RoleMaster from \"../../../components/Role/RoleMaster/rolemaster.component\";\r\n\r\nexport default class RoleMasterScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class CorporateService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getBillingCycle() {\r\n const billingCycleAPI = new API({ url: this.config.DROPDOWN_URL });\r\n billingCycleAPI.createEntity({ name: this.endpoint.GET_BILLING_CYCLES });\r\n let returnVal = [];\r\n await billingCycleAPI.endpoints[this.endpoint.GET_BILLING_CYCLES]\r\n .getAll()\r\n .then((response) => (returnVal = response.data))\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getBillingCycle();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async addUpdateCorporate(postData) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ADD_UPDATE_CORPORATE });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.ADD_UPDATE_CORPORATE]\r\n .create(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdateCorporate(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getAllCorporates(\r\n index = 0,\r\n size = 0,\r\n column = null,\r\n order = null,\r\n search = null\r\n ) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ALL_CORPORATES });\r\n let factories = [];\r\n let payload = {\r\n corporateName: null,\r\n billingCycleID: 0,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: column,\r\n sortOrder: order,\r\n commonSearch: search,\r\n };\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ALL_CORPORATES]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getAllCorporates(index, size, column, order, search);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async getCorporate(id) {\r\n const getFactoryAPI = new API({ url: this.config.ITEM_URL });\r\n getFactoryAPI.createEntity({ name: this.endpoint.GET_CORPORATE_FROM_ID });\r\n let factory = [];\r\n let idParams = {\r\n params: {\r\n CorporateID: id,\r\n },\r\n };\r\n await getFactoryAPI.endpoints[this.endpoint.GET_CORPORATE_FROM_ID]\r\n .getAll(idParams)\r\n .then((response) => {\r\n factory = response.data;\r\n })\r\n .catch((err) => {\r\n factory = this.common.handleError(err);\r\n });\r\n if (factory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factory = this.getCorporate(id);\r\n });\r\n }\r\n return Promise.resolve(factory);\r\n }\r\n\r\n async deleteCorporate(id) {\r\n const getAddressAPI = new API({ url: this.config.ITEM_URL });\r\n getAddressAPI.createEntity({ name: this.endpoint.DELETE_CORPORATE });\r\n let addresses = [];\r\n const idParam = \"?CorporateIDs=\" + id;\r\n await getAddressAPI.endpoints[this.endpoint.DELETE_CORPORATE]\r\n .deleteById(idParam)\r\n .then((response) => (addresses = response.data))\r\n .catch((err) => {\r\n addresses = this.common.handleError(err);\r\n });\r\n if (addresses.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n addresses = this.deleteCorporate(id);\r\n });\r\n }\r\n return Promise.resolve(addresses);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\n\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n // Popover,\r\n Popconfirm,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport CorporateService from \"../../../services/corporateservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n corporateService = new CorporateService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: true,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 2,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.CORPORATE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"corporateID\",\r\n // key: \"corporateID\",\r\n // width: \"3%\",\r\n // sorter: true,\r\n // },\r\n columns = [\r\n {\r\n title: \"Name\",\r\n dataIndex: \"corporateName\",\r\n key: \"corporateName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Email Address\",\r\n dataIndex: \"emailID\",\r\n key: \"emailID\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n sorter: true,\r\n render: (deliveryTypeName) => {\r\n return (\r\n \r\n {deliveryTypeName}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Account Manager\",\r\n dataIndex: \"accManager\",\r\n key: \"accManager\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Pickup Frequency\",\r\n dataIndex: \"pickupFrequencyName\",\r\n key: \"pickupFrequencyName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.deleteCorporate(record.corporateID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n this.getCorporateList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n\r\n deleteCorporate = (id) => {\r\n this.corporateService.deleteCorporate(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Corporate Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Data deleted successfully\",\r\n });\r\n this.getCorporateList(\r\n this.state.pagination.current,\r\n this.state.pageSize\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Corporate Master\",\r\n description: response.message ? response.message : \"Unable to delete\",\r\n });\r\n }\r\n });\r\n };\r\n getCorporateList = (\r\n index,\r\n size,\r\n column = this.state.sorter.field,\r\n order = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n this.corporateService\r\n .getAllCorporates(index, size, column, order, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.corporateID;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Corporate Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of corporates\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n render() {\r\n return (\r\n
\r\n {\r\n this.setState(\r\n {\r\n search: event.target.value.toString().toLowerCase(),\r\n },\r\n () => {\r\n this.getCorporateList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_CORPORATE,\r\n state: { corporateID: this.state.corporateID },\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Corporate\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n });\r\n this.getCorporateList(\r\n pagination.current,\r\n pagination.pageSize,\r\n sorter.field,\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n this.state.search\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport CorporateMaster from \"../../../components/Master/Corporate/corporatemaster.component\";\r\n/**\r\n * Factory Master Screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 30 June 2020\r\n */\r\nexport default class CorporateMasterScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n // TimePicker,\r\n Input,\r\n DatePicker,\r\n Space,\r\n notification,\r\n Radio,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport CorporateService from \"../../../../services/corporateservice\";\r\nimport { RegexLetters, MessageLetters } from \"../../../../shared/validator\";\r\nconst { Option } = Select;\r\n/**\r\n * General form as a part of create factory screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\nexport default class GeneralForm extends React.Component {\r\n /**\r\n * Initalizing Factory Service\r\n */\r\n corporateService = new CorporateService();\r\n\r\n /**\r\n * Storing objects for dynamic controls\r\n *\r\n * @added 18 June 2020\r\n */\r\n state = {\r\n billingCycle: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n /**\r\n * API Calls on component mounting to populate dropdowns\r\n * @added 18 June 2020\r\n */\r\n componentDidMount() {\r\n this.getBillingCycles();\r\n }\r\n getBillingCycles() {\r\n this.corporateService.getBillingCycle().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n billingCycle: {\r\n ...this.state.billingCycle,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Corporate Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get data for billing cycle list\",\r\n });\r\n }\r\n });\r\n }\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\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 null}\r\n disabled={this.state.billingCycle.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.billingCycle.data.length !== 0\r\n ? this.state.billingCycle.data.map((cycle) => {\r\n return cycle.value !== \"-1\" ? (\r\n \r\n ) : null;\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 null}\r\n disabled={this.state.billingCycle.disabled || disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.billingCycle.data.length !== 0\r\n ? this.state.billingCycle.data.map((cycle) => {\r\n return cycle.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n Cancel\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","import React from \"react\";\r\nimport { Row, Col, Form, Input, Space } from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport CorporateService from \"../../../../services/corporateservice\";\r\nimport { RegexLetters, MessageLetters } from \"../../../../shared/validator\";\r\n// const { Option } = Select;\r\n\r\n/**\r\n * Contact Form as a part of Factory Creation\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\nexport default class ContactForm extends React.Component {\r\n corporateService = new CorporateService();\r\n /**\r\n * State Varibales\r\n *\r\n */\r\n state = {};\r\n /**\r\n * API calls to fetch data and populate the dropdowns\r\n */\r\n componentDidMount() {}\r\n\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\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 Back\r\n \r\n {!disableAll ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport { Steps, PageHeader, Form, notification, Spin } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./general.addcorporate\";\r\nimport ContactForm from \"./contact.addcorporate\";\r\nimport FactoryService from \"../../../../services/factoryservice\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport CorporateService from \"../../../../services/corporateservice\";\r\nconst { Step } = Steps;\r\n\r\n/**\r\n * Add Factory Form as a part of Factory Master Module\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n *\r\n * @module Master\r\n */\r\nclass AddFactory extends React.Component {\r\n factoryService = new FactoryService();\r\n corporateService = new CorporateService();\r\n /**\r\n * State Variables\r\n * @var factoryID : ID of factory 0 if this is to add factory\r\n * @var activeStep : holds active form step\r\n * @var stepDirection : holds direction of steps horizontal/vertical\r\n * @var stepSize : size of steps\r\n * @var generalFormValues : values submitted through generalForm\r\n * @var contactFormValues : values submitted through contactForm\r\n */\r\n state = {\r\n factoryID: 0,\r\n activeStep: 0,\r\n fullLoading: false,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n mode: \"add\",\r\n };\r\n /**\r\n * A function to responsively set direction of the steps\r\n */\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n /**\r\n * bind the setStepDirection to the resize event of windows\r\n */\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_CORPORATE, \":corporateID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getCorporate(this.props.location.state.corporateID);\r\n } else if (\r\n [ROUTES.VIEW_CORPORATE, \":corporateID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getCorporate(this.props.location.state.corporateID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getCorporate = (id) => {\r\n this.corporateService.getCorporate(id).then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.corporateID === parseInt(id)\r\n ) {\r\n this.setState({ corporateID: response.data.corporateID });\r\n this.setState({\r\n generalFormValues: {\r\n corporateID: response.data.corporateID,\r\n corporateName: response.data.corporateName,\r\n gstNo: response.data.gstNo,\r\n poNo: response.data.poNo,\r\n poValidity: response.data.poValidity\r\n ? moment(response.data.poValidity, \"M/DD/YYYY hh:mm:ss A\")\r\n : \"\",\r\n sez: response.data.sez,\r\n billingCycle: response.data.billingCycleID.toString(),\r\n paymentTerms: response.data.paymentTerms,\r\n isDeliveryCharge: response.data.isDeliveryCharge,\r\n pickupFrequency: response.data.pickupFrequencyID.toString(),\r\n },\r\n });\r\n this.setState({\r\n contactFormValues: {\r\n billingAddress: response.data.billingAddress,\r\n serviceAddress: response.data.serviceAddress,\r\n emailID: response.data.emailID,\r\n accManager: response.data.accManager,\r\n accManagerContact: response.data.accManagerContact,\r\n },\r\n });\r\n this.setState({ fullLoading: false });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Corporate Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get corporate data\",\r\n\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n addUpdateCorporate = () => {\r\n this.setState({ fullLoading: true });\r\n const postData = {\r\n corporateID: this.state.corporateID ? this.state.corporateID : 0,\r\n corporateName: this.state.generalFormValues.corporateName\r\n ? this.state.generalFormValues.corporateName\r\n : null,\r\n billingAddress: this.state.contactFormValues.billingAddress\r\n ? this.state.contactFormValues.billingAddress\r\n : null,\r\n serviceAddress: this.state.contactFormValues.serviceAddress\r\n ? this.state.contactFormValues.serviceAddress\r\n : null,\r\n gstNo: this.state.generalFormValues.gstNo\r\n ? this.state.generalFormValues.gstNo\r\n : null,\r\n poNo: this.state.generalFormValues.poNo\r\n ? this.state.generalFormValues.poNo\r\n : null,\r\n poValidity: this.state.generalFormValues.poValidity\r\n ? this.state.generalFormValues.poValidity.format(\"YYYY-MM-DD\")\r\n : null,\r\n sez: this.state.generalFormValues.sez\r\n ? this.state.generalFormValues.sez\r\n : null,\r\n billingCycleID: this.state.generalFormValues.billingCycle\r\n ? parseInt(this.state.generalFormValues.billingCycle)\r\n : null,\r\n paymentTerms: this.state.generalFormValues.paymentTerms\r\n ? this.state.generalFormValues.paymentTerms\r\n : null,\r\n emailID: this.state.contactFormValues.emailID\r\n ? this.state.contactFormValues.emailID\r\n : null,\r\n accManager: this.state.contactFormValues.accManager\r\n ? this.state.contactFormValues.accManager\r\n : null,\r\n accManagerContact: this.state.contactFormValues.accManagerContact\r\n ? this.state.contactFormValues.accManagerContact\r\n : null,\r\n isDeliveryCharge: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.isDeliveryCharge\r\n )\r\n ? this.state.generalFormValues.isDeliveryCharge\r\n : null,\r\n pickupFrequency: this.state.generalFormValues.pickupFrequency\r\n ? parseInt(this.state.generalFormValues.pickupFrequency)\r\n : null,\r\n };\r\n this.corporateService.addUpdateCorporate(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Corporate Master\",\r\n description: response.message,\r\n duration: 1.5,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Corporate Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to submit the form\",\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n generalForm = React.createRef();\r\n contactForm = React.createRef();\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n const contactValidator = this.contactForm.current.validateFields();\r\n Promise.allSettled([generalValidator, contactValidator]).then(\r\n (responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[1].status === \"rejected\") {\r\n this.setState({ activeStep: 1 });\r\n } else if (\r\n responses[0].status === \"fulfilled\" &&\r\n responses[1].status === \"fulfilled\"\r\n ) {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n contactFormValues: responses[1].value,\r\n },\r\n () => {\r\n this.addUpdateCorporate();\r\n }\r\n );\r\n }\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/* {JSON.stringify(this.state)} */}\r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Corporate\",\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n nextFunction={() => this.setState({ activeStep: 1 })}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n />\r\n \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n nextFunction={this.handleSubmit}\r\n isActive={this.state.activeStep === 1}\r\n instance={this.contactForm}\r\n mode={this.state.mode}\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(AddFactory);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass SizeService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveItems(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_GARMENT_INVENTORY_AT_STORE });\r\n let itemArray = [];\r\n let idParams = {\r\n params: {\r\n StoreID: storeId,\r\n },\r\n };\r\n await myApi.endpoints[this.endpoint.GET_GARMENT_INVENTORY_AT_STORE]\r\n .getAll(idParams)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default SizeService;\r\n","import React from \"react\";\r\nimport styles from \"./storeinventorycomponent.module.css\";\r\nimport { PageHeader, Row, Col, notification, Spin } from \"antd\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport StoreInventoryService from \"../../../services/storeinventoryservice\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport ROUTES from \"../../../routes\";\r\n\r\nexport default class StoreInventory extends React.Component {\r\n StoreInventoryService = new StoreInventoryService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n state = {\r\n fullLoading: false,\r\n storeName: localStorage.getItem(\"Store/FactoryName\"),\r\n storeInventoryData: [],\r\n garmentPendingToSendToFactory: 0,\r\n ordersPendingtosendtoFactory: 0,\r\n pendingForNoOfDays: 0,\r\n garmentsReceivedFromFactory: 0,\r\n splitOrderReceivedFromFactory: 0,\r\n isInventoryDataLoaded: false,\r\n statsData: [], //Array of objects to display the stats\r\n userRights: [],\r\n };\r\n\r\n componentDidMount() {\r\n this.fetchItems();\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_INVENTORY\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n fetchItems() {\r\n this.setState({ fullLoading: true });\r\n let storeID = parseInt(localStorage.getItem(\"branchID\"));\r\n this.StoreInventoryService.retrieveItems(storeID).then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n storeInventoryData: items.data,\r\n isInventoryDataLoaded: true,\r\n });\r\n if (this.state.isInventoryDataLoaded === true) {\r\n this.setState({\r\n statsData: [\r\n {\r\n title: labels.GARMENTS_PENDING_TO_SEND_TO_FACTORY,\r\n count: this.state.storeInventoryData\r\n .garmentPendingToSendToFactory,\r\n search: \"Tagged In\",\r\n },\r\n {\r\n title: labels.GARMENTS_RECEIVED_FROM_FACTORY,\r\n count: this.state.storeInventoryData\r\n .garmentsReceivedFromFactory,\r\n search: \"Performa Generated\",\r\n },\r\n {\r\n title: labels.ORDERS_PENDING_TO_SEND_TO_FACTORY,\r\n count: this.state.storeInventoryData\r\n .ordersPendingtosendtoFactory,\r\n search: \"Tagged In\",\r\n },\r\n {\r\n title: labels.SPILT_ORDERS_RECEIVED_FROM_FACTORY,\r\n count: this.state.storeInventoryData\r\n .splitOrderReceivedFromFactory,\r\n search: \"Performa Generated\",\r\n },\r\n {\r\n title: labels.PENDING_FOR_NO_OF_DAYS,\r\n count: this.state.storeInventoryData.pendingForNoOfDays,\r\n },\r\n ],\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVENTORY,\r\n description: items.message\r\n ? items.message\r\n : labels.UNABLE_TO_GET_STORE_GARMENT_INVENTORY_DATA,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n }\r\n\r\n render() {\r\n const StatsBox = (props) => {\r\n /**\r\n * Array of background colors\r\n */\r\n // const colors = [\"#FE1D7F\", \"#FCC350\", \"#6ABEFF\", \"#7E13D5\"];\r\n // StatsBox.count++;\r\n return (\r\n \r\n
\r\n
{props.title}
\r\n
\r\n
\r\n
{props.count}
\r\n
\r\n \r\n );\r\n };\r\n /**\r\n * Static property\r\n */\r\n StatsBox.count = -1;\r\n return (\r\n \r\n \r\n \r\n {this.state.statsData.map((singleData, index) => {\r\n return singleData.search === \"Tagged In\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n ) : singleData.search === \"Performa Generated\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport StoreInventory from \"../../../components/StoreModule/Inventory/inventory.store.component\";\r\n\r\nexport default class StoreInventoryScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport Common from \"./common\";\r\n\r\nclass ExpenseEntryService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n handleError = () => {\r\n return null;\r\n };\r\n async getExpenseTypes() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_EXPENSE_TYPE });\r\n\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_EXPENSE_TYPE]\r\n .getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getExpenseTypes();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async deleteExpense(expenseID) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_EXPENSE });\r\n let itemArray = [];\r\n let ID = \"?ExpenseID=\" + parseInt(expenseID);\r\n\r\n await myApi.endpoints[this.endpoint.DELETE_EXPENSE]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteExpense(expenseID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async addUpdateExpense(postData) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_UPDATE_EXPENSE });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.ADD_UPDATE_EXPENSE]\r\n .create({\r\n ...postData,\r\n userID: parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n ),\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.addUpdateExpense(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getAllExpenseList(index, size, sortColumn, sortOrder, search) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.EXPENSE_ENTRY_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.EXPENSE_ENTRY_LIST]\r\n .getAllPost({\r\n expenseID: null,\r\n userID: parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n ),\r\n expenseTypeID: null,\r\n expenseDate: null,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getAllExpenseList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\nexport default ExpenseEntryService;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n DatePicker,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport ExpenseService from \"../../../services/storeexpenseentryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n // RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport { Label } from \"recharts\";\r\nimport Common from \"../../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n expenseService = new ExpenseService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n modalLoading: false,\r\n expenseID: 0,\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showAddPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n expenseTypes: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.EXPENSE_ENTRY\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: labels.USER_NAME,\r\n dataIndex: \"userName\",\r\n key: \"userName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.EXPENSE_TYPE,\r\n dataIndex: \"expenseTypeName\",\r\n key: \"expenseTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.EXPENSE_DATE,\r\n dataIndex: \"expenseDate\",\r\n key: \"expenseDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.AMOUNT,\r\n dataIndex: \"amount\",\r\n key: \"amount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.REMARKS,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n sorter: true,\r\n render: (remarks) => {\r\n return (\r\n \r\n {remarks}\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"view\",\r\n expenseID: record.expenseID,\r\n currentExpense: {\r\n expenseTypeID: record.expenseTypeID,\r\n amount: record.amount,\r\n expenseDate: moment(record.expenseDate),\r\n remarks: record.remark,\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n expenseID: record.expenseID,\r\n currentExpense: {\r\n expenseTypeID: record.expenseTypeID,\r\n amount: record.amount,\r\n expenseDate: moment(record.expenseDate),\r\n remarks: record.remark,\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n this.handleDelete(record.expenseID)}\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.CANCEL}\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 componentDidMount() {\r\n this.getFactoryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.getExpenseTypes();\r\n }\r\n handleDelete = (id) => {\r\n this.setState({ tableLoading: true });\r\n this.expenseService.deleteExpense(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.USER_EXPENSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.EXPENSE_DELETED_SUCCESSFULLY,\r\n });\r\n this.getFactoryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.USER_EXPENSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_DELETE_EXPENSE,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n addUpdateExpense = (values) => {\r\n let params = {\r\n expenseID: this.state.expenseID,\r\n expenseTypeID: values.expenseTypeID,\r\n amount: parseFloat(values.amount),\r\n expenseDate: values.expenseDate.format(\"YYYY-MM-DD\"),\r\n remark: values.remarks,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.expenseService.addUpdateExpense(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n if (this.state.expenseID == 0) {\r\n notification[\"success\"]({\r\n message: labels.USER_EXPENSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.EXPENSE_ADDED_SUCCESSFULLY,\r\n });\r\n } else {\r\n notification[\"success\"]({\r\n message: labels.USER_EXPENSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.EXPENSE_UPDATED_SUCCESSFULLY,\r\n });\r\n }\r\n this.getFactoryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showAddPopup: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.USER_EXPENSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_SUBMIT_DATA,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n getExpenseTypes = () => {\r\n this.expenseService.getExpenseTypes().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n expenseTypes: {\r\n ...this.state.expenseTypes,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n getFactoryList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n this.setState({ tableLoading: true });\r\n this.expenseService\r\n .getAllExpenseList(index, size, sortColumn, sortOrder, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.factoryID;\r\n singleData.openingDate = moment(singleData.openingDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n singleData.operatingTimeFrom = moment(\r\n singleData.operatingTimeFrom,\r\n \"H:mm\"\r\n ).format(\"h:mm a\");\r\n singleData.operatingTimeTo = moment(\r\n singleData.operatingTimeTo,\r\n \"H:mm\"\r\n ).format(\"h:mm a\");\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.USER_EXPENSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_EXPENSES,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getFactoryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.setState({\r\n expenseID: 0,\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n {labels.ADD_EXPENSE}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getFactoryList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n this.addUpdateExpense(values);\r\n }}\r\n initialValues={this.state.currentExpense}\r\n >\r\n \r\n \r\n \r\n \r\n {this.state.expenseTypes.data.length !== 0\r\n ? this.state.expenseTypes.data.map((res) => {\r\n return res.value !== \"-1\" ? (\r\n \r\n {res.text}\r\n \r\n ) : null;\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 {this.state.popupMode === \"view\" ? (\r\n \r\n {labels.CANCLE}\r\n \r\n ) : (\r\n \r\n \r\n {labels.CANCLE}\r\n \r\n \r\n \r\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(Master);\r\n","import React from \"react\";\r\nimport ExpenseEntry from \"../../../components/StoreModule/ExpenseEntry/expenseentry.store.component\";\r\n\r\nexport default class ExpenseEntryScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass GatePassList {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_GATE_PASS_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_GATE_PASS_LIST]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default GatePassList;\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass TransferOutService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveFactoryList(ServiceIds) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FACTORY_LIST_BY_SERVICEID });\r\n let itemArray = [];\r\n var param =\r\n \"?ServiceIds=\" +\r\n ServiceIds +\r\n \"&StoreID=\" +\r\n parseInt(localStorage.getItem(\"branchID\"));\r\n await myApi.endpoints[this.endpoint.GET_FACTORY_LIST_BY_SERVICEID]\r\n .getOne(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveFactoryList(ServiceIds);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveServiceList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SERVICES_OFFERED });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.GetServicesList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveServiceList();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetSplitNumberToTransferout(\r\n serviceId = null,\r\n factoryId = null,\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SPLIT_NUMBERTOTRANS_OUT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n // let param =\r\n // \"?StoreId=\" +\r\n // localStorage.getItem(\"branchID\") +\r\n // \"&ServiceIds=\" +\r\n // serviceId +\r\n // \"&FactoryID=\" +\r\n // factoryId;\r\n let payload = {\r\n storeId: parseInt(localStorage.getItem(\"branchID\")),\r\n serviceIds: serviceId,\r\n factoryID: factoryId,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n };\r\n await myApi.endpoints[this.endpoint.GET_SPLIT_NUMBERTOTRANS_OUT]\r\n .getAllPost(payload)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetSplitNumberToTransferout(\r\n serviceId,\r\n factoryId,\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetGarmentdatailBysplitOrdernumber(id) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_GARMENTDATAIL_BY_SPLIT_ORDER_NUMBER,\r\n });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_GARMENTDATAIL_BY_SPLIT_ORDER_NUMBER]\r\n .getById(\"?SplitOrderNumber=\" + id, {})\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetGarmentdatailBysplitOrdernumber(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n\r\n async GenerateGatePass(store, factory, splitOrder) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GENERATE_GATE_PASS,\r\n });\r\n let params = {\r\n storeID: store,\r\n factoryId: factory,\r\n splitOrderNumber: splitOrder,\r\n };\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GENERATE_GATE_PASS]\r\n .getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GenerateGatePass(store, factory, splitOrder);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getPDFGatePass(gatePassNo) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_PRINT_GATEPASS });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_STORE_PRINT_GATEPASS]\r\n .create(gatePassNo)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPDFGatePass(gatePassNo);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\nexport default TransferOutService;\r\n","import React from \"react\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\n// import TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Table,\r\n notification,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faDownload } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport GatePassList from \"../../../services/storegatepasslistservice\";\r\nimport moment, { isMoment } from \"moment\";\r\nimport Logo from \"../../../images/Common/Logo.png\";\r\nimport html2pdf from \"html2pdf.js\";\r\nimport TransferOutService from \"../../../services/storetransferoutservice\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.GatePassListService = new GatePassList();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.TransferOutService = new TransferOutService();\r\n this.common = new Common();\r\n\r\n this.state = {\r\n gatePassListItems: [],\r\n gatePassNo: \"\",\r\n gatepassDatefrom: moment().subtract(1, \"months\").date(1),\r\n gatepassDateTo: moment(new Date()),\r\n storeIDs: localStorage.getItem(\"branchID\"),\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: false,\r\n loading: false,\r\n userRights: [],\r\n printInfoHeaderData: {\r\n gatePassNo: \"\",\r\n gatePassDate: \"\",\r\n storeName: \"\",\r\n factoryName: \"\",\r\n factoryAddress: \"\",\r\n userName: \"\",\r\n },\r\n printInfoRowData: [],\r\n isPDFDataLoaded: false,\r\n gatePassNumber: \"\",\r\n };\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"GatePassID\",\r\n // dataIndex: \"gatePassID\",\r\n // key: \"gatePassID\",\r\n // },\r\n {\r\n title: labels.GATE_PASS_NUMBER,\r\n dataIndex: \"gatePassNo\",\r\n key: \"gatePassNo\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return (\r\n {\r\n this.downloadGatePassPDF(record.gatePassNo);\r\n }}\r\n >\r\n {record.gatePassNo}{\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.FACTORY_NAME,\r\n dataIndex: \"factoryName\",\r\n key: \"factoryName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_GARMENTS_OUT,\r\n dataIndex: \"storeGarmentsOut\",\r\n key: \"storeGarmentsOut\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TOTAL_SPLIT_NUMBER,\r\n dataIndex: \"noofSplitNumber\",\r\n key: \"noofSplitNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GATE_PASS_DATE,\r\n dataIndex: \"gatePassDate\",\r\n key: \"gatePassDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n ];\r\n element = React.createRef();\r\n downloadGatePassPDF = (gatepassNumber) => {\r\n let post = {\r\n gatePassNumber: gatepassNumber,\r\n };\r\n this.setState({ loading: true });\r\n this.TransferOutService.getPDFGatePass(post).then((res) => {\r\n this.setState(\r\n {\r\n printInfoHeaderData: {\r\n gatePassNo: res.data.gatePassNo,\r\n gatePassDate: res.data.gatePassDate,\r\n storeName: res.data.storeName,\r\n factoryName: res.data.factoryName,\r\n factoryAddress: res.data.factoryAddress,\r\n userName: res.data.userName,\r\n },\r\n printInfoRowData: res.data.vMSplitOrderDelivery,\r\n isPDFDataLoaded: true,\r\n loading: false,\r\n },\r\n () => {\r\n var opt = {\r\n margin: 1,\r\n filename: \"StoreGatePass.pdf\",\r\n jsPDF: { format: \"a5\", orientation: \"portrait\" },\r\n pagebreak: { mode: [\"css\", \"legacy\"], avoid: \"tr\" },\r\n html2canvas: {\r\n dpi: 192,\r\n scale: 4,\r\n },\r\n };\r\n html2pdf().set(opt).from(this.element.current).save();\r\n this.setState({ loading: false });\r\n }\r\n );\r\n });\r\n };\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.GATE_PASS_LIST\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n // componentWillMount() {\r\n // let data = [];\r\n // for (let i = 0; i < 100; i++) {\r\n // let obj = {\r\n // key: i,\r\n // gatePassNumber: \"G00\" + i,\r\n // storeName: \"ECC Store\",\r\n // factoryName: \"ECC Factory\",\r\n // splitOrderCount: \"5\",\r\n // garmentsOut: \"2\",\r\n // garmentsIn: \"1\",\r\n // pendingGarments: \"1\",\r\n // gatePassCreatedOn: \"08/07/2020\",\r\n // };\r\n // data.push(obj);\r\n // }\r\n // this.setState({ gatePassListItems: data, loading: false });\r\n // }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n gatePassNo: this.state.gatePassNo,\r\n gatepassDatefrom: this.state.gatepassDatefrom,\r\n gatepassDateTo: this.state.gatepassDateTo,\r\n storeIDs: this.state.storeIDs,\r\n fcatoryIDs: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n // gatePassNo: this.state.gatePassNo,\r\n gatepassDatefrom: this.state.gatepassDatefrom,\r\n gatepassDateTo: this.state.gatepassDateTo,\r\n // storeIDs: this.state.storeIDs,\r\n // fcatoryIDs: \"\",\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n gatePassNo: this.state.gatePassNo,\r\n gatepassDatefrom: this.state.gatepassDatefrom,\r\n gatepassDateTo: this.state.gatepassDateTo,\r\n storeIDs: this.state.storeIDs,\r\n fcatoryIDs: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.GatePassListService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n gatePassNo: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n gatePassListItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.GATE_PASS_LIST,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const gatePassListItems = this.state.gatePassListItems;\r\n const listItems = gatePassListItems;\r\n gatePassListItems.map((item, index) => ({\r\n key: item.storeOutID,\r\n gatePassNo: item.gatePassNo,\r\n storeOutID: item.storeOutID,\r\n gatePassDate: item.gatePassDate,\r\n storeID: item.storeID,\r\n factoryID: item.factoryID,\r\n storeGarmentsOut: item.storeGarmentsOut,\r\n noofSplitNumber: item.noofSplitNumber,\r\n factoryName: item.factoryName,\r\n storeName: item.storeName,\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n let data = ;\r\n if (this.state.isPDFDataLoaded) {\r\n data = this.state.printInfoRowData.map((item, 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 return (\r\n
\r\n ,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n
\r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.isPDFDataLoaded ? (\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.rowNumber}{item.splitOrderNumber}{item.deliveryType}{item.noOfGarments}\r\n {item.pickupDate === \"\"\r\n ? null\r\n : moment(item.pickupDate).format(\"DD/MM/YYYY\")}\r\n \r\n {item.deliveryDate === \"\"\r\n ? null\r\n : moment(item.deliveryDate).format(\"DD/MM/YYYY\")}\r\n
\r\n Store Gate Pass Number :\r\n {this.state.printInfoHeaderData.gatePassNo}\r\n
\r\n \"Laundrokart\"\r\n \r\n Date:\r\n {moment(this.state.printInfoHeaderData.gatePassDate).format(\r\n \"DD/MM/YYYY\"\r\n )}\r\n

\r\n Factory Name:\r\n {this.state.printInfoHeaderData.factoryName}\r\n

\r\n Factory Address:\r\n {this.state.printInfoHeaderData.factoryAddress}\r\n

\r\n Store Name:\r\n {this.state.printInfoHeaderData.storeName}\r\n

\r\n Created By: {this.state.printInfoHeaderData.userName}\r\n
\r\n \r\n \r\n \r\n S.No\r\n Split Order Id\r\n Delivery Type\r\n Number Of Garments\r\n Pickup Date\r\n Delivery Date\r\n \r\n \r\n {data}\r\n \r\n

\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport GatePassList from \"../../../components/StoreModule/GatePassList/gatepasslist.store.component\";\r\n\r\nexport default class GatePassListScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\n// import TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n // Modal,\r\n // notification,\r\n DatePicker,\r\n Tooltip,\r\n notification,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport PreQCResponseList from \"../../../services/storepreqcresponselistservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.PreQCResponseListService = new PreQCResponseList();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n\r\n this.state = {\r\n orderFromDate: Moment(ONE_MONTHS_AGO),\r\n orderToDate: Moment(),\r\n preQCResponseItems: [],\r\n ID: 0,\r\n listData: [],\r\n QCStatusOptions: [],\r\n data: [],\r\n qcStatusFilter: 1,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n showfilterBox: true,\r\n loading: false,\r\n };\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.TAG,\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CONTACT,\r\n dataIndex: \"customerContactNumber\",\r\n key: \"customerContactNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENT,\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SPLIT_ORDER_NUMBER,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.LAST_UPDATED_ON,\r\n dataIndex: \"lastUpdatedOn\",\r\n key: \"lastUpdatedOn\",\r\n render: (text) =>\r\n text !== null ? Moment(text).format(\"DD-MM-YYYY HH:mm:ss\") : null,\r\n sorter: true,\r\n },\r\n {\r\n title: labels.LAST_UPDATED_BY,\r\n dataIndex: \"lastUpdatedBy\",\r\n key: \"lastUpdatedBy\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.QC_REQUEST,\r\n dataIndex: \"finalQCStatusName\",\r\n key: \"finalQCStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ACTION,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {record.finalQCStatus === 1 ? (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_MANAGE_QC\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n this.getResponseList();\r\n }\r\n getResponseList = () => {\r\n this.setState({ loading: true });\r\n if (this.props.toggleLoading !== undefined) {\r\n this.props.toggleLoading(true);\r\n }\r\n this.PreQCResponseListService.getResponseList({\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n FromOrderDate: Moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n ToOrderDate: Moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n qcStatus: this.state.qcStatusFilter,\r\n tagNo: null,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n commonSearch: this.state.search,\r\n }).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n listData: response.data,\r\n pagination: {\r\n ...this.state.pagination,\r\n total:\r\n response.data.length !== 0 ? response.data[0].totalRecords : 0,\r\n },\r\n loading: false,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC_RESPONSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_PRE_QC_RESPONSE_LIST,\r\n });\r\n }\r\n if (this.props.toggleLoading !== undefined) {\r\n this.props.toggleLoading(false);\r\n }\r\n });\r\n };\r\n\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value }, () => this.getResponseList());\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => this.getResponseList()\r\n );\r\n };\r\n\r\n //function for get data from server call\r\n // fetchItems = (params = {}) => {\r\n // this.PreQCResponseListService.retrieveItems(params).then(items => {\r\n // if(items.statusCode===200){\r\n // if(items.length!==0 && items.data.length===0){\r\n // params.pagination.current=1;\r\n // this.fetchItems({\r\n // ID:0,\r\n // pageIndex:1,\r\n // pageSize:params.pageSize,\r\n // pagination:params.pagination\r\n // })\r\n // };\r\n // this.setState({ preQCResponseItems: items.data,\r\n // pagination: {\r\n // ...params.pagination,\r\n // total: items.length!==0 && items.data.length!==0 ? items.data[0].totalRecords : 0\r\n // }\r\n // });\r\n // }else{\r\n // notification[\"error\"]({\r\n // message: \"Unable to get list of pre-qc response list data\",\r\n // });\r\n // }\r\n // this.setState({loading:false})\r\n // });\r\n // }\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const preQCResponseItems = this.state.preQCResponseItems;\r\n const listItems = preQCResponseItems;\r\n return (\r\n
\r\n ,\r\n\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n this.getResponseList()}\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n qcStatusFilter:this.state.qcStatusFilter\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n qcStatusFilter: value,\r\n pagination: { ...this.state.pagination, current: 1 },\r\n },\r\n // () => this.getResponseList()\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n\r\n {/* {this.state.QCStatusOptions.length !== 0\r\n ? this.state.QCStatusOptions.map((status) => {\r\n return status.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null} */}\r\n \r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n record.tagNo}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport PreQCResponseList from \"../../../components/StoreModule/PreQCResponseList/preqcresponselist.store.component\";\r\n\r\nexport default class PreQCResponseListScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n // notification,\r\n // Radio,\r\n Modal,\r\n Table,\r\n Descriptions,\r\n Upload,\r\n notification,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport PreQCResponseList from \"../../../../services/storepreqcresponselistservice\";\r\nimport Common from \"../../../../services/common\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport { labels, lables } from \"../../../../shared/language\";\r\nimport { LabelList } from \"recharts\";\r\nconst { Option } = Select;\r\n/**\r\n * General form as a part of create factory screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\nclass GeneralForm extends React.Component {\r\n /**\r\n * Initalizing Factory Service\r\n */\r\n preQcService = new PreQCResponseList();\r\n commonService = new Common();\r\n\r\n /**\r\n * Storing objects for dynamic controls\r\n *\r\n * @added 18 June 2020\r\n */\r\n state = {\r\n tagDetails: {},\r\n lastQCDetails: {},\r\n showAddPopup: false,\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n fileList: [\r\n {\r\n uid: \"-1\",\r\n name: \"image.png\",\r\n status: \"done\",\r\n url:\r\n \"https://images.unsplash.com/photo-1549490349-8643362247b5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80\",\r\n },\r\n {\r\n uid: \"-2\",\r\n name: \"image.png\",\r\n status: \"done\",\r\n url:\r\n \"https://images.unsplash.com/photo-1549490349-8643362247b5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80\",\r\n },\r\n ],\r\n qcPendingFrom: 2,\r\n reasonDDL: [],\r\n statusDDL: [],\r\n };\r\n getBase64 = (file) => {\r\n return 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\n handleCancel = () => this.setState({ previewVisible: false });\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n handleChange = ({ fileList }) => this.setState({ fileList });\r\n\r\n /**\r\n * API Calls on component mounting to populate dropdowns\r\n * @added 18 June 2020\r\n */\r\n componentDidMount() {\r\n this.getTagDetail();\r\n // this.getResponseList();\r\n this.GetQCStatus();\r\n this.GetQCReason();\r\n this.getLastQCDetails();\r\n }\r\n GetQCStatus = () => {\r\n this.commonService.GetSystemEnums(\"FinalQCStatus\").then((res) => {\r\n this.setState({ statusDDL: res.data });\r\n });\r\n };\r\n GetQCReason = () => {\r\n this.commonService.GetSystemEnums(\"PreQCReason\").then((res) => {\r\n this.setState({ reasonDDL: res.data });\r\n });\r\n };\r\n componentDidUpdate() {\r\n if (![null, undefined, \"\"].includes(this.props.instance)) {\r\n this.props.instance.current.setFieldsValue({\r\n tagNumber: this.props.match.params.qcId,\r\n });\r\n }\r\n // if (this.state.lastQCDetails !== null) {\r\n // if (\r\n // this.state.qcPendingFrom !== null &&\r\n // Object.keys(this.state.lastQCDetails).length === 0\r\n // ) {\r\n // this.getLastQCDetails();\r\n // }\r\n // }\r\n }\r\n getLastQCDetails = () => {\r\n this.preQcService\r\n .getLastQC(this.props.match.params.qcId, this.state.qcPendingFrom)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data.length > 0) {\r\n this.setState({ lastQCDetails: response.data[0] });\r\n if (![null, undefined, \"\"].includes(this.props.instance)) {\r\n this.props.instance.current.setFieldsValue({\r\n orderGarmentID: response.data[0].orderGarmentID,\r\n // qcStatus: response.data[0].qcStatus,\r\n qcReason: [null, undefined, \"\"].includes(\r\n response.data[0].qcReason\r\n )\r\n ? undefined\r\n : response.data[0].qcReason.split(\",\"),\r\n // qcRemarks: response.data[0].remark,\r\n });\r\n }\r\n } else {\r\n this.setState({ lastQCDetails: null });\r\n }\r\n } else {\r\n this.setState({ lastQCDetails: null });\r\n }\r\n });\r\n };\r\n getResponseList = () => {\r\n this.preQcService\r\n .getResponseList({\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n factoryID: 0,\r\n qcStatus: 0,\r\n tagNo: this.props.match.params.qcId,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data.length > 0) {\r\n // this.setState({ qcPendingFrom: response.data[0].qcPendingFrom });\r\n this.setState({ qcPendingFrom: 1 });\r\n }\r\n }\r\n });\r\n };\r\n\r\n getTagDetail = () => {\r\n this.preQcService\r\n .getGarmentDetailByTagNo(this.props.match.params.qcId)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data[0] !== undefined) {\r\n this.setState({ tagDetails: response.data[0] });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC_RESPONSES,\r\n description: labels.UNABLE_TO_GET_GARMENT_DETAILS,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC_RESPONSES,\r\n description: labels.UNABLE_TO_GET_GARMENT_DETAILS,\r\n });\r\n }\r\n });\r\n };\r\n\r\n GetQCHistoryByTagNo = () => {\r\n this.setState({ showAddPopup: true });\r\n this.preQcService\r\n .GetQCHistoryByTagNo(this.props.match.params.qcId)\r\n .then((items) => {\r\n let HistoryData = [];\r\n items.data.map((singleData) => {\r\n singleData.key = singleData.orderGarmentID;\r\n singleData.qcPendingFrom = [\"Approved\", \"Rejected\"].includes(\r\n singleData.qcStatus\r\n )\r\n ? \"\"\r\n : singleData.qcPendingFrom;\r\n\r\n HistoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({\r\n garMentHistoryData: HistoryData,\r\n });\r\n });\r\n };\r\n columns = [\r\n {\r\n title: labels.TIME,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm a\");\r\n },\r\n },\r\n {\r\n title: labels.QC_REASON,\r\n dataIndex: \"qcReason\",\r\n key: \"qcReason\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.QC_PENDING_FROM,\r\n dataIndex: \"qcPendingFrom\",\r\n key: \"qcPendingFrom\",\r\n //sorter: true,\r\n },\r\n {\r\n title: labels.QC_STATUS,\r\n dataIndex: \"qcStatus\",\r\n key: \"qcStatus\",\r\n // sorter: true,\r\n },\r\n ];\r\n render() {\r\n const uploadButton = (\r\n
\r\n \r\n
Upload
\r\n
\r\n );\r\n const disableAll = this.props.mode === \"view\";\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 {labels.GARMENT_HISTORY}\r\n \r\n
\r\n \r\n \r\n
\r\n {this.state.tagDetails !== {} ? (\r\n \r\n \r\n {this.state.tagDetails.customerName}\r\n \r\n \r\n {this.state.tagDetails.customerType}\r\n \r\n \r\n {this.state.tagDetails.customerContactNo}\r\n \r\n \r\n {moment(this.state.tagDetails.orderDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {this.state.tagDetails.splitOrderNumber}\r\n \r\n \r\n {this.state.tagDetails.gatePassNo}\r\n \r\n \r\n {moment(this.state.tagDetails.gatePassDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {this.state.tagDetails.garmentName}\r\n \r\n \r\n {this.state.tagDetails.garmentStatusName}\r\n \r\n \r\n {moment(this.state.tagDetails.deliveryDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {this.state.tagDetails.garmentBrand}\r\n \r\n \r\n {this.state.tagDetails.colorNames}\r\n \r\n \r\n {this.state.tagDetails.serviceName}\r\n \r\n {/* \r\n {this.state.tagDetails.uom}\r\n */}\r\n \r\n {this.state.tagDetails.additionalServiceName}\r\n \r\n \r\n {this.state.tagDetails.deliveryType}\r\n \r\n \r\n {this.state.tagDetails.specialInstruction}\r\n \r\n \r\n ) : null}\r\n {this.state.lastQCDetails !== null &&\r\n this.state.lastQCDetails !== {} ? (\r\n \r\n \r\n {this.state.lastQCDetails.qcStatusName}\r\n \r\n \r\n {this.state.lastQCDetails.qcPendingFromName}\r\n \r\n \r\n {this.state.lastQCDetails.remark}\r\n \r\n \r\n {this.state.lastQCDetails.qcImage1 !== \"\" &&\r\n this.state.lastQCDetails.qcImage1 !== null ? (\r\n \r\n Image 1\r\n \r\n ) : null}\r\n
\r\n {this.state.lastQCDetails.qcImage2 !== \"\" &&\r\n this.state.lastQCDetails.qcImage2 !== null ? (\r\n \r\n Image 2\r\n \r\n ) : null}\r\n
\r\n {this.state.lastQCDetails.qcImage3 !== \"\" &&\r\n this.state.lastQCDetails.qcImage3 !== null ? (\r\n \r\n Image 3\r\n \r\n ) : null}\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 option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.reasonDDL.length !== 0\r\n ? this.state.reasonDDL.map((res) => {\r\n return res.enumDetailID !== \"-1\" ? (\r\n \r\n {res.enumDetailName}\r\n \r\n ) : null;\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 {this.state.fileList.length >= 8 ? null : uploadButton}\r\n \r\n */}\r\n\r\n \r\n \r\n
\r\n \r\n {labels.CANCEL}\r\n \r\n {!disableAll ? (\r\n \r\n {labels.SUBMIT}\r\n \r\n ) : null}\r\n
\r\n \r\n
\r\n this.setState({ showAddPopup: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(GeneralForm);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport { Steps, PageHeader, Form, Spin, notification } from \"antd\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./garment.editpreqcstore\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport PreQCResponseList from \"../../../../services/storepreqcresponselistservice\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport { labels } from \"../../../../shared/language\";\r\nconst { Step } = Steps;\r\n\r\n/**\r\n * Add Factory Form as a part of Factory Master Module\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n *\r\n * @module Master\r\n */\r\nclass AddFactory extends React.Component {\r\n /**\r\n * State Variables\r\n * @var factoryID : ID of factory 0 if this is to add factory\r\n * @var activeStep : holds active form step\r\n * @var stepDirection : holds direction of steps horizontal/vertical\r\n * @var stepSize : size of steps\r\n * @var generalFormValues : values submitted through generalForm\r\n * @var contactFormValues : values submitted through contactForm\r\n */\r\n state = {\r\n factoryID: 0,\r\n activeStep: 0,\r\n fullLoading: false,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n mode: \"add\",\r\n };\r\n preQCService = new PreQCResponseList();\r\n /**\r\n * A function to responsively set direction of the steps\r\n */\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n /**\r\n * bind the setStepDirection to the resize event of windows\r\n */\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_PRE_QC_STORE, \":qcId\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getQCDetails(this.props.location.state.qcID);\r\n } else if (\r\n [ROUTES.VIEW_PRE_QC_STORE, \":qcId\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getQCDetails(this.props.location.state.qcID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n setTimeout(() => {\r\n this.setState({ fullLoading: false });\r\n }, 1500);\r\n }\r\n\r\n getQCDetails = (id) => {\r\n // this.corporateService.getCorporate(id).then((response) => {\r\n // if (\r\n // response.statusCode === 200 &&\r\n // response.data.corporateID === parseInt(id)\r\n // ) {\r\n // this.setState({ corporateID: response.data.corporateID });\r\n // this.setState({\r\n // generalFormValues: {\r\n // corporateID: response.data.corporateID,\r\n // corporateName: response.data.corporateName,\r\n // gstNo: response.data.gstNo,\r\n // poNo: response.data.poNo,\r\n // poValidity: response.data.poValidity\r\n // ? moment(response.data.poValidity, \"M/DD/YYYY hh:mm:ss A\")\r\n // : \"\",\r\n // sez: response.data.sez,\r\n // billingCycle: response.data.billingCycleID.toString(),\r\n // paymentTerms: response.data.paymentTerms,\r\n // isDeliveryCharge: response.data.isDeliveryCharge,\r\n // pickupFrequency: response.data.pickupFrequencyID.toString(),\r\n // },\r\n // });\r\n // this.setState({\r\n // contactFormValues: {\r\n // billingAddress: response.data.billingAddress,\r\n // serviceAddress: response.data.serviceAddress,\r\n // emailID: response.data.emailID,\r\n // accManager: response.data.accManager,\r\n // accManagerContact: response.data.accManagerContact,\r\n // },\r\n // });\r\n // this.setState({ fullLoading: false });\r\n // this.setState({ activeStep: -1 });\r\n // this.setState({ activeStep: 0 });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: response.message\r\n // ? response.message\r\n // : \"Unable to get corporate data\",\r\n // description: \"Redirecting....\",\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n // });\r\n // }\r\n // });\r\n };\r\n addUpdateCorporate = () => {\r\n this.setState({ fullLoading: true });\r\n // let postData = {\r\n // orderGarmentID: parseInt(this.state.generalFormValues.orderGarmentID),\r\n // qcStatus: this.state.generalFormValues.qcStatus,\r\n // qcReason: this.state.generalFormValues.qcReason.join(\",\"),\r\n // remark: this.state.generalFormValues.qcRemarks,\r\n // qcPendingFrom: 2,\r\n // qcImage1: null,\r\n // qcImage2: null,\r\n // qcImage3: null,\r\n // userID: parseInt(\r\n // jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n // .unique_name\r\n // ),\r\n // };\r\n let postData = new FormData();\r\n postData.append(\r\n \"orderGarmentID\",\r\n parseInt(this.state.generalFormValues.orderGarmentID)\r\n );\r\n postData.append(\"qcStatus\", this.state.generalFormValues.qcStatus);\r\n postData.append(\r\n \"qcReason\",\r\n this.state.generalFormValues.qcReason.join(\",\")\r\n );\r\n postData.append(\"remark\", this.state.generalFormValues.qcRemarks);\r\n postData.append(\"qcPendingFrom\", 2);\r\n postData.append(\r\n \"userID\",\r\n parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n )\r\n );\r\n this.preQCService.OrderGarmentQCRequest(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.PRE_QC_RESPONSES,\r\n description: labels.QC_RESPONSE_SUBMITTED_SUCCESSFULLY,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC_RESPONSES,\r\n description: labels.UNABLE_TO_SUBMIT_QC_RESPONSE,\r\n });\r\n }\r\n });\r\n };\r\n generalForm = React.createRef();\r\n contactForm = React.createRef();\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n Promise.allSettled([generalValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.addUpdateCorporate();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/* {JSON.stringify(this.state)} */}\r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? labels.EDIT\r\n : this.state.mode === \"view\"\r\n ? labels.VIEW\r\n : labels.ADD,\r\n labels.GARMENT_FOR_QC,\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n\r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n nextFunction={() => this.handleSubmit()}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n />\r\n {/* \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n nextFunction={this.handleSubmit}\r\n isActive={this.state.activeStep === 1}\r\n instance={this.contactForm}\r\n mode={this.state.mode}\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(AddFactory);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class ReadyForDeliverySplitOrder {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveItems(\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null,\r\n storeIDs = null,\r\n customerID = null,\r\n splitOrderNumber = null,\r\n fromOrderDate = null,\r\n toOrderDate = null,\r\n invoiceNumber = null,\r\n invoiceDate = null,\r\n performaNumber = null,\r\n perfomaInvoiceDate = null,\r\n invoiceStatus = null,\r\n orderType = null,\r\n IsCheckNow=null,\r\n splitOrderStatus = null,\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SPILT_ORDER_READY_FOR_INVOICE,\r\n });\r\n let itemArray = [];\r\n let payload = {\r\n storeIDs: storeIDs,\r\n customerID: customerID,\r\n splitOrderNumber: splitOrderNumber,\r\n fromOrderDate: fromOrderDate,\r\n toOrderDate: toOrderDate,\r\n invoiceStatus: invoiceStatus,\r\n splitOrderStatus : splitOrderStatus,\r\n orderType: orderType,\r\n IsCheckNow:IsCheckNow,\r\n invoiceNumber: invoiceNumber,\r\n invoiceDate: invoiceDate,\r\n performaNumber: performaNumber,\r\n perfomaInvoiceDate: perfomaInvoiceDate,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n };\r\n\r\n await myApi.endpoints[this.endpoint.SPILT_ORDER_READY_FOR_INVOICE]\r\n .getAllPost(payload)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n storeIDs,\r\n customerID,\r\n splitOrderNumber,\r\n fromOrderDate,\r\n toOrderDate,\r\n invoiceNumber,\r\n invoiceDate,\r\n performaNumber,\r\n perfomaInvoiceDate\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async SplitOrderMarkAsCompleted(splitOrderNumber) {\r\n const listApi = new API({ url: this.config.ITEM_STORE_URL });\r\n listApi.createEntity({\r\n name: this.endpoint.SPLIT_ORDER_MARK_DELIVERY_AS_DELIVERED,\r\n });\r\n let itemArray = [];\r\n\r\n let append = \"?SplitOrderNo=\" + splitOrderNumber;\r\n await listApi.endpoints[\r\n this.endpoint.SPLIT_ORDER_MARK_DELIVERY_AS_DELIVERED\r\n ]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.SplitOrderMarkAsCompleted(splitOrderNumber);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async searchCustomer(value) {\r\n const stateListAPI = new API({ url: this.config.ITEM_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_SEARCH_CUSTOMER });\r\n let serviceTypes = [];\r\n\r\n let append = \"?SearchString=\" + value;\r\n await stateListAPI.endpoints[this.endpoint.GET_SEARCH_CUSTOMER]\r\n .getOne(append)\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.searchCustomer(value);\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getInvoiceStatusList(invoiceStatus) {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SYSTEME_NUMS,\r\n });\r\n\r\n let append = invoiceStatus === 1\r\n ? \"?EnumNames=InvoiceStatus\"\r\n : invoiceStatus === 2\r\n ? \"?EnumNames=SplitOrderStatus\"\r\n : \"?EnumNames=StoreServiceType\";\r\n\r\n // let append =\r\n // invoiceStatus === 1\r\n // ? \"?EnumNames=InvoiceStatus\"\r\n // : \"?EnumNames=StoreServiceType\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getInvoiceStatusList(invoiceStatus);\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Table,\r\n notification,\r\n DatePicker,\r\n Descriptions,\r\n Checkbox,\r\n Space,\r\n Tooltip,\r\n Popconfirm,\r\n} from \"antd\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faUserEdit,\r\n faClipboardCheck,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport ReadyForDeliveryOrder from \"../../../services/storereadyfordeliverysplitorderservice\";\r\nimport Moment from \"moment\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst TWO_MONTHS_AGO = new Date();\r\nTWO_MONTHS_AGO.setMonth(TWO_MONTHS_AGO.getMonth() - 3); //commented by Rashmi 03/03/23\r\n\r\nclass Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.ReadyForDeliveryOrderService = new ReadyForDeliveryOrder();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n deliveryOrderItems: [],\r\n ID: 0,\r\n data: [],\r\n selectedRowKeys: [],\r\n showfilterBox: true,\r\n loading: false,\r\n fromDate: Moment(TWO_MONTHS_AGO),\r\n // fromDate: Moment(TWO_MONTHS_AGO).startOf(1, \"months\").date(1),\r\n toDate: Moment(),\r\n invoiceDate: null,\r\n performaDate: null,\r\n customerName: {\r\n // disabled: true,\r\n data: [],\r\n selected: null,\r\n },\r\n selectedOrdersOfCustomer: null,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n selectedOrderID: null,\r\n invoiceStatusFilter: {\r\n data: [],\r\n selected: \"1,2\",\r\n },\r\n OrderTypeFilter: {\r\n data: [],\r\n selected: \"\",\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n IsCheckNow: 0,\r\n OrderStatusFilter: {\r\n data: [],\r\n selected: \"\",\r\n },\r\n };\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"ID\",\r\n // key: \"ID\",\r\n // },\r\n {\r\n title: labels.SPLIT_ORDER,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return (\r\n \r\n
{record.splitOrderNumber}
\r\n {record.orderTypeName}\r\n
\r\n );\r\n },\r\n },\r\n {\r\n title: labels.ORDER_COUNT,\r\n dataIndex: \"orderCount\",\r\n key: \"orderCount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.BAG_COUNT,\r\n dataIndex: \"bagCount\",\r\n key: \"bagCount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return (\r\n \r\n
{record.customerName}
\r\n {record.customerTypeName}\r\n
\r\n );\r\n },\r\n },\r\n {\r\n title: labels.CUST_MO_No,\r\n dataIndex: \"mobileNo\",\r\n key: \"mobileNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PLATFORM,\r\n dataIndex: \"platform\",\r\n key: \"platform\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return (\r\n \r\n
{record.storeName}
\r\n
\r\n );\r\n },\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryTypeName\",\r\n key: \"deliveryTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n sorter: true,\r\n render: (text) =>\r\n text !== null ? Moment(text).format(\"DD-MM-YYYY\") : null,\r\n },\r\n // {\r\n // title: labels.FACTORYOUTDATE,\r\n // dataIndex: \"factoryOutDateTime\",\r\n // key: \"factoryOutDateTime\",\r\n // sorter: true,\r\n // render: (text) =>\r\n // text !== null ? Moment(text).format(\"DD-MM-YYYY\") : null,\r\n // },\r\n\r\n // {\r\n // title: labels.STOREINDATE,\r\n // dataIndex: \"storeInDatetime\",\r\n // key: \"storeInDatetime\",\r\n // sorter: true,\r\n // render: (text) => {\r\n // return Moment(text).format(\"YYYY-MM-DD\") === \"0001-01-01\"\r\n // ? null\r\n // : Moment(text).format(\"DD-MM-YYYY\");\r\n // },\r\n // },\r\n {\r\n title: labels.ORDER_STATUS,\r\n dataIndex: \"orderStatusName\",\r\n key: \"orderStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.INVOICE_STATUS,\r\n dataIndex: \"invoiceStatusName\",\r\n key: \"invoiceStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.NO_OF_GARMENTS,\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.INVOICE_NUMBER,\r\n dataIndex: \"invoiceNumber\",\r\n key: \"invoiceNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.AMOUNT,\r\n dataIndex: \"finalInvoiceAmount\",\r\n key: \"finalInvoiceAmount\",\r\n sorter: true,\r\n },\r\n\r\n // {\r\n // title: \"Order Type\",\r\n // dataIndex: \"orderTypeName\",\r\n // key: \"orderTypeName\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: labels.TYPE,\r\n dataIndex: \"onDemandWalkin\",\r\n key: \"onDemandWalkin\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SERVICE,\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n },\r\n\r\n // {\r\n // title: \"Service Amount\",\r\n // dataIndex: \"serviceAmount\",\r\n // key: \"serviceAmount\",\r\n // // sorter: true,\r\n // },\r\n // {\r\n // title: \"Add On Service Amount\",\r\n // dataIndex: \"addOnServiceAmount\",\r\n // key: \"addOnServiceAmount\",\r\n // // sorter: true,\r\n // },\r\n // {\r\n // title: \"Discount Amount\",\r\n // dataIndex: \"discountAmount\",\r\n // key: \"discountAmount\",\r\n // // sorter: true,\r\n // },\r\n // {\r\n // title: \"Delivery Charges\",\r\n // dataIndex: \"deliveryChargesAmount\",\r\n // key: \"deliveryChargesAmount\",\r\n // // sorter: true,\r\n // },\r\n // {\r\n // title: \"Packaging Charges\",\r\n // dataIndex: \"packagingCharges\",\r\n // key: \"packagingCharges\",\r\n // // sorter: true,\r\n // },\r\n\r\n // {\r\n // title: \"Invoice Date\",\r\n // dataIndex: \"invoiceDate\",\r\n // key: \"invoiceDate\",\r\n // // sorter: true,\r\n // render: (text) =>\r\n // text !== null ? Moment(text).format(\"DD-MM-YYYY\") : null,\r\n // },\r\n\r\n // {\r\n // title: \"Performa Number\",\r\n // dataIndex: \"performaNumber\",\r\n // key: \"performaNumber\",\r\n // // sorter: true,\r\n // },\r\n // {\r\n // title: \"Performa Invoice Date\",\r\n // dataIndex: \"perfomaInvoiceDate\",\r\n // key: \"perfomaInvoiceDate\",\r\n // render: (text) =>\r\n // text !== null ? Moment(text).format(\"DD-MM-YYYY\") : null,\r\n // // sorter: true,\r\n // },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"raise\",\r\n render: (text, record) => (\r\n \r\n \r\n \r\n {record.performaNumber === null\r\n ? labels.GENERATE\r\n : record.invoiceStatus === 1\r\n ? labels.SETTLE\r\n : labels.VIEW}\r\n \r\n {record.orderStatus === 15 ? (\r\n \r\n \r\n this.SplitOrderMarkAsDelivered(record.splitOrderNumber)\r\n }\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\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 title: \"Status\",\r\n dataIndex: \"phonePeStatus\",\r\n key: \"phonePeStatus\", \r\n // dataIndex: \"qrCodeStatus\",\r\n // key: \"qrCodeStatus\", \r\n //sorter: true,\r\n },\r\n // {\r\n // title: labels.CASH,\r\n // dataIndex: \"cash\",\r\n // key: \"cash\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: labels.LKBONUS,\r\n // dataIndex: \"lkBonus\",\r\n // key: \"lkBonus\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: labels.LKWALLET,\r\n // dataIndex: \"lkWallet\",\r\n // key: \"lkWallet\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: labels.PAYTM,\r\n // dataIndex: \"paytm\",\r\n // key: \"paytm\",\r\n // sorter: true,\r\n // },\r\n ];\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.READY_FOR_DELIVERY_ORDERS\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n if (![null, undefined, \"\"].includes(this.props.location.state)) {\r\n if (![null, undefined, \"\"].includes(this.props.location.state.search)) {\r\n this.setState({ search: this.props.location.state.search }, () => {\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n });\r\n } else {\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n } else {\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n this.getInvoiceStatusList();\r\n this.getOrderTypeList();\r\n this.getOrderStatusList();\r\n }\r\n\r\n SplitOrderMarkAsDelivered = (splitOrderNumber) => {\r\n this.ReadyForDeliveryOrderService.SplitOrderMarkAsCompleted(\r\n splitOrderNumber\r\n ).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.READY_FOR_DELIVERY_OR_INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.ORDER_MARKED_AS_COMPLETED,\r\n duration: 1.0,\r\n onClose: () => window.location.reload(),\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.READY_FOR_DELIVERY_OR_INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_MARK_ORDER_AS_COMPLETED,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getOrderStatusList = () => {\r\n //if passed 2 to get SplitOrderStatus\r\n this.ReadyForDeliveryOrderService.getInvoiceStatusList(2).then(\r\n (response) => {\r\n if (response.statusCode === 200) {\r\n const data = response.data.map((single) => ({\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n }));\r\n\r\n const filteredData = data.filter((item) => [9, 10, 11, 12, 14, 15].includes(item.value));\r\n\r\n this.setState({\r\n OrderStatusFilter: {\r\n ...this.state.OrderStatusFilter,\r\n data: filteredData,\r\n },\r\n });\r\n }\r\n } \r\n );\r\n\r\n };\r\n\r\n getInvoiceStatusList = () => {\r\n //if passed 1 to get invoicestatus\r\n // if passed 0 then will get order type i.e ondemand/walk-in\r\n this.ReadyForDeliveryOrderService.getInvoiceStatusList(1).then(\r\n (response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n invoiceStatusFilter: {\r\n ...this.state.invoiceStatusFilter,\r\n data: data,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n getOrderTypeList = () => {\r\n //if passed 1 to get invoicestatus\r\n // if passed 0 then will get order type i.e ondemand/walk-in\r\n this.ReadyForDeliveryOrderService.getInvoiceStatusList(0).then(\r\n (response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n OrderTypeFilter: {\r\n ...this.state.OrderTypeFilter,\r\n data: data,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n searchCustomer = (value) => {\r\n this.ReadyForDeliveryOrderService.searchCustomer(value).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.READY_FOR_DELIVERY_OR_INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n });\r\n };\r\n //function for get data from server call\r\n // fetchItems = (params = {}) => {\r\n fetchItems = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n this.setState({ loading: true });\r\n // const params = {\r\n // storeIDs: localStorage.getItem(\"branchID\"),\r\n // customerID: this.state.customerName.selected,\r\n // splitOrderNumber: [null, undefined, \"\"].includes(\r\n // document.getElementById(\"SplitOrderNo\")\r\n // )\r\n // ? null\r\n // : document.getElementById(\"SplitOrderNo\").value,\r\n // fromOrderDate: Moment(this.state.fromDate).format(\"YYYY-MM-DD\"),\r\n // toOrderDate: Moment(this.state.toDate).format(\"YYYY-MM-DD\"),\r\n // invoiceNumber: null, // document.getElementById(\"invoiceNo\").value,\r\n // invoiceDate: null, // this.state.invoiceDate !== null\r\n // // ? Moment(this.state.invoiceDate).format(\"YYYY-MM-DD\")\r\n // // : null,\r\n // performaNumber: null, //document.getElementById(\"performaNo\").value,\r\n // perfomaInvoiceDate: null,\r\n // // this.state.performaDate !== null\r\n // // ? Moment(this.state.performaDate).format(\"YYYY-MM-DD\")\r\n // // : null,\r\n // };\r\n\r\n this.ReadyForDeliveryOrderService.retrieveItems(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : this.state.selectedBranch,\r\n // localStorage.getItem(\"branchID\").toString(),\r\n this.state.customerName.selected,\r\n [null, undefined, \"\"].includes(document.getElementById(\"SplitOrderNo\"))\r\n ? null\r\n : document.getElementById(\"SplitOrderNo\").value,\r\n Moment(this.state.fromDate).format(\"YYYY-MM-DD\"),\r\n Moment(this.state.toDate).format(\"YYYY-MM-DD\"),\r\n null,\r\n null,\r\n null,\r\n null,\r\n this.state.invoiceStatusFilter.selected,\r\n this.state.OrderTypeFilter.selected,\r\n this.state.IsCheckNow,\r\n this.state.OrderStatusFilter.selected\r\n ).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (items.data.length === 0 && this.state.pagination.current !== 1) {\r\n this.setState(\r\n { pagination: { ...this.state.pagination, current: 1 } },\r\n () => {\r\n this.fetchItems(1, size, sortColumn, sortOrder, search);\r\n }\r\n );\r\n }\r\n this.setState({\r\n deliveryOrderItems: items.data.map((single, index) => {\r\n single.key = single.splitOrderNumber;\r\n single.customerId = single.customerID;\r\n return single;\r\n }),\r\n });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: this.state.deliveryOrderItems.length\r\n ? this.state.deliveryOrderItems[0].totalRecords\r\n : 0,\r\n current: this.state.deliveryOrderItems.length\r\n ? this.state.pagination.current\r\n : 1,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.READY_FOR_DELIVERY_OR_INVOICE,\r\n description:\r\n labels.UNABLE_TO_GET_LIST_OF_READY_FOR_DELIVERY_INVOICE_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleChangeBranch = () => {\r\n const { pagination } = this.state;\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const deliveryOrderItems = this.state.deliveryOrderItems;\r\n\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n return (\r\n
\r\n \r\n {\r\n if (e.target.checked) {\r\n this.setState(\r\n {\r\n IsCheckNow: 1,\r\n },\r\n () => {\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n IsCheckNow: 0,\r\n },\r\n () => {\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n Check Now\r\n \r\n
,\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 300 }}\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n ,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n // storeKeys: [],\r\n // factoryKeys: [],\r\n // // tagNos:\"\"\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n // else {\r\n // this.setState({\r\n // storeOutTags: [],\r\n // btnMissedTagEnable: true,\r\n // });\r\n // }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n
\r\n {\r\n this.props.history.push({\r\n pathname: [\r\n ROUTES.PROFORMA_INVOICE,\r\n this.state.selectedRows.length > 1\r\n ? this.state.selectedRows\r\n .map((x) => x.invoiceID)\r\n .join(\",\")\r\n : this.state.selectedRows[0].splitOrderNumber,\r\n ].join(\"/\"),\r\n state: {\r\n splitOrderNumber:\r\n this.state.selectedRows.length > 1\r\n ? this.state.selectedRows\r\n .map((x) => x.invoiceID)\r\n .join(\",\")\r\n : this.state.selectedRows[0].splitOrderNumber,\r\n splitId: this.state.selectedRows[0].splitOrderNumber,\r\n },\r\n customerID: this.state.selectedOrdersOfCustomer,\r\n });\r\n // this.props.history.push(\r\n // [\r\n // ROUTES.PROFORMA_INVOICE,\r\n // this.state.selectedRows.length > 1\r\n // ? this.state.selectedRows\r\n // .map((x) => x.invoiceID)\r\n // .join(\",\")\r\n // : this.state.selectedRows[0].splitOrderNumber,\r\n // ].join(\"/\"),\r\n // { customerID: this.state.selectedOrdersOfCustomer }\r\n // )\r\n }}\r\n >\r\n {labels.SETTLE}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox\r\n ? labels.HIDE_FILTERS\r\n : labels.SHOW_FILTERS}\r\n \r\n \r\n
,\r\n ]}\r\n />\r\n \r\n \r\n this.fetchItems(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n )\r\n }\r\n initialValues={{\r\n fromDate: this.state.fromDate,\r\n toDate: this.state.toDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n this.handleDateChange(date, \"fromDate\")}\r\n value={this.state.fromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"toDate\")}\r\n value={this.state.toDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: value,\r\n },\r\n });\r\n }}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n // 0\r\n // }\r\n >\r\n {this.state.customerName.data.length !== 0\r\n ? this.state.customerName.data.map(\r\n (singleCustomerName) => {\r\n return singleCustomerName.customerID !== \"-1\" ? (\r\n \r\n {singleCustomerName.customerName +\r\n \" (\" +\r\n singleCustomerName.mobileNo +\r\n \")\"}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n invoiceStatusFilter: {\r\n ...this.state.invoiceStatusFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n },\r\n () => {\r\n // console.log(this.state.invoiceStatusFilter.selected);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.invoiceStatusFilter.data.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n {x.label}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n OrderTypeFilter: {\r\n ...this.state.OrderTypeFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n },\r\n () => {\r\n // console.log(this.state.OrderTypeFilter.selected);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.OrderTypeFilter.data.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n {x.label}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n OrderStatusFilter: {\r\n ...this.state.OrderStatusFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n },\r\n () => {\r\n // console.log(this.state.OrderTypeFilter.selected);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.OrderStatusFilter.data.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n {x.label}\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 this.handleDateChange(date, \"invoiceDate\")\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.handleDateChange(date, \"performaDate\")\r\n }\r\n />\r\n \r\n */}\r\n {/* \r\n \r\n \r\n \r\n */}\r\n {/* \r\n */}\r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({\r\n selectedOrderID:\r\n selectedRows.length > 0\r\n ? selectedRows[0].orderID.toString()\r\n : null,\r\n // selectedOrdersOfCustomer:\r\n // selectedRows.length > 0 ? selectedRows[0].customerId : null,\r\n // selectedBranch:\r\n // selectedRows.length > 0\r\n // ? selectedRows[0].storeID.toString()\r\n // : null,\r\n });\r\n this.setState({\r\n selectedRowKeys: selectedRowKeys,\r\n selectedRows: selectedRows,\r\n });\r\n },\r\n getCheckboxProps: (record) => {\r\n let shouldDisable = false;\r\n if (record.performaNumber === null || record.invoiceStatus > 1) {\r\n shouldDisable = true;\r\n } else {\r\n // if (this.state.selectedOrdersOfCustomer === null) {\r\n if ([null].includes(this.state.selectedOrderID)) {\r\n shouldDisable = false;\r\n } else if (\r\n this.state.selectedOrderID === record.orderID.toString()\r\n // this.state.selectedOrderID === record.customerId &&\r\n // this.state.selectedBranch === record.storeID.toString()\r\n ) {\r\n shouldDisable = false;\r\n } else {\r\n shouldDisable = true;\r\n }\r\n }\r\n return { disabled: shouldDisable };\r\n },\r\n }}\r\n // expandable={{\r\n // expandedRowRender: (record) => {\r\n // return (\r\n // \r\n // {record.deliveryDate !== \"\" &&\r\n // record.deliveryDate !== null ? (\r\n // \r\n // {Moment(record.deliveryDate).format(\"YYYY-MM-DD\")}\r\n // \r\n // ) : null}\r\n // \r\n // {record.deliveryTypeName}\r\n // \r\n // \r\n // {record.performaNumber}\r\n // \r\n // {[null, undefined, \"\"].includes(\r\n // record.perfomaInvoiceDate\r\n // ) ? null : (\r\n // \r\n // {Moment(record.perfomaInvoiceDate).format(\"YYYY-MM-DD\")}\r\n // \r\n // )}\r\n // {[null, undefined, \"\"].includes(record.invoiceDate) ? null : (\r\n // \r\n // {Moment(record.invoiceDate).format(\"YYYY-MM-DD\")}\r\n // \r\n // )}\r\n // \r\n // {record.noOfGarment}\r\n // \r\n // \r\n // );\r\n // },\r\n // }}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.fetchItems(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport ReadyForDeliveryOrders from \"../../../components/StoreModule/ReadyForDeliveryOrders/readyfordeliverysplitorders.store.component\";\r\n\r\nexport default class ReadyForDeliveryOrdersScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n// import styles from \"./transferoutstorescreen.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\n// import Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Select,\r\n Table,\r\n Modal,\r\n Descriptions,\r\n notification,\r\n Space,\r\n Spin,\r\n Checkbox,\r\n Input,\r\n} from \"antd\";\r\nimport TransferOutService from \"../../../services/storetransferoutservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Logo from \"../../../images/Common/Logo.png\";\r\nimport html2pdf from \"html2pdf.js\";\r\nimport moment from \"moment\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Option } = Select;\r\nconst { Search } = Input;\r\n\r\nexport default class Master extends React.Component {\r\n TransferOutService = new TransferOutService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n state = {\r\n loading: false,\r\n generateButtonLoading: false,\r\n selectedServices: \"\",\r\n selectedFactory: [],\r\n showInfoPopup: false,\r\n factoryListOptions: [],\r\n serviceListOptions: [],\r\n StoreTransferOuts: [],\r\n GetGarmentdatailBysplitOrdernumbers: [],\r\n isExapndableLoading: false,\r\n factoryid: 0,\r\n printInfoHeaderData: {\r\n gatePassNo: \"\",\r\n gatePassDate: \"\",\r\n storeName: \"\",\r\n factoryName: \"\",\r\n factoryAddress: \"\",\r\n userName: \"\",\r\n },\r\n printInfoRowData: [],\r\n isPDFDataLoaded: false,\r\n gatePassNumber: false,\r\n isGenerateGetPass: true,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n search: null,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER, // \"Split Order\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER_NAME, //\"Customer Name\",\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SERVICE, // \"Service\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ORDER_DATE, //\"Order Date\",\r\n dataIndex: \"orderDate\",\r\n key: \"orderDate\",\r\n sorter: true,\r\n render: (date) => {\r\n return moment(date).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.TOTAL_GARMENTS, //\"Total Garments\",\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.READY_FOR_TRANSFER_OUT, //\"Total Garments\",\r\n dataIndex: \"readyforTransferOutCnt\",\r\n key: \"readyforTransferOutCnt\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE, //\"Total Garments\",\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n sorter: true,\r\n },\r\n ,\r\n ];\r\n\r\n expandableColumns = [\r\n // {\r\n // title: labels.SPLIT_ORDER_NUMBER, //\"Split Order Number\",\r\n // dataIndex: \"splitOrderNumber\",\r\n // key: \"splitOrderNumber\",\r\n // },\r\n {\r\n title: labels.TAG_NUMBER, //\"Tag Number\",\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n },\r\n {\r\n title: labels.GARMENT_NAME, //\"Garment Name\",\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n },\r\n // {\r\n // title: \"Split Order Number\",\r\n // dataIndex: \"splitOrderNumber\",\r\n // key: \"splitOrderNumber\",\r\n // },\r\n {\r\n title: labels.SERVICE, //\"Service\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n },\r\n {\r\n title: labels.ADD_ON_SERVICES, //\"Add-On Services\",\r\n dataIndex: \"addOnServiceName\",\r\n key: \"addOnServiceName\",\r\n },\r\n {\r\n title: labels.STATUS,\r\n dataIndex: \"garmentStatus\",\r\n key: \"garmentStatus\",\r\n },\r\n // {\r\n // title: \"Size\",\r\n // dataIndex: \"uomName\",\r\n // key: \"sizeName\",\r\n // },\r\n ];\r\n\r\n GetSplitNumberToTransferoutRes = [];\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_TRANSFER_OUT\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res, isGenerateGetPass: true });\r\n this.getServiceList();\r\n }\r\n\r\n handleChangee = () => {\r\n if ([null, undefined, [], \"\"].includes(this.state.selectedServices)) {\r\n this.setState({\r\n selectedFactory: [],\r\n factoryListOptions: [],\r\n factoryid: 0,\r\n StoreTransferOuts: [],\r\n search: null,\r\n });\r\n } else {\r\n this.setState({\r\n selectedFactory: [],\r\n StoreTransferOuts: [],\r\n search: null,\r\n });\r\n this.getFactoryList(this.state.selectedServices);\r\n }\r\n // if (this.state.factoryid > 0) {\r\n // this.GetSplitNumberToTransferout(event.join(\",\"), this.state.factoryid);\r\n // }\r\n };\r\n\r\n getServiceList = () => {\r\n this.TransferOutService.retrieveServiceList().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ serviceListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: items.message\r\n ? items.message\r\n : labels.UNABLE_TO_GET_LIST_OF_SERVICE_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n GetSplitNumberToTransferout = (\r\n // localStorage.getItem(\"branchID\"),\r\n serviceId,\r\n factoryid,\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n this.setState({ loading: true });\r\n this.TransferOutService.GetSplitNumberToTransferout(\r\n // storeId,\r\n serviceId,\r\n factoryid,\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n ).then((items) => {\r\n let data = [];\r\n if (items.statusCode === 200) {\r\n if (items.data.length === 0 && this.state.pagination.current !== 1) {\r\n this.setState(\r\n { pagination: { ...this.state.pagination, current: 1 } },\r\n () => {\r\n this.GetSplitNumberToTransferout(\r\n serviceId,\r\n factoryid,\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n }\r\n );\r\n }\r\n items.data.forEach((element) => {\r\n data.push({\r\n ...element,\r\n key: element.splitOrderNumber,\r\n });\r\n });\r\n this.setState({\r\n StoreTransferOuts: data,\r\n printInfoHeaderData: {\r\n gatePassNo: \"\",\r\n gatePassDate: \"\",\r\n storeName: \"\",\r\n factoryName: \"\",\r\n factoryAddress: \"\",\r\n userName: \"\",\r\n },\r\n printInfoRowData: [],\r\n isPDFDataLoaded: false,\r\n isGenerateGetPass: true,\r\n });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: this.state.StoreTransferOuts.length\r\n ? this.state.StoreTransferOuts[0].totalRecords\r\n : 0,\r\n current: this.state.StoreTransferOuts.length\r\n ? this.state.pagination.current\r\n : 1,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: labels.UNABLE_TO_GET_SPLIT_ORDER_NUMBERS,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n GetGarmentdatailBysplitOrdernumber = (id) => {\r\n this.setState({ isExapndableLoading: true });\r\n this.TransferOutService.GetGarmentdatailBysplitOrdernumber(id).then(\r\n (items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n GetGarmentdatailBysplitOrdernumbers: {\r\n ...this.state.GetGarmentdatailBysplitOrdernumbers,\r\n [id]: items.data,\r\n },\r\n });\r\n this.setState({ isExapndableLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: labels.UNABLE_TO_GET_GARMENT_DETAILS,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n getFactoryList = (event) => {\r\n this.TransferOutService.retrieveFactoryList(event).then((items) => {\r\n if (items.statusCode === 200) {\r\n let res = [];\r\n for (let i = 0; i < items.data.length; i++) {\r\n res.push({\r\n value: items.data[i].factoryID,\r\n text: items.data[i].factoryName,\r\n });\r\n }\r\n this.setState({ factoryListOptions: res });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: items.message\r\n ? items.message\r\n : labels.UNABLE_TO_GET_LIST_OF_FACTORY_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n element = React.createRef();\r\n\r\n GenerateGatePass = (store, factory) => {\r\n this.setState({ generateButtonLoading: true });\r\n this.TransferOutService.GenerateGatePass(\r\n parseInt(localStorage.getItem(\"branchID\")),\r\n this.state.factoryid,\r\n this.state.rowselectedvalue.join(\",\")\r\n ).then((response) => {\r\n if (response.statusCode === 200) {\r\n // this.setState({ gatePass: response.data });\r\n this.setState({\r\n gatePassNumber: response.data,\r\n StoreTransferOuts: [],\r\n selectedServices: \"\",\r\n selectedFactory: [],\r\n factoryListOptions: [],\r\n factoryid: 0,\r\n search: null,\r\n });\r\n let post = {\r\n gatePassNumber: this.state.gatePassNumber,\r\n };\r\n this.TransferOutService.getPDFGatePass(post).then((res) => {\r\n this.setState({\r\n printInfoHeaderData: {\r\n gatePassNo: res.data.gatePassNo,\r\n gatePassDate: res.data.gatePassDate,\r\n storeName: res.data.storeName,\r\n factoryName: res.data.factoryName,\r\n factoryAddress: res.data.factoryAddress,\r\n userName: res.data.userName,\r\n },\r\n printInfoRowData: res.data.vMSplitOrderDelivery,\r\n isPDFDataLoaded: true,\r\n });\r\n });\r\n notification[\"success\"]({\r\n message: labels.TRANSFER_OUT,\r\n description:\r\n labels.GATE_PASS +\r\n post.gatePassNumber +\r\n \" \" +\r\n labels.HAS_BEEN_GENERATED,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: this.common.Message(response.message), /// labels.UNABLE_TO_GET_LIST_OF_STICKER_DATA,\r\n });\r\n }\r\n this.setState({ generateButtonLoading: false });\r\n });\r\n };\r\n\r\n downloadPDF = () => {\r\n var opt = {\r\n margin: 1,\r\n filename: \"StoreGatePass.pdf\",\r\n jsPDF: { format: \"a5\", orientation: \"portrait\" },\r\n pagebreak: { mode: [\"css\", \"legacy\"], avoid: \"tr\" },\r\n html2canvas: {\r\n dpi: 192,\r\n scale: 4,\r\n },\r\n };\r\n html2pdf().set(opt).from(this.element.current).save();\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n if (selectedRowKeys.length > 0 && this.state.factoryid > 0) {\r\n this.setState({\r\n isGenerateGetPass: false,\r\n });\r\n } else {\r\n this.setState({\r\n isGenerateGetPass: true,\r\n });\r\n }\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n // disabled: record.noOfGarment !== record.readyforTransferOutCnt, // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n expandedRowRender = (record) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n handlefactorychange = (value) => {\r\n this.setState({ factoryid: value, selectedFactory: value }, () => {\r\n if (\r\n this.state.selectedServices != null &&\r\n this.state.selectedServices.length > 0\r\n ) {\r\n this.GetSplitNumberToTransferout(\r\n this.state.selectedServices.toString(),\r\n value,\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n if (\r\n this.state.rowselectedvalue != undefined &&\r\n this.state.rowselectedvalue.length > 0\r\n ) {\r\n this.setState({ isGenerateGetPass: false });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n let data = ;\r\n if (this.state.isPDFDataLoaded) {\r\n data = this.state.printInfoRowData.map((item, index) => {\r\n return (\r\n \r\n {item.rowNumber}\r\n {item.splitOrderNumber}\r\n {item.deliveryType}\r\n {item.noOfGarments}\r\n \r\n {item.pickupDate === \"\"\r\n ? null\r\n : moment(item.pickupDate).format(\"DD/MM/YYYY\")}\r\n \r\n \r\n {item.deliveryDate === \"\"\r\n ? null\r\n : moment(item.deliveryDate).format(\"DD/MM/YYYY\")}\r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n const allStoreArray = this.state.serviceListOptions\r\n .map((store) => {\r\n return store.value;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n return (\r\n
\r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(event) => {\r\n this.setState(\r\n {\r\n selectedServices: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangee();\r\n }\r\n );\r\n }}\r\n style={{ minWidth: 150, maxWidth: 450 }}\r\n value={\r\n this.state.selectedServices === \"\"\r\n ? []\r\n : this.state.selectedServices.split(\",\")\r\n }\r\n >\r\n {this.state.serviceListOptions.length !== 0\r\n ? this.state.serviceListOptions.map((service) => {\r\n return service.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n ,\r\n
\r\n value === allStoreArray[index])\r\n }\r\n onChange={(e) => {\r\n if (e.target.checked) {\r\n let allOpt = this.state.serviceListOptions\r\n .map((store) => {\r\n return store.value;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedServices: allOpt.join(\",\"),\r\n },\r\n () => this.handleChangee()\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedServices: \"\",\r\n },\r\n () => this.handleChangee()\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 200 }}\r\n onSelect={this.handlefactorychange}\r\n value={this.state.selectedFactory}\r\n >\r\n {this.state.factoryListOptions.length !== 0\r\n ? this.state.factoryListOptions.map((factory) => {\r\n return factory.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.GetSplitNumberToTransferout(\r\n this.state.selectedServices,\r\n this.state.factoryid,\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n ]}\r\n />\r\n {\r\n this.GetGarmentdatailBysplitOrdernumber(record.key);\r\n },\r\n expandedRowRender: this.expandedRowRender,\r\n }}\r\n // className=\"components-table-demo-nested\"\r\n columns={this.columns}\r\n dataSource={this.state.StoreTransferOuts}\r\n size=\"small\"\r\n loading={this.state.loading}\r\n pagination={this.state.pagination}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.GetSplitNumberToTransferout(\r\n this.state.selectedServices,\r\n this.state.factoryid,\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n 0 ? true : false}\r\n >\r\n \r\n {\r\n this.GenerateGatePass();\r\n }}\r\n loading={this.state.generateButtonLoading}\r\n disabled={\r\n this.state.isGenerateGetPass || this.state.isPDFDataLoaded\r\n }\r\n >\r\n {labels.GENERATE_GATE_PASS}\r\n \r\n {this.state.isPDFDataLoaded ? (\r\n {\r\n this.downloadPDF();\r\n }}\r\n >\r\n {labels.DOWNLOAD_GATE_PASS}\r\n \r\n ) : null}\r\n \r\n \r\n\r\n {this.state.isPDFDataLoaded ? (\r\n
\r\n
\r\n \r\n \r\n \r\n {labels.STORE_GATE_PASS_NUMBER} :\r\n {this.state.printInfoHeaderData.gatePassNo}\r\n \r\n \r\n \r\n \r\n \"Laundrokart\"\r\n \r\n\r\n \r\n {labels.DATE}:\r\n {moment(this.state.printInfoHeaderData.gatePassDate).format(\r\n \"DD/MM/YYYY\"\r\n )}\r\n

\r\n {labels.FACTORY_NAME}:\r\n {this.state.printInfoHeaderData.factoryName}\r\n

\r\n {labels.FACTORY_ADDRESS}:\r\n {this.state.printInfoHeaderData.factoryAddress}\r\n

\r\n {labels.STORE_NAME}:\r\n {this.state.printInfoHeaderData.storeName}\r\n

\r\n {labels.CREATED_BY}:{\" \"}\r\n {this.state.printInfoHeaderData.userName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.S_NO}\r\n {labels.SPLIT_ORDER_ID}\r\n {labels.DELIVERY_TYPE}\r\n {labels.NUMBER_OF_GARMENTS}\r\n {labels.PICKUP_DATE}\r\n {labels.DELIVERY_DATE}\r\n \r\n \r\n {data}\r\n \r\n

\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport TransferOut from \"../../../components/StoreModule/TransferOut/transferout.store.component\";\r\n\r\n/**\r\n * This file holds the view of Transfer Out screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 10 July 2020\r\n */\r\nexport default class TransferOutStore extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass TransferInStore {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getStickerByStickerID(stickerID, storeID) {\r\n const garmentListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n garmentListAPI.createEntity({\r\n name: this.endpoint.GET_STICKERINFO_BY_STICKER_NO,\r\n });\r\n let garments = [];\r\n let param = \"?StickerID=\" + stickerID + \"&StoreID=\" + storeID;\r\n await garmentListAPI.endpoints[this.endpoint.GET_STICKERINFO_BY_STICKER_NO]\r\n .deleteById(param)\r\n .then((response) => {\r\n garments = response.data;\r\n })\r\n .catch((err) => {\r\n garments = this.common.handleError(err);\r\n });\r\n if (garments.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n garments = this.getStickerByStickerID(stickerID, storeID);\r\n });\r\n }\r\n return Promise.resolve(garments);\r\n }\r\n\r\n async requestStoreTransferin(stickerID, storeID, userID, CustomerID) {\r\n const transferInAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n transferInAPI.createEntity({ name: this.endpoint.TRANSFER_INTO_STORE });\r\n let garments = [];\r\n let param =\r\n \"?StickerID=\" +\r\n stickerID +\r\n \"&StoreID=\" +\r\n storeID +\r\n \"&UserID=\" +\r\n userID +\r\n \"&CustomerID=\" +\r\n CustomerID;\r\n await transferInAPI.endpoints[this.endpoint.TRANSFER_INTO_STORE]\r\n .deleteById(param)\r\n .then((response) => {\r\n garments = response.data;\r\n })\r\n .catch((err) => {\r\n garments = this.common.handleError(err);\r\n });\r\n if (garments.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n garments = this.requestStoreTransferin(stickerID, storeID, userID,CustomerID);\r\n });\r\n }\r\n return Promise.resolve(garments);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default TransferInStore;\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n PageHeader,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n notification,\r\n // Radio,\r\n Descriptions,\r\n Upload,\r\n Collapse,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\n// import styles from \"../../Common/Styles/master.module.css\";\r\nimport styles from \"./transferincomponent.module.css\";\r\nimport CorporateService from \"../../../services/corporateservice\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nimport Common from \"../../../services/common\";\r\nimport TransferInStore from \"../../../services/storetransferinservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Option } = Select;\r\nconst { Panel } = Collapse;\r\n\r\n/**\r\n * General form as a part of create factory screen\r\n *\r\n * @author Payal\r\n * @created 07 August 2020\r\n */\r\nexport default class Master extends React.Component {\r\n /**\r\n * Initalizing Factory Service\r\n */\r\n transferInStore = new TransferInStore();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n commonReq = new Common();\r\n\r\n state = {\r\n submitButtonLoading: false,\r\n stickerLoaded: false,\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n stickerID: \"\",\r\n garmentData: [],\r\n orderData: [],\r\n isSaveDisable: true,\r\n stickerStatus: \"\",\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_TRANSFER_IN\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handleStoreTransferIn = () => {\r\n var stickerID = parseInt(this.state.stickerID);\r\n var storeID = parseInt(localStorage.getItem(\"branchID\"));\r\n var userID = parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n );\r\n var CustomerID = parseInt(this.state.orderData[0].customerID)\r\n console.log(\"customerID->\",CustomerID);\r\n this.setState({ submitButtonLoading: true });\r\n this.transferInStore\r\n .requestStoreTransferin(stickerID, storeID, userID,CustomerID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.DATA_SUCCESSFULLY_SUBMITTED,\r\n });\r\n this.setState({ stickerLoaded: false, stickerID: \"\" });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.UNABLE_TO_SUBMIT_STICKER_DATA,\r\n });\r\n }\r\n this.setState({ submitButtonLoading: false });\r\n });\r\n };\r\n\r\n GetStickerInfo = () => {\r\n if (this.state.stickerID != \"\") {\r\n var stickerID = parseInt(this.state.stickerID);\r\n var storeID = parseInt(localStorage.getItem(\"branchID\"));\r\n\r\n this.transferInStore\r\n .getStickerByStickerID(stickerID, storeID)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.data.responseStatus === 1\r\n // items.data.lstGarmentData.length > 0 ||\r\n // items.data.lstOrderData.length > 0\r\n ) {\r\n this.setState({\r\n garmentData: items.data.lstGarmentData,\r\n orderData: items.data.lstOrderData,\r\n stickerLoaded: true,\r\n });\r\n this.setState({\r\n stickerStatus: items.data.lstOrderData[0].stickerStatus,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: this.commonReq.Message(items.data.responseMessage), //labels.UNABLE_TO_GET_STICKER_DATA,\r\n });\r\n this.setState({\r\n garmentData: [],\r\n orderData: [],\r\n stickerLoaded: false,\r\n });\r\n }\r\n // if (\r\n // this.state.orderData.length > 0 &&\r\n // this.state.garmentData.length > 0\r\n // ) {\r\n // this.setState({\r\n // stickerLoaded: !this.state.stickerLoaded,\r\n // });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: \"Unable to load sticker data\",\r\n // });\r\n // }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.UNABLE_TO_GET_STICKER_DATA,\r\n });\r\n }\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.PLEASE_ENTER_STICKER_ID,\r\n });\r\n }\r\n };\r\n\r\n onChange = (e) => {\r\n this.setState({ stickerID: e.target.value });\r\n };\r\n\r\n render() {\r\n const { orderData, garmentData } = this.state;\r\n var packedInfo = this.state.garmentData;\r\n\r\n var countPackedInfo = packedInfo.reduce((items, item) => {\r\n items[item.packingMaterialName] = items[item.packingMaterialName] || \"\";\r\n items[item.packingMaterialName]++;\r\n return items;\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 {this.state.stickerLoaded ? (\r\n <>\r\n \r\n {/* \r\n {orderData[0].customerName} \r\n \r\n \r\n {orderData[0].customerTypeName} \r\n \r\n \r\n {orderData[0].customerContactNo} \r\n \r\n \r\n {orderData[0].deliveryTypeName} \r\n \r\n \r\n {Moment(orderData[0].orderDate).format(\"DD-MM-YYYY\")} \r\n */}\r\n \r\n {orderData[0].splitOrderNumber}\r\n \r\n {/* \r\n {orderData[0].gatePassNumber}\r\n \r\n \r\n {Moment(orderData[0].deliveryDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {orderData[0].numberOfGarmentInProcess}\r\n \r\n \r\n {orderData[0].packedGarments}\r\n \r\n \r\n {orderData[0].packingMaterialName}\r\n \r\n \r\n {Moment(orderData[0].gatePassDate).format(\"DD-MM-YYYY\")}\r\n */}\r\n \r\n {orderData[0].stickerStatusName}\r\n \r\n {/* \r\n {orderData[0].splitOrderStatusName}\r\n */}\r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n {/* {this.state.stickerLoaded ? (\r\n \r\n {Object.keys(countPackedInfo).map((key) => {\r\n return (\r\n \r\n {countPackedInfo[key]} \r\n \r\n );\r\n })}\r\n \r\n ) : null} */}\r\n \r\n \r\n \r\n \r\n {labels.SUBMIT}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport TransferIn from \"../../../components/StoreModule/TransferIn/transferin.store.component\";\r\n\r\n/**\r\n * This file holds the view of Transfer In screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 15 July 2020\r\n */\r\nexport default class TransferInStore extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass StoreService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async GetStoreDashBoard(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_DASHBOARD });\r\n let itemArray = [];\r\n let id = \"?StoreID=\" + storeId;\r\n\r\n await myApi.endpoints.GetStoreDashBoard.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetStoreDashBoard(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetStoreDashBoardDeliveryRequestData(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_STORE_DASHBOARD_DELIVERY_REQUEST_DATA,\r\n });\r\n let itemArray = [];\r\n let id = \"?StoreID=\" + storeId;\r\n await myApi.endpoints.GetStoreDashBoardDeliveryRequestData.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetStoreDashBoardDeliveryRequestData(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetStoreDashBoardSplitOrderData(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_STORE_DASHBOARD_SPLIT_ORDER_DATA,\r\n });\r\n let itemArray = [];\r\n let id = \"?StoreID=\" + storeId;\r\n await myApi.endpoints.GetStoreDashBoardSplitOrderData.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetStoreDashBoardSplitOrderData(storeId);\r\n });\r\n }\r\n\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetStoreDashBoardPickUpData(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_DASHBOARD_PICKUP_DATA });\r\n let itemArray = [];\r\n let id = \"?StoreID=\" + storeId;\r\n await myApi.endpoints.GetStoreDashBoardPickUpData.getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetStoreDashBoardPickUpData(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default StoreService;\r\n","import React from \"react\";\r\nimport styles from \"./statscomponent.module.css\";\r\nimport { Row, Col, notification, Typography, Spin } from \"antd\";\r\n// import TruckIcon from \"../../../images/Dashboard/truck.svg\";\r\n// import TshirtIcon from \"../../../images/Dashboard/tshirt.svg\";\r\nimport BagIcon from \"../../../images/Dashboard/bag.svg\";\r\nimport WalletIcon from \"../../../images/Dashboard/wallet.svg\";\r\nimport StoreDashboard from \"../../../services/storedashboardservice\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Common from \"../../../services/common\";\r\n\r\n/**\r\n * This file holds the view of statastics cards placed on the top row of dashboard\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nexport default class Stats extends React.Component {\r\n storeDashboard = new StoreDashboard();\r\n common = new Common();\r\n\r\n state = {\r\n fullLoading: false,\r\n dashboardData: [],\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n this.GetStoreDashboard();\r\n }\r\n\r\n GetStoreDashboard() {\r\n // this.setState({ fullLoading: true });\r\n this.props.toggleLoading(true);\r\n this.storeDashboard\r\n .GetStoreDashBoard(parseInt(localStorage.getItem(\"branchID\")))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n dashboardData: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_DASHBOARD,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n StoreInventory = (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
{labels.PROCESSED}{labels.SOILED}
{labels.GARMENT}{data.processedGarments}{data.soiledGarments}
{labels.ORDERS}{data.processedOrders}{data.soiledOrders}
\r\n
\r\n );\r\n };\r\n otherStatastics = (data) => {\r\n return (\r\n \r\n \r\n \r\n {labels.AMOUNT_DUE_FOR_COLLECTION}\r\n
₹ {data.amountDueForCollection}\r\n \r\n \r\n {labels.ORDERS_READY_FOR_INVOICE}
\r\n {data.readyForInvoiceOrders}\r\n \r\n
\r\n
\r\n );\r\n };\r\n render() {\r\n // console.log(JSON.stringify(this.state.dashboardData, null, 2))\r\n const StatsBox = (props) => {\r\n /**\r\n * Array of background colors\r\n */\r\n const colors = [\"#FE1D7F\", \"#FCC350\", \"#6ABEFF\", \"#7E13D5\"];\r\n StatsBox.count++;\r\n return (\r\n \r\n
\r\n
\r\n {props.title}\r\n
\r\n
{props.count}
\r\n
\r\n {props.icon !== undefined ? (\r\n
\r\n \"icon\"\r\n
\r\n ) : null}\r\n \r\n );\r\n };\r\n /**\r\n * Static property\r\n */\r\n StatsBox.count = -1;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.TODAYS_HIGHLIGHTS}\r\n \r\n \r\n {/*
{JSON.stringify(this.state.dashboardData, null, 2)}
*/}\r\n \r\n \r\n {this.state.dashboardData.todaysOrderCount}\r\n \r\n /₹ {this.state.dashboardData.todaysOrderAmount}\r\n \r\n
\r\n }\r\n icon={BagIcon}\r\n />\r\n \r\n \r\n \r\n {this.state.dashboardData.todaysInvoiceCount}\r\n \r\n /₹ {this.state.dashboardData.todaysInvoiceAmount}\r\n \r\n \r\n }\r\n icon={WalletIcon}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.STORE_INVENTORY}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.OTHER_STATASTICS}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./chartscomponent.module.css\";\r\nimport {\r\n Row,\r\n Col,\r\n Typography,\r\n // Select,\r\n notification,\r\n Spin,\r\n} from \"antd\";\r\nimport Box from \"../../Common/Box/box\";\r\nimport moment from \"moment\";\r\n// import BarChartImg from \"../../../images/Dashboard/bar.png\";\r\n// import RingChart from \"../../../images/Dashboard/ring.png\";\r\n// import DoubleBarChart from \"../../../images/Dashboard/double.png\";\r\nimport StoreDashboard from \"../../../services/storedashboardservice\";\r\nimport {\r\n ResponsiveContainer,\r\n BarChart,\r\n // PieChart,\r\n XAxis,\r\n YAxis,\r\n Tooltip,\r\n Legend,\r\n // Cell,\r\n // Pie,\r\n Bar,\r\n // Customized,\r\n // Sector,\r\n} from \"recharts\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Commmon from \"../../../services/common\";\r\nimport Common from \"../../../services/common\";\r\n/**\r\n * Charts Row as a part of dashboard screen.\r\n * Bar chart, ring chart and double bar chart\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 15 June 2020\r\n */\r\nexport default class Charts extends React.Component {\r\n storeDashboard = new StoreDashboard();\r\n common = new Common();\r\n state = {\r\n fullLoading: false,\r\n pieActiveIndex: 0,\r\n dashboardChartData: [],\r\n doubleBarChartData: [],\r\n dashboardSplitedData: [],\r\n dashboardPickupData: [],\r\n };\r\n\r\n componentWillMount() {\r\n this.GetStoreDashBoardPickUpData();\r\n this.GetStoreDashBoardDeliveryRequestData();\r\n this.GetStoreSplitedOrderDashboard();\r\n }\r\n GetStoreDashBoardDeliveryRequestData() {\r\n this.props.toggleLoading(true);\r\n this.storeDashboard\r\n .GetStoreDashBoardDeliveryRequestData(\r\n parseInt(localStorage.getItem(\"branchID\"))\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let res = [];\r\n let dashboardChartres = [];\r\n response.data.forEach((element) => {\r\n res = {\r\n // date: element.calDate,\r\n // \"Pending Deliveries By Delivery Person\": element.pendingDeliveriesByDeliveryPerson,\r\n // \"Pending Delivery of Walkin\": element.pendingDeliveryofWalkin\r\n\r\n date: moment(element.calDate).format(\"D\"),\r\n \"Delivery Person\": element.pendingDeliveriesByDeliveryPerson,\r\n \"Walk-in\": element.pendingDeliveryofWalkin,\r\n };\r\n dashboardChartres.push(res);\r\n });\r\n\r\n this.setState({\r\n dashboardChartData: dashboardChartres,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_ORDERS_DUE_FOR_DELIVERY,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n GetStoreDashBoardPickUpData() {\r\n this.props.toggleLoading(true);\r\n this.storeDashboard\r\n .GetStoreDashBoardPickUpData(parseInt(localStorage.getItem(\"branchID\")))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let res = [];\r\n let dashboardPickupChartres = [];\r\n response.data.forEach((element) => {\r\n res = {\r\n date: moment(element.calDate).format(\"D\"),\r\n \"Pending Pickups\": element.pendingPickups,\r\n };\r\n dashboardPickupChartres.push(res);\r\n });\r\n\r\n this.setState({\r\n dashboardPickupData: dashboardPickupChartres,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_PENDING_PICKUPS,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n GetStoreSplitedOrderDashboard() {\r\n this.props.toggleLoading(true);\r\n this.storeDashboard\r\n .GetStoreDashBoardSplitOrderData(\r\n parseInt(localStorage.getItem(\"branchID\"))\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let res = [];\r\n let dashboardSplitedChartres = [];\r\n response.data.forEach((element) => {\r\n res = {\r\n date: moment(element.calDate).format(\"D\"),\r\n orders: parseInt(element.splitOrderNumberCount),\r\n };\r\n dashboardSplitedChartres.push(res);\r\n });\r\n this.setState({\r\n dashboardSplitedData: dashboardSplitedChartres,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_ORDERS_PENDING_TO_TRANSFER_OUT_TO_FACTORY,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {labels.PENDING_TO_TRANSFER_OUT_TO_FACTORY}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \"bar\" */}\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {labels.PENDING_PICKUPS}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \"bar\" */}\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {labels.ORDERS_DUE_FOR_DELIVERY}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {/* \"bar\" */}\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\n// import TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n // Modal,\r\n // notification,\r\n DatePicker,\r\n Tooltip,\r\n notification,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport PreQCResponseList from \"../../../services/storepreqcresponselistservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nexport default class preqclistfordashboard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.PreQCResponseListService = new PreQCResponseList();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n \r\n this.state = {\r\n preQCResponseItems: [],\r\n ID: 0,\r\n listData: [],\r\n QCStatusOptions: [],\r\n data: [],\r\n qcStatusFilter: 1,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n showfilterBox: true,\r\n loading: false,\r\n };\r\n }\r\n \r\n columns = [\r\n {\r\n title: labels.TAG,\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CONTACT,\r\n dataIndex: \"customerContactNumber\",\r\n key: \"customerContactNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENT,\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SPLIT_ORDER_NUMBER,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.LAST_UPDATED_ON,\r\n dataIndex: \"lastUpdatedOn\",\r\n key: \"lastUpdatedOn\",\r\n render: (text) =>\r\n text !== null ? Moment(text).format(\"DD-MM-YYYY HH:mm:ss\") : null,\r\n sorter: true,\r\n },\r\n {\r\n title: labels.LAST_UPDATED_BY,\r\n dataIndex: \"lastUpdatedBy\",\r\n key: \"lastUpdatedBy\",\r\n sorter: true,\r\n },\r\n \r\n {\r\n title: labels.QC_REQUEST,\r\n dataIndex: \"finalQCStatusName\",\r\n key: \"finalQCStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ACTION,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {record.finalQCStatus === 1 ? (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n \r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_MANAGE_QC\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n \r\n componentDidMount() {\r\n this.getResponseListForDashboard();\r\n }\r\n getResponseListForDashboard = () => {\r\n this.setState({ loading: true });\r\n if (this.props.toggleLoading !== undefined) {\r\n this.props.toggleLoading(true);\r\n }\r\n this.PreQCResponseListService.getResponseListForDashboard({\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n factoryID: 0,\r\n qcStatus: this.state.qcStatusFilter,\r\n tagNo: null,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n commonSearch: this.state.search,\r\n }).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n listData: response.data,\r\n pagination: {\r\n ...this.state.pagination,\r\n total:\r\n response.data.length !== 0 ? response.data[0].totalRecords : 0,\r\n },\r\n loading: false,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC_RESPONSES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_PRE_QC_RESPONSE_LIST,\r\n });\r\n }\r\n if (this.props.toggleLoading !== undefined) {\r\n this.props.toggleLoading(false);\r\n }\r\n });\r\n };\r\n \r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value }, () => this.getResponseListForDashboard());\r\n };\r\n \r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => this.getResponseListForDashboard()\r\n );\r\n };\r\n \r\n //function for get data from server call\r\n // fetchItems = (params = {}) => {\r\n // this.PreQCResponseListService.retrieveItems(params).then(items => {\r\n // if(items.statusCode===200){\r\n // if(items.length!==0 && items.data.length===0){\r\n // params.pagination.current=1;\r\n // this.fetchItems({\r\n // ID:0,\r\n // pageIndex:1,\r\n // pageSize:params.pageSize,\r\n // pagination:params.pagination\r\n // })\r\n // };\r\n // this.setState({ preQCResponseItems: items.data,\r\n // pagination: {\r\n // ...params.pagination,\r\n // total: items.length!==0 && items.data.length!==0 ? items.data[0].totalRecords : 0\r\n // }\r\n // });\r\n // }else{\r\n // notification[\"error\"]({\r\n // message: \"Unable to get list of pre-qc response list data\",\r\n // });\r\n // }\r\n // this.setState({loading:false})\r\n // });\r\n // }\r\n \r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n \r\n render() {\r\n const { pagination, loading } = this.state;\r\n const preQCResponseItems = this.state.preQCResponseItems;\r\n const listItems = preQCResponseItems;\r\n return (\r\n
\r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n qcStatusFilter: value,\r\n pagination: { ...this.state.pagination, current: 1 },\r\n },\r\n () => this.getResponseListForDashboard()\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {/* {this.state.QCStatusOptions.length !== 0\r\n ? this.state.QCStatusOptions.map((status) => {\r\n return status.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null} */}\r\n ,\r\n ,\r\n \r\n \r\n ]}\r\n />\r\n \r\n \r\n record.tagNo}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport Common from \"./common\";\r\n\r\nclass ExpenseEntryService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n handleError = () => {\r\n return null;\r\n };\r\n async getExpenseTypes() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_EXPENSE_TYPE });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_EXPENSE_TYPE]\r\n .getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getExpenseTypes();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async deleteNotice(noticeID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_NOTICE });\r\n let itemArray = [];\r\n let ID =\r\n \"?NoticeID=\" +\r\n parseInt(noticeID) +\r\n \"&UserID=\" +\r\n parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n );\r\n\r\n await myApi.endpoints[this.endpoint.DELETE_NOTICE]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteNotice(noticeID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async addUpdateNotice(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_UPDATE_NOTICE });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.ADD_UPDATE_NOTICE]\r\n .create({\r\n ...postData,\r\n userID: parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n ),\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.addUpdateNotice(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getAllNoticeList(index, size, sortColumn, sortOrder, search) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.NOTICE_BOARD_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.NOTICE_BOARD_LIST]\r\n .getAllPost({\r\n noticeID: null,\r\n // userID: parseInt(\r\n // jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n // .unique_name\r\n // ),\r\n notice: null,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getAllNoticeList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GETAPPFLYERDATA });\r\n let itemArray = [];\r\n await myApi.endpoints.GetAppflyerData.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\nexport default ExpenseEntryService;\r\n","import React from \"react\";\r\nimport { notification, Typography, List } from \"antd\";\r\nimport styles from \"./chartscomponent.module.css\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport NoticeBoardService from \"../../../services/noticeboardservice\";\r\nimport Common from \"../../../services/common\";\r\nimport { InfoCircleTwoTone } from \"@ant-design/icons\";\r\n\r\nexport default class NoticeBoard extends React.Component {\r\n state = {\r\n notices: [],\r\n };\r\n service = new NoticeBoardService();\r\n common = new Common();\r\n componentDidMount() {\r\n this.getNotices();\r\n }\r\n getNotices = () => {\r\n this.props.toggleLoading(true);\r\n this.service.getAllNoticeList(1, 10, null, null, null).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n notices: response.data,\r\n });\r\n } else {\r\n this.setState({ notices: [] });\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_DASHBOARD,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n };\r\n render() {\r\n return (\r\n
\r\n
\r\n {labels.NOTICE_BOARD}\r\n
\r\n (\r\n \r\n \r\n \r\n
\r\n }\r\n title={item.notice}\r\n />\r\n \r\n )}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n// import styles from \"./dashboardscreen.module.css\";\r\nimport { Row, Col, Spin } from \"antd\";\r\nimport Stats from \"../../../components/StoreModule/Dashboard/stats.component\";\r\nimport Charts from \"../../../components/StoreModule/Dashboard/charts.component\";\r\n// import QCCheck from \"../../../components/StoreModule/Dashboard/qccheck.component\";\r\n// import QuickActions from \"../../../components/StoreModule/Dashboard/quickactions.component\";\r\nimport PreQCListForDashboard from \"../../../components/StoreModule/PreQCResponseList/preqclistfordashboard\";\r\nimport Box from \"../../../components/Common/Box/box\";\r\nimport NoticeBoard from \"../../../components/StoreModule/Dashboard/noticeboard.component\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\n/**\r\n * View of Dashboard screen\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 15 June 2020\r\n */\r\nexport default class Dashboard extends React.Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n state = {\r\n fullLoading: false,\r\n isCallPreQc: true,\r\n isCallNotice: true,\r\n };\r\n toggleLoading = (value) => {\r\n this.setState({ fullLoading: value });\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_MANAGE_QC\r\n );\r\n\r\n var res1 = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.NOTICE_BOARD\r\n );\r\n if (!res[0].isView) {\r\n this.setState({ isCallPreQc: false });\r\n }\r\n\r\n if (!res1[0].isView) {\r\n this.setState({ isCallNotice: false });\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n \r\n \r\n \r\n {this.state.isCallPreQc === true ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {this.state.isCallNotice === true ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass TransferOutService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveStoreList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreList();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStickersToTransferOut(\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null,\r\n storeID = null,\r\n factoryID = null\r\n ) {\r\n const getStickersAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n getStickersAPI.createEntity({\r\n name: this.endpoint.GET_STICKERS_TO_TRANSFER_OUT,\r\n });\r\n let Stickers = [];\r\n let payload = {\r\n storeID: storeID,\r\n factoryID: factoryID,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n };\r\n await getStickersAPI.endpoints[this.endpoint.GET_STICKERS_TO_TRANSFER_OUT]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n Stickers = response.data;\r\n })\r\n .catch((err) => {\r\n Stickers = this.common.handleError(err);\r\n });\r\n if (Stickers.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n Stickers = this.getStickersToTransferOut(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n storeID,\r\n factoryID\r\n );\r\n });\r\n }\r\n return Promise.resolve(Stickers);\r\n }\r\n\r\n async generateGatePass(params) {\r\n const gatePassApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n gatePassApi.createEntity({\r\n name: this.endpoint.FACTORY_GENERATE_GATE_PASS,\r\n });\r\n let Stickers = [];\r\n await gatePassApi.endpoints[this.endpoint.FACTORY_GENERATE_GATE_PASS]\r\n .getAllPost(params)\r\n .then((response) => (Stickers = response.data))\r\n .catch((err) => {\r\n Stickers = this.common.handleError(err);\r\n });\r\n if (Stickers.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n Stickers = this.generateGatePass(params);\r\n });\r\n }\r\n return Promise.resolve(Stickers);\r\n }\r\n\r\n async getPDFGatePass(gatePassNo) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FACTORY_PRINT_GATEPASS });\r\n let itemArray = [];\r\n // let gatePassIDs = \"FAJK0000014\";\r\n var param = \"?GatePassNumber=\" + gatePassNo;\r\n await myApi.endpoints[this.endpoint.GET_FACTORY_PRINT_GATEPASS]\r\n .getOne(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPDFGatePass(gatePassNo);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\nexport default TransferOutService;\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass FactoryGatePassList {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FACTORY_GATE_PASS_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_FACTORY_GATE_PASS_LIST]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default FactoryGatePassList;\r\n","import React from \"react\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\n// import TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Table,\r\n notification,\r\n Tooltip,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faDownload, faChevronUp } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport moment, { isMoment } from \"moment\";\r\nimport Logo from \"../../../images/Common/Logo.png\";\r\nimport html2pdf from \"html2pdf.js\";\r\nimport TransferOutService from \"../../../services/factorytransferoutservice\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nimport FactoryGatePassList from \"../../../services/factorygatepasslistservice\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst TWO_MONTHS_AGO = new Date();\r\nTWO_MONTHS_AGO.setMonth(TWO_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.GatePassListService = new FactoryGatePassList();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.TransferOutService = new TransferOutService();\r\n this.common = new Common();\r\n\r\n this.state = {\r\n gatePassListItems: [],\r\n gatePassNo: \"\",\r\n orderFromDate: moment(TWO_MONTHS_AGO).startOf(1, \"months\").date(1),\r\n orderToDate: moment(),\r\n fcatoryIDs: localStorage.getItem(\"branchID\"),\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n totalMaterial: {},\r\n servicewisedata: [],\r\n showfilterBox: false,\r\n loading: false,\r\n userRights: [],\r\n printInfoHeaderData: {\r\n gatePassNumber: \"\",\r\n gatePassDate: \"\",\r\n storeName: \"\",\r\n factoryName: \"\",\r\n factoryAddress: \"\",\r\n userName: \"\",\r\n },\r\n printInfoRowData: [],\r\n isPDFDataLoaded: false,\r\n gatePassNumber: \"\",\r\n };\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"GatePassID\",\r\n // dataIndex: \"gatePassID\",\r\n // key: \"gatePassID\",\r\n // },\r\n {\r\n title: labels.GATE_PASS_NUMBER,\r\n dataIndex: \"gatePassNumber\",\r\n key: \"gatePassNumber\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return (\r\n {\r\n this.downloadGatePassPDF(record.gatePassNumber);\r\n }}\r\n >\r\n {record.gatePassNumber}{\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.FACTORY_NAME,\r\n dataIndex: \"factoryName\",\r\n key: \"factoryName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.NO_OF_GARMENTS,\r\n dataIndex: \"noOfGarment\",\r\n key: \"NoOfGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TOTAL_STICKERS,\r\n dataIndex: \"totalSticker\",\r\n key: \"TotalSticker\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GATE_PASS_DATE,\r\n dataIndex: \"gatePassDate\",\r\n key: \"GatePassDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n ];\r\n element = React.createRef();\r\n\r\n downloadGatePassPDF = (gatepassNumber) => {\r\n this.TransferOutService.getPDFGatePass(gatepassNumber).then((res) => {\r\n console.log(\"res123->\", res);\r\n this.setState(\r\n {\r\n printInfoHeaderData: res.data.objVMFactoryPrintGatePassHeaderData,\r\n printInfoRowData: res.data.lstVMFactoryPrintGatePassRowData,\r\n totalMaterial: res.data.totalMaterial,\r\n servicewisedata: res.data.servicewisedata,\r\n isPDFDataLoaded: true,\r\n },\r\n () => {\r\n var opt = {\r\n margin: 1,\r\n filename: \"FactoryGatePass.pdf\",\r\n jsPDF: { format: \"a4\", orientation: \"portrait\" },\r\n pagebreak: { mode: [\"css\", \"legacy\"], avoid: \"tr\" },\r\n html2canvas: {\r\n dpi: 192,\r\n scale: 4,\r\n },\r\n };\r\n html2pdf().set(opt).from(this.element.current).save();\r\n }\r\n );\r\n this.setState({\r\n selectedStore: \"\",\r\n rowselectedvalue: \"\",\r\n storeOutStickerData: [],\r\n tableLoading: false,\r\n });\r\n });\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY_GATE_PASS\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n fcatoryIDs: this.state.fcatoryIDs,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n fcatoryIDs: this.state.fcatoryIDs,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n fcatoryIDs: this.state.fcatoryIDs,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.GatePassListService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n gatePassNo: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n gatePassListItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.FACTORY_GATE_PASS,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_GATE_PASS_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const gatePassListItems = this.state.gatePassListItems;\r\n const listItems = gatePassListItems;\r\n gatePassListItems.map((item, index) => ({\r\n key: item.storeOutID,\r\n gatePassNo: item.gatePassNo,\r\n storeOutID: item.storeOutID,\r\n gatePassDate: item.gatePassDate,\r\n storeID: item.storeID,\r\n factoryID: item.factoryID,\r\n storeGarmentsOut: item.storeGarmentsOut,\r\n noofSplitNumber: item.noofSplitNumber,\r\n factoryName: item.factoryName,\r\n storeName: item.storeName,\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n let data = ;\r\n if (this.state.isPDFDataLoaded) {\r\n data = this.state.printInfoRowData.map((item, index) => {\r\n return (\r\n \r\n {item.id}\r\n {item.splitOrderNumber}\r\n {item.deliveryTypeName}\r\n {item.totalGarments}\r\n {item.previouslySentGarment}\r\n {item.sendingTodayGarments}\r\n {item.pendingGarments}\r\n {item.bag}\r\n {item.hanger}\r\n {item.blanket}\r\n {item.shoe}\r\n {item.carpet}\r\n {item.curtain}\r\n {item.roll}\r\n \r\n );\r\n });\r\n }\r\n\r\n let BagDCSIData = 0;\r\n let BagRestData = 0;\r\n let HangerData = 0;\r\n let BlanketData = 0;\r\n let ShoeData = 0;\r\n let CarpetData = 0;\r\n let CurtainData = 0;\r\n let RollData = 0;\r\n\r\n let Item = this.state.servicewisedata;\r\n if (this.state.isPDFDataLoaded) {\r\n for (let i = 0; i < Item.length; i++) {\r\n console.log(\"i->\", Item[i]);\r\n if (Item[i].packingMaterialID == 1) {\r\n if (Item[i].serviceID == 4 || Item[i].serviceID == 6) {\r\n BagDCSIData = BagDCSIData + Item[i].totalCounts;\r\n } else {\r\n BagRestData = BagRestData + Item[i].totalCounts;\r\n }\r\n } else if (Item[i].packingMaterialID == 2) {\r\n HangerData = HangerData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 3) {\r\n CurtainData = CurtainData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 4) {\r\n CarpetData = CarpetData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 5) {\r\n ShoeData = ShoeData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 6) {\r\n BlanketData = BlanketData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 7) {\r\n RollData = RollData + Item[i].totalCounts;\r\n }\r\n }\r\n }\r\n \r\n\r\n\r\n return (\r\n
\r\n {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ,\r\n ]}\r\n />\r\n\r\n \r\n\r\n {this.state.isPDFDataLoaded ? (\r\n
\r\n
\r\n \r\n \r\n \r\n Factory Gate Pass Number :\r\n {this.state.printInfoHeaderData.gatePassNumber}\r\n \r\n \r\n \r\n \r\n \"Laundrokart\"\r\n \r\n\r\n \r\n Date :\r\n {moment(this.state.printInfoHeaderData.gatePassDate).format(\r\n \"DD/MM/YYYY\"\r\n )}\r\n

\r\n Store Name :{this.state.printInfoHeaderData.storeName}\r\n

\r\n Store Address :{this.state.printInfoHeaderData.storeAddress}\r\n

\r\n Factory Name :{this.state.printInfoHeaderData.factoryName}\r\n

\r\n Created By : {this.state.printInfoHeaderData.userName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n S. No\r\n Split Order Id\r\n Delivery Type\r\n Number Of Garments\r\n Packed\r\n \r\n \r\n \r\n \r\n \r\n Order Lot Size\r\n Previously Sent\r\n Sending Today\r\n Pending\r\n Bag\r\n Hanger\r\n Blanket\r\n Shoe\r\n Carpet\r\n Curtain\r\n Roll\r\n \r\n \r\n {data}\r\n \r\n Total\r\n {this.state.totalMaterial.bag}\r\n {this.state.totalMaterial.hanger}\r\n {this.state.totalMaterial.blanket}\r\n {this.state.totalMaterial.shoe}\r\n {this.state.totalMaterial.carpet}\r\n {this.state.totalMaterial.curtain}\r\n {this.state.totalMaterial.roll}\r\n \r\n \r\n

\r\n\r\n {/* Added By Hasti */}\r\n\r\n \r\n \r\n \r\n Summary\r\n Bag - DC/SI\r\n Bag - Rest\r\n Hanger\r\n Blanket\r\n Shoe\r\n Carpet\r\n Curtain\r\n Roll\r\n \r\n \r\n \r\n \r\n Count\r\n {BagDCSIData}\r\n {BagRestData}\r\n {HangerData}\r\n {BlanketData}\r\n {ShoeData}\r\n {CarpetData}\r\n {CurtainData}\r\n {RollData}\r\n \r\n \r\n Check\r\n \r\n \r\n \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","import React from \"react\";\r\nimport GatePassList from \"../../../components/FactoryModule/GatePassList/factoryGatepassList.factory.component\";\r\n\r\nexport default class FactoryGatePassListScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass TransferInService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveStoreList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStoreList();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStoreOutGarmentsById(params) {\r\n const getStoreOutTagAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n getStoreOutTagAPI.createEntity({\r\n name: this.endpoint.GET_STORE_OUT_GARMENTS_BY_ID,\r\n });\r\n let storeOutTag = [];\r\n await getStoreOutTagAPI.endpoints[\r\n this.endpoint.GET_STORE_OUT_GARMENTS_BY_ID\r\n ]\r\n .getAllPost(params)\r\n .then((response) => (storeOutTag = response.data))\r\n .catch((err) => {\r\n storeOutTag = this.common.handleError(err);\r\n });\r\n if (storeOutTag.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n storeOutTag = this.getStoreOutGarmentsById(params);\r\n });\r\n }\r\n return Promise.resolve(storeOutTag);\r\n }\r\n\r\n async getFactoryTransferInData(param) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.TRANSFER_IN_FACTORY });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.TRANSFER_IN_FACTORY]\r\n .getAllPost(param)\r\n .then((response) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getFactoryTransferInData(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getMissingGarments(param) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.FACTORY_MISSING_GARMENT });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.FACTORY_MISSING_GARMENT]\r\n .getAllPost(param)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getMissingGarments(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default TransferInService;\r\n","import React from \"react\";\r\nimport { SketchPicker } from \"react-color\";\r\n\r\nclass SketchExample extends React.Component {\r\n state = {\r\n displayColorPicker: false,\r\n color: {\r\n r: \"\",\r\n g: \"\",\r\n b: \"\",\r\n a: \"\",\r\n },\r\n };\r\n componentDidMount() {\r\n if (this.props.color !== null) {\r\n this.setState({ color: this.props.color });\r\n }\r\n }\r\n handleClick = () => {\r\n this.setState({ displayColorPicker: !this.state.displayColorPicker });\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({ displayColorPicker: false });\r\n };\r\n\r\n handleChange = (color) => {\r\n this.setState({ color: color.hex });\r\n if (this.props.onChange !== undefined) {\r\n this.props.onChange(color);\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.state.displayColorPicker ? (\r\n \r\n \r\n {this.props.disabled ? null : (\r\n \r\n )}\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SketchExample;\r\n","import React from \"react\";\r\nimport styles from \"./transfercomponent.module.css\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Tag,\r\n Table,\r\n Transfer as AntTransfer,\r\n Input,\r\n Popover,\r\n Select,\r\n Modal,\r\n Descriptions,\r\n Checkbox,\r\n} from \"antd\";\r\nimport InfoIcon from \"../../../images/Common/info.svg\";\r\nimport TransferInService from \"../../../services/factorytransferinservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport ColorPicker from \"../../Common/ColorPicker/colorpicker\";\r\nimport Common from \"../../../services/common\";\r\nimport Moment from \"moment\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nimport { labels } from \"../../../shared/language\";\r\n\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Option } = Select;\r\n\r\n// var data=[]\r\n// for (let i = 0; i <10; i++) {\r\n// data.push({\r\n// key: i.toString(),\r\n// title:`ID${i + 1}`,\r\n// });\r\n// }\r\n/**\r\n * This file holds the view of transfer in/out component\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 02 July 2020\r\n */\r\nexport default class TransferIn extends React.Component {\r\n TransferInService = new TransferInService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n /**\r\n * The state variable holds the different variables for different purpose\r\n *\r\n * @var targetKeys : the key/id of the elements on the right side, id provided in data source\r\n * @var selectedKeys : if want to check a few items by default\r\n */\r\n state = {\r\n scanBtnLoading: false,\r\n targetKeys: [],\r\n // selectedKeys: [],\r\n storeKeys: [],\r\n factoryKeys: [],\r\n\r\n transferInData: [],\r\n missingTagData: [],\r\n loading: true,\r\n TagNos: \"\",\r\n storeListOptions: [],\r\n selectedStore: \"\",\r\n storeOutTags: [],\r\n filteredTagsData: [],\r\n\r\n showInfoPopup: false,\r\n btnMissedTagEnable: true,\r\n SplitOrderNumber: \"\",\r\n EnteredLotSize: null,\r\n OpenLotSizeModal: false,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY_IN\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n this.getStoreList();\r\n // var targetTags =\r\n // localStorage.getItem(\"Tags\") === null\r\n // ? \"\"\r\n // : localStorage.getItem(\"Tags\").split(\",\");\r\n\r\n // this.setState({ targetKeys: targetTags });\r\n\r\n // var targetTags =\r\n // localStorage.getItem(\"SplitOrderNumbers\") === null\r\n // ? \"\"\r\n // : localStorage.getItem(\"SplitOrderNumbers\").split(\",\");\r\n\r\n // // console.log(\"targetTags->\", targetTags);\r\n // this.setState({ targetKeys: targetTags });\r\n }\r\n\r\n getStoreOutGarments = () => {\r\n if (this.state.selectedStore != \"\") {\r\n this.setState({ btnMissedTagEnable: false });\r\n }\r\n const params = {\r\n // storeID: parseInt(this.state.selectedStore),\r\n storeIDs: this.state.selectedStore,\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n };\r\n this.TransferInService.getStoreOutGarmentsById(params).then((response) => {\r\n if (response.statusCode === 200 && response.data.length > 0) {\r\n this.setState({ storeOutTags: response.data });\r\n } else {\r\n if (this.state.selectedStore != \"\") {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.TAGS_NOT_FOUND,\r\n });\r\n }\r\n this.setState({ storeOutTags: [], btnMissedTagEnable: true });\r\n }\r\n });\r\n };\r\n\r\n getStoreList = () => {\r\n this.TransferInService.retrieveStoreList().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ storeListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_STORE_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showInfoPopup: false });\r\n };\r\n\r\n /**\r\n * A function to handle change in the transfer component\r\n */\r\n handleChange = (nextTargetKeys, direction, moveKeys) => {\r\n this.setState({ targetKeys: nextTargetKeys });\r\n if (direction === \"right\") {\r\n // localStorage.setItem(\"Tags\", nextTargetKeys);\r\n localStorage.setItem(\"SplitOrderNumbers\", nextTargetKeys);\r\n }\r\n };\r\n\r\n /**\r\n * A function to handle change occured on selecting a single element\r\n *\r\n */\r\n handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {\r\n this.setState({\r\n storeKeys: [...sourceSelectedKeys],\r\n factoryKeys: [...targetSelectedKeys],\r\n });\r\n };\r\n\r\n /**\r\n * A function to render single item in transfer block\r\n * a single garment entry here\r\n * pass any number of variables in storedata and you can get it in item object\r\n */\r\n renderItem = (item) => {\r\n return (\r\n
\r\n \r\n {item.title}\r\n {/* - {item.description} */}\r\n \r\n \r\n {/**\r\n * Please find the documentation for Popover\r\n * https://ant.design/components/popover\r\n * https://ant.design/components/popover/#API\r\n */}\r\n \r\n e.stopPropagation()}\r\n />\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n Missingcolumns = [\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n },\r\n {\r\n title: labels.SPLIT_ORDER_NO,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n },\r\n {\r\n title: labels.MISSING_TAG_NOS,\r\n dataIndex: \"missingTagNos\",\r\n key: \"missingTagNos\",\r\n },\r\n ];\r\n\r\n getMissingGarments = () => {\r\n var currentDate = Moment().format(\"YYYY-MM-DD\");\r\n const params = {\r\n storeIDs: this.state.selectedStore,\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n factoryInTime: currentDate,\r\n };\r\n this.TransferInService.getMissingGarments(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n missingTagData: items.data,\r\n showInfoPopup: items.data.length > 0 ? true : false,\r\n selectedStore: \"\",\r\n btnMissedTagEnable: true,\r\n });\r\n if (items.data.length == 0 && this.state.selectedStore != \"\") {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.UNABLE_TO_GET_MISSING_TAG_DATA,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.UNABLE_TO_GET_MISSING_TAG_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n transferredIntoFactory = () => {\r\n // console.log(\"EnteredLotSize->\", this.state.EnteredLotSize);\r\n // console.log(\"targetKeys->\", this.state.targetKeys);\r\n // console.log(\"filteredTagsData->\", this.state.filteredTagsData);\r\n\r\n var tagNos = this.state.factoryKeys;\r\n var userId = jwt.decode(\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n ).unique_name;\r\n\r\n if (tagNos.length != 0) {\r\n const params = {\r\n tagNos: tagNos.toString(),\r\n userID: parseInt(userId),\r\n };\r\n this.setState({ scanBtnLoading: true });\r\n this.TransferInService.getFactoryTransferInData(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.TAGS_ARE_TRANSFERRED_IN_SUCCESSFULLY,\r\n });\r\n this.setState({\r\n transferInData: items.data,\r\n });\r\n if (this.state.transferInData.actionResult === \"Valid\") {\r\n this.setState({\r\n factoryKeys: [],\r\n targetKeys: [],\r\n // : \"\",\r\n btnMissedTagEnable: true,\r\n // TagNos: \"\",\r\n SplitOrderNumber: \"\",\r\n storeOutTags: [],\r\n });\r\n // localStorage.removeItem(\"Tags\");\r\n localStorage.removeItem(\"SplitOrderNumbers\");\r\n // this.getStoreOutGarments();\r\n this.getMissingGarments();\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.UNABLE_TO_SCAN_THE_TAG,\r\n });\r\n }\r\n this.setState({ scanBtnLoading: false });\r\n this.setState({ loading: false });\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.PLEASE_SELECT_FACTORY_TAG_NO_FOR_TRANSFERIN_PROCESS,\r\n });\r\n }\r\n };\r\n\r\n filterOption = (inputValue, option) => {\r\n return option.key.indexOf(inputValue) > -1;\r\n };\r\n\r\n searchStoreKeys = () => {\r\n // console.log(\"here\", this.state.storeOutTags);\r\n // var searchingTag = this.state.TagNos;\r\n var searchingSplitNumber = this.state.SplitOrderNumber;\r\n if (this.state.selectedStore != \"\") {\r\n if (searchingSplitNumber != \"\") {\r\n var filtereddata = [];\r\n\r\n // var filtereddata = this.state.storeOutTags.filter(\r\n // (items) => items.tagNo == searchingTag\r\n // );\r\n\r\n var filtereddata = this.state.storeOutTags.filter(\r\n (items) => items.splitOrderNumber == searchingSplitNumber\r\n );\r\n\r\n // console.log(\"filtereddata->\", filtereddata);\r\n\r\n if (filtereddata.length != 0) {\r\n this.setState({ filteredTagsData: filtereddata });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.ORDER_NOT_FOUND,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_ORDER,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_ORDER,\r\n });\r\n }\r\n };\r\n\r\n OnSubmitOrderLotSize = () => {\r\n var filtereddata = this.state.filteredTagsData;\r\n\r\n if (filtereddata[0].noOfGarment < parseInt(this.state.EnteredLotSize)) {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: \"Please Enter valid Lot Size.\",\r\n });\r\n } else if (\r\n filtereddata[0].noOfGarment > parseInt(this.state.EnteredLotSize)\r\n ) {\r\n this.setState({ OpenLotSizeModal: true });\r\n } else {\r\n this.handleOk();\r\n }\r\n };\r\n\r\n handleOk = () => {\r\n this.setState({ OpenLotSizeModal: false });\r\n\r\n var filtereddata = this.state.filteredTagsData;\r\n filtereddata[0].tempLotSize = this.state.EnteredLotSize;\r\n\r\n this.setState({ filteredTagsData: filtereddata });\r\n var searchingSplitNumber = this.state.SplitOrderNumber;\r\n var temparray = [];\r\n\r\n // for (let i = 0; i < filtereddata.length; i++) {\r\n // console.log(\"tempdata->\", tempdata);\r\n // console.log(\"data123->\", data1);\r\n // var tempdata = filtereddata[i].tagNo;\r\n // data1 = [...temparray, tempdata];\r\n // temparray = data1;\r\n // }\r\n\r\n if (!this.state.targetKeys.includes(searchingSplitNumber)) {\r\n\r\n var editarray = [];\r\n var temparray = this.state.targetKeys;\r\n var templen= this.state.EnteredLotSize;\r\n\r\n // console.log(\"templen\",templen);\r\n\r\n for (let i = 0; i < templen; i++) { \r\n var tempdata = filtereddata[i].tagNo;\r\n editarray = [...temparray, tempdata];\r\n temparray = editarray;\r\n }\r\n\r\n // console.log(\"editarray->\", editarray);\r\n if (editarray.length > 150) {\r\n // console.log(\"in if\");\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description:\r\n \"You have reached maximum clothes limit, pls marks factory in before proceeding further.\",\r\n });\r\n } else {\r\n // console.log(\"in else\");\r\n this.setState({ targetKeys: editarray });\r\n localStorage.setItem(\"SplitOrderNumbers\", editarray);\r\n // localStorage.setItem(\"Tags\", editarray);\r\n // this.setState({ TagNos: \"\" });\r\n this.setState({ SplitOrderNumber: \"\" });\r\n }\r\n this.setState({\r\n EnteredLotSize: null,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: labels.ORDER_ALREADY_SCANNED,\r\n });\r\n }\r\n };\r\n\r\n handleCancel = () => {\r\n // console.log(\"Clicked cancel button\");\r\n this.setState({ OpenLotSizeModal: false });\r\n };\r\n\r\n // searchStoreKeys1 = () => {\r\n // var searchingTag = this.state.TagNos;\r\n // if (this.state.selectedStore != \"\") {\r\n // if (searchingTag != \"\") {\r\n // var filtereddata = [];\r\n // var filtereddata = this.state.storeOutTags.filter(\r\n // (items) => items.tagNo == searchingTag\r\n // );\r\n // if (filtereddata.length != 0) {\r\n // this.setState({ filteredTagsData: filtereddata });\r\n // var data1 = filtereddata[0].tagNo;\r\n // if (!this.state.targetKeys.includes(searchingTag)) {\r\n // var editarray = [...this.state.targetKeys, data1];\r\n // // console.log(\"editarray->\", editarray);\r\n // if (editarray.length > 150) {\r\n // // console.log(\"in if\");\r\n // notification[\"error\"]({\r\n // message: labels.TRANSFER_IN,\r\n // description:\r\n // \"You have reached maximum clothes limit, pls marks factory in before proceeding further.\",\r\n // });\r\n // } else {\r\n // // console.log(\"in else\");\r\n // this.setState({ targetKeys: editarray });\r\n // localStorage.setItem(\"Tags\", editarray);\r\n // this.setState({ TagNos: \"\" });\r\n // }\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.TRANSFER_IN,\r\n // description: labels.TAG_ALREADY_SCANNED,\r\n // });\r\n // }\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.TRANSFER_IN,\r\n // description: labels.TAGS_NOT_FOUND,\r\n // });\r\n // }\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.TRANSFER_IN,\r\n // description: labels.PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG,\r\n // });\r\n // }\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.TRANSFER_IN,\r\n // description: labels.PLEASE_SELECT_STORE_BEFORE_SCANNING_THE_TAG,\r\n // });\r\n // }\r\n // };\r\n\r\n render() {\r\n const filteredTagsData = this.state.filteredTagsData;\r\n const { loading, TagNos } = this.state;\r\n\r\n const missingTagData = this.state.missingTagData;\r\n const listMissingData = missingTagData.map((item, index) => ({\r\n key: index,\r\n splitOrderNumber: item.splitOrderNumber,\r\n missingTagNos: item.missingTagNos,\r\n storeName: item.storeName,\r\n }));\r\n const storeOutTags = this.state.storeOutTags;\r\n // console.log(\"storeOutTags->\", storeOutTags);\r\n const listItems = storeOutTags.map((item, index) => ({\r\n key: item.tagNo,\r\n tagNo: item.tagNo,\r\n gatePassNo: item.gatePassNo,\r\n orderGarmentID: item.orderGarmentID,\r\n splitOrderNumber: item.splitOrderNumber,\r\n garmentName: item.garmentName,\r\n length: item.length,\r\n width: item.width,\r\n colorNames: item.colorNames,\r\n brandName: item.brandName,\r\n sizeName: item.sizeName,\r\n specialInstruction: item.specialInstruction,\r\n factoryInTime: item.factoryInTime,\r\n garmentStatusName: item.garmentStatusName,\r\n dyeingColors: item.dyeingColors,\r\n sequenceNumber: item.sequenceNumber,\r\n serviceName: item.serviceName,\r\n addOnServiceNames: item.addOnServiceNames,\r\n storeName: item.storeName,\r\n deliveryTypeName: item.deliveryTypeName,\r\n gatePassDate: item.gatePassDate,\r\n noOfGarment: item.noOfGarment,\r\n tempLotSize: item.tempLotSize,\r\n }));\r\n\r\n var data = [];\r\n for (let i = 0; i < listItems.length; i++) {\r\n data.push({\r\n key: listItems[i].tagNo,\r\n title: listItems[i].tagNo,\r\n // key: listItems[i].splitOrderNumber,\r\n // title:\r\n // listItems[i].tempLotSize != undefined\r\n // ? listItems[i].splitOrderNumber + \" -\" + listItems[i].tempLotSize\r\n // : listItems[i].splitOrderNumber,\r\n // description: `GatePassNo:${listItems[i].gatePassNo}`,\r\n store: (\r\n
\r\n

\r\n {labels.GATE_PASS_NO}:{listItems[i].gatePassNo}\r\n

\r\n

\r\n {labels.SPLIT_ORDER_NO}: {listItems[i].splitOrderNumber}\r\n

\r\n

\r\n {labels.GARMENT_NAME}: {listItems[i].garmentName}\r\n

\r\n

\r\n {labels.GARMENT_STATUS}: {listItems[i].garmentStatusName}\r\n

\r\n

\r\n {labels.BRAND} :{listItems[i].brandName}\r\n

\r\n

\r\n {labels.COLOR} :\r\n {listItems[i].colorNames === \"\" ? null : (\r\n \r\n )}\r\n

\r\n

\r\n {labels.STORE_NAME} :{listItems[i].storeName}\r\n

\r\n

\r\n {labels.STORE_OUT_DATE} :\r\n {Moment(listItems[i].gatePassDate).format(\"DD-MM-YYYY\")}\r\n

\r\n

\r\n {labels.DELIVERY_TYPE} :{listItems[i].deliveryTypeName}\r\n

\r\n
\r\n ),\r\n //disabled : true\r\n });\r\n }\r\n const allStoreArray = this.state.storeListOptions\r\n .map((store) => {\r\n return store.value;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n return (\r\n \r\n {/* {JSON.stringify(this.state.targetKeys)} */}\r\n #5687899}\r\n extra={[\r\n {\r\n this.setState(\r\n {\r\n selectedStore: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedStore !== \"\") {\r\n this.getStoreOutGarments();\r\n } else {\r\n this.setState({\r\n storeOutTags: [],\r\n btnMissedTagEnable: true,\r\n });\r\n }\r\n }\r\n );\r\n }}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n value={\r\n this.state.selectedStore === \"\"\r\n ? []\r\n : this.state.selectedStore.split(\",\")\r\n }\r\n >\r\n {this.state.storeListOptions.length !== 0\r\n ? this.state.storeListOptions.map((store) => {\r\n return store.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n ,\r\n
\r\n value === allStoreArray[index])\r\n }\r\n onChange={(e) => {\r\n if (e.target.checked) {\r\n let allOpt = this.state.storeListOptions\r\n .map((store) => {\r\n return store.value;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedStore: allOpt.join(\",\"),\r\n storeKeys: [],\r\n factoryKeys: [],\r\n // tagNos:\"\"\r\n },\r\n () => {\r\n if (this.state.selectedStore !== \"\") {\r\n this.getStoreOutGarments();\r\n } else {\r\n this.setState({\r\n storeOutTags: [],\r\n btnMissedTagEnable: true,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedStore: \"\",\r\n storeKeys: [],\r\n factoryKeys: [],\r\n // TagNos: \"\",\r\n SplitOrderNumber: \"\",\r\n },\r\n () => {\r\n if (this.state.selectedStore !== \"\") {\r\n this.getStoreOutGarments();\r\n } else {\r\n this.setState({\r\n storeOutTags: [],\r\n btnMissedTagEnable: true,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState(() => this.getMissingGarments());\r\n }}\r\n >\r\n {labels.GET_MISSING_GARMENTS}\r\n \r\n
,\r\n ]}\r\n />\r\n\r\n
\r\n {/**\r\n * Please go through the doc for transfer component from Ant Design\r\n * https://ant.design/components/transfer/\r\n * https://ant.design/components/transfer/#API\r\n */}\r\n \r\n\r\n \r\n \r\n \r\n {/**\r\n * Customized middle column\r\n */}\r\n
\r\n {/**\r\n * Search box in middle column\r\n * Please go through below documentation\r\n * https://ant.design/components/input/.\r\n * https://ant.design/components/input/#components-input-demo-search-input\r\n * https://ant.design/components/input/#components-input-demo-search-input-loading\r\n * https://ant.design/components/input/#API\r\n */}\r\n \r\n // this.setState({ TagNos: event.target.value })\r\n this.setState({ SplitOrderNumber: event.target.value })\r\n }\r\n onPressEnter={(event) => {\r\n this.setState(\r\n {\r\n // TagNos: event.target.defaultValue,\r\n SplitOrderNumber: event.target.defaultValue,\r\n },\r\n () => this.searchStoreKeys()\r\n );\r\n }}\r\n // onBlur={(event) => {\r\n // this.setState(\r\n // {\r\n // TagNos: event.target.defaultValue,\r\n // },\r\n // () => this.searchStoreKeys()\r\n // );\r\n // }}\r\n onSearch={(event) => {\r\n this.setState(\r\n {\r\n // TagNos: event,\r\n SplitOrderNumber: event,\r\n },\r\n () => this.searchStoreKeys()\r\n );\r\n }}\r\n suffix={}\r\n />\r\n\r\n {/**\r\n * a box displaying the search/scan status\r\n *\r\n * @todo may be we can add \"Ready to Scan\", \"Scan Finished\" states\r\n */}\r\n
\r\n {labels.SCANNING}...\r\n
\r\n\r\n {/**\r\n * A blue box that displays the details of the scanned item\r\n */}\r\n {![null, undefined, \"\"].includes(this.state.selectedStore)\r\n ? filteredTagsData.length != 0 && (\r\n // this.state.targetKeys.length != 0 ? (\r\n \r\n
\r\n \r\n {\" \"}\r\n {labels.SCANNED_ITEM}\r\n \r\n
\r\n\r\n
\r\n Store Name : {filteredTagsData[0].storeName}\r\n
\r\n\r\n
\r\n \r\n Order Id : {filteredTagsData[0].splitOrderNumber}\r\n \r\n
\r\n\r\n
\r\n
Total Lot Size :
\r\n
\r\n \r\n this.setState({\r\n EnteredLotSize: event.target.value,\r\n })\r\n }\r\n />\r\n
\r\n
\r\n \r\n {\r\n this.OnSubmitOrderLotSize();\r\n }}\r\n >\r\n SUBMIT\r\n \r\n
\r\n
\r\n )\r\n : // ) : null\r\n null}\r\n {/* {![null, undefined, \"\"].includes(this.state.selectedStore) ? (\r\n filteredTagsData.length != 0 &&\r\n this.state.targetKeys.length != 0 ? (\r\n \r\n
\r\n \r\n {\" \"}\r\n {labels.SCANNED_ITEM}\r\n \r\n \r\n {filteredTagsData[0].tagNo}\r\n \r\n
\r\n
\r\n {filteredTagsData[0].garmentName}\r\n
\r\n
\r\n \r\n {labels.SPLIT_ORDER_NO} #\r\n {filteredTagsData[0].splitOrderNumber}\r\n \r\n \r\n \r\n

\r\n {labels.GARMENT_STATUS}:{\" \"}\r\n {filteredTagsData[0].garmentStatusName}\r\n

\r\n

\r\n {labels.SERVICE}:{\" \"}\r\n {filteredTagsData[0].serviceName}\r\n

\r\n

\r\n {labels.ADDON_SERVICE}:{\" \"}\r\n {filteredTagsData[0].addOnServiceNames}\r\n

\r\n

\r\n {labels.DELIVERY_TYPE}:{\" \"}\r\n {filteredTagsData[0].deliveryTypeName}\r\n

\r\n

\r\n {labels.COLOR}: {filteredTagsData[0].colorNames}\r\n

\r\n

\r\n {labels.BRAND}: {filteredTagsData[0].brandName}\r\n

\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n {filteredTagsData[0].customerName}\r\n \r\n \r\n

\r\n {labels.CUSTOMER_TYPE}:{\" \"}\r\n {filteredTagsData[0].customerTypeName}\r\n

\r\n

\r\n {labels.CONTACT_NO}:{\" \"}\r\n {filteredTagsData[0].customerContactNo}\r\n

\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n {filteredTagsData[0].rewashReason}\r\n
\r\n \r\n \r\n ) : null\r\n ) : null} */}\r\n \r\n\r\n {this.state.filteredTagsData.length != 0 ? (\r\n this.handleOk()}\r\n // confirmLoading={()=>confirmLoading()}\r\n onCancel={() => this.handleCancel()}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\r\n
\r\n Actual size is {this.state.filteredTagsData[0].noOfGarment} and\r\n you are entering {this.state.EnteredLotSize} garments.\r\n
\r\n \r\n ) : null}\r\n\r\n {/* {JSON.stringify(this.state.factoryKeys)} */}\r\n
\r\n \r\n {labels.SCAN_COMPLETE}\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport TransferIn from \"../../../components/FactoryModule/TransferIn/transferin.factory.component\";\r\n\r\n/**\r\n * This file holds the view of Transfer In screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 11 June 2020\r\n */\r\nexport default class TransferInScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n// import styles from \"./transferoutmasterscreen.module.css\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\n// import Filters from \"../../Common/Filters/filters\";\r\n// import TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Select,\r\n Table,\r\n Input,\r\n // Modal,\r\n // Descriptions,\r\n notification,\r\n} from \"antd\";\r\nimport TransferOutService from \"../../../services/factorytransferoutservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport moment from \"moment\";\r\nimport Logo from \"../../../images/Common/Logo.png\";\r\nimport html2pdf from \"html2pdf.js\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n// import { LabelList } from \"recharts\";\r\n\r\nvar jwt = require(\"jsonwebtoken\");\r\nconst { Option } = Select;\r\nconst { Search } = Input;\r\n\r\nexport default class Master extends React.Component {\r\n TransferOutService = new TransferOutService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n state = {\r\n generateBtnLoading: false,\r\n tableLoading: false,\r\n showInfoPopup: false,\r\n storeListOptions: [],\r\n selectedStore: \"\",\r\n rowselectedvalue: \"\",\r\n storeOutStickerData: [],\r\n loading: true,\r\n isStickerDataLoaded: false,\r\n printInfoHeaderData: {},\r\n printInfoRowData: [],\r\n totalMaterial: {},\r\n serviceWiseData: [],\r\n isPDFDataLoaded: false,\r\n gatePassNum: \"\",\r\n isReprintDisable: true,\r\n selectedRowKeys: [],\r\n selectedSplitOrders: [],\r\n Msgcounter: 0,\r\n enableSearchBox: true,\r\n disableGatePassbtn: true,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.STICKER_NO,\r\n dataIndex: \"stickerID\",\r\n key: \"stickerID\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SPLLIT_ORDER_NO,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER_NAME,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER_TYPE,\r\n dataIndex: \"customerTypeName\",\r\n key: \"customerTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PACKED_GARMENTS,\r\n dataIndex: \"packedGarments\",\r\n key: \"packedGarments\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PACKING_MATERIAL_NAME,\r\n dataIndex: \"packingMaterialName\",\r\n key: \"packingMaterialName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n // {\r\n // title: \"total\",\r\n // dataIndex: \"total\",\r\n // key: \"total\",\r\n // },\r\n ,\r\n ];\r\n componentDidMount() {\r\n this.getStoreList();\r\n }\r\n\r\n resetData = () => {\r\n this.setState({\r\n selectedRowKeys: \"\",\r\n selectedStore: \"\",\r\n isStickerDataLoaded: false,\r\n });\r\n };\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n // onChange: (selectedRowKeys, selectedRows) => {\r\n // let selectedSplitOrders = selectedRows.map((x) => x.splitOrderNumber);\r\n // let selectedStickers = this.state.storeOutStickerData\r\n // .filter((x) => selectedSplitOrders.includes(x.splitOrderNumber))\r\n // .map((x) => x.stickerID);\r\n // console.log(selectedStickers);\r\n // this.setState({ selectedRowKeys: selectedStickers });\r\n // },\r\n onSelect: (record, selected, selectedRows, nativeEvent) => {\r\n if (selected) {\r\n let selectedSplitOrders = [...this.state.selectedSplitOrders];\r\n selectedSplitOrders.push(record.splitOrderNumber);\r\n this.setState({ selectedSplitOrders: selectedSplitOrders });\r\n let selectedStickers = this.state.storeOutStickerData\r\n .filter((x) => selectedSplitOrders.includes(x.splitOrderNumber))\r\n .map((x) => x.stickerID);\r\n this.setState({\r\n selectedRowKeys: selectedStickers,\r\n });\r\n } else {\r\n let selectedSplitOrders = [...this.state.selectedSplitOrders];\r\n selectedSplitOrders = selectedSplitOrders.filter(\r\n (x) => x !== record.splitOrderNumber\r\n );\r\n this.setState({ selectedSplitOrders: selectedSplitOrders });\r\n let selectedStickers = this.state.storeOutStickerData\r\n .filter((x) => selectedSplitOrders.includes(x.splitOrderNumber))\r\n .map((x) => x.stickerID);\r\n this.setState({\r\n selectedRowKeys: selectedStickers,\r\n });\r\n }\r\n },\r\n onSelectAll: (selected) => {\r\n if (selected) {\r\n let selectedStickers = this.state.storeOutStickerData.map(\r\n (x) => x.stickerID\r\n );\r\n this.setState({ selectedRowKeys: selectedStickers });\r\n } else {\r\n this.setState({ selectedRowKeys: [] });\r\n }\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n /**\r\n * Data to be displayed in table\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n *\r\n */\r\n\r\n /**\r\n * Generating dummy rows to implement pagination\r\n */\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY_OUT\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n generatePDFGatePass = () => {\r\n this.TransferOutService.getPDFGatePass(this.state.gatePassNum).then(\r\n (res) => {\r\n console.log(\"res->\", res);\r\n this.setState(\r\n {\r\n printInfoHeaderData: res.data.objVMFactoryPrintGatePassHeaderData,\r\n printInfoRowData: res.data.lstVMFactoryPrintGatePassRowData,\r\n totalMaterial: res.data.totalMaterial,\r\n servicewisedata: res.data.servicewisedata,\r\n\r\n isPDFDataLoaded: true,\r\n },\r\n () => {\r\n var opt = {\r\n margin: 1,\r\n filename: \"FactoryGatePass.pdf\",\r\n jsPDF: { format: \"a4\", orientation: \"portrait\" },\r\n pagebreak: { mode: [\"css\", \"legacy\"], avoid: \"tr\" },\r\n html2canvas: {\r\n dpi: 192,\r\n scale: 4,\r\n },\r\n };\r\n html2pdf().set(opt).from(this.element.current).save();\r\n }\r\n );\r\n this.setState(\r\n {\r\n selectedStore: \"\",\r\n rowselectedvalue: \"\",\r\n storeOutStickerData: [],\r\n tableLoading: false,\r\n selectedRowKeys: [],\r\n }\r\n // ,\r\n // () => this.getStickersToTransferOut()\r\n );\r\n }\r\n );\r\n };\r\n\r\n element = React.createRef();\r\n generateGatePass = () => {\r\n var userID = jwt.decode(\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n ).unique_name;\r\n\r\n let stickerIdList = \"\";\r\n for (let i = 0; i < this.state.storeOutStickerData.length; i++) {\r\n stickerIdList += this.state.storeOutStickerData[i].stickerID + \",\";\r\n }\r\n var stickerIDs = stickerIdList.substring(0, stickerIdList.length - 1);\r\n if (stickerIDs != \"\") {\r\n const params = {\r\n storeID: parseInt(this.state.selectedStore),\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n UserID: parseInt(userID),\r\n stickerIds: this.state.selectedRowKeys.join(\",\"),\r\n };\r\n this.setState({ generateBtnLoading: true });\r\n this.TransferOutService.generateGatePass(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ selectedStore: null });\r\n notification[\"info\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: labels.GENERATING_GATE_PASS,\r\n duration: 1.0,\r\n onClose: () => {\r\n this.setState(\r\n { gatePassNum: items.data.gatePassNo, isReprintDisable: false },\r\n () => this.generatePDFGatePass()\r\n );\r\n },\r\n });\r\n }\r\n this.setState({ generateBtnLoading: false, disableGatePassbtn: true });\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: labels.PLEASE_SELECT_STICKERS,\r\n });\r\n }\r\n };\r\n\r\n getStoreList = () => {\r\n this.setState({ tableLoading: true });\r\n this.TransferOutService.retrieveStoreList().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ storeListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_STORE_DATA,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n getStickersToTransferOut = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n // const params = {\r\n // storeID: parseInt(this.state.selectedStore),\r\n // factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n // };\r\n this.setState({ tableLoading: true });\r\n\r\n if ([undefined, null, \"\"].includes(this.state.selectedStore)) return false;\r\n\r\n this.TransferOutService.getStickersToTransferOut(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n parseInt(this.state.selectedStore),\r\n parseInt(localStorage.getItem(\"branchID\"))\r\n ).then((response) => {\r\n // if (response.statusCode === 200 && response.data.length > 0) {\r\n if (response.statusCode === 200) {\r\n if (response.data.length === 0 && this.state.pagination.current !== 1) {\r\n this.setState(\r\n { pagination: { ...this.state.pagination, current: 1 } },\r\n () => {\r\n this.getStickersToTransferOut(\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n }\r\n );\r\n }\r\n if (response.data.length > 0) {\r\n this.setState({\r\n storeOutStickerData: response.data,\r\n isStickerDataLoaded: true,\r\n });\r\n let selectedStickers = this.state.storeOutStickerData\r\n .filter((x) =>\r\n this.state.selectedSplitOrders.includes(x.splitOrderNumber)\r\n )\r\n .map((x) => x.stickerID);\r\n selectedStickers.push(...this.state.selectedRowKeys);\r\n this.setState({\r\n // ...this.state.selectedRowKeys,\r\n selectedRowKeys: selectedStickers,\r\n });\r\n } else {\r\n if (this.state.Msgcounter === 0) {\r\n this.setState({ Msgcounter: this.state.Msgcounter + 1 });\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: labels.UNABLE_TO_GET_STICKERS_TO_TRANSFER_OUT,\r\n onClose: () => {\r\n this.setState({ Msgcounter: this.state.Msgcounter - 1 });\r\n },\r\n });\r\n }\r\n // }\r\n this.setState({ storeOutStickerData: [] });\r\n }\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: this.state.storeOutStickerData.length\r\n ? this.state.storeOutStickerData[0].totalRecords\r\n : 0,\r\n current: this.state.storeOutStickerData.length\r\n ? this.state.pagination.current\r\n : 1,\r\n },\r\n });\r\n }\r\n else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_OUT,\r\n description: this.common.Message(response.message)\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const storeOutStickerData = this.state.storeOutStickerData;\r\n const listItems = storeOutStickerData.map((item, index) => ({\r\n key: item.stickerID,\r\n stickerID: item.stickerID,\r\n splitOrderNumber: item.splitOrderNumber,\r\n customerName: item.customerName,\r\n customerTypeName: item.customerTypeName,\r\n packedGarments: item.packedGarments,\r\n packingMaterialID: item.packingMaterialID,\r\n packingMaterialName: item.packingMaterialName,\r\n deliveryType: item.deliveryType,\r\n deliveryDate: item.deliveryDate,\r\n totalRecords: item.totalRecords,\r\n }));\r\n let data = ;\r\n if (this.state.isPDFDataLoaded) {\r\n data = this.state.printInfoRowData.map((item, index) => {\r\n return (\r\n \r\n {item.id}\r\n {item.splitOrderNumber}\r\n {item.deliveryTypeName}\r\n {item.totalGarments}\r\n {item.previouslySentGarment}\r\n {item.sendingTodayGarments}\r\n {item.pendingGarments}\r\n {item.bag}\r\n {item.hanger}\r\n {item.blanket}\r\n {item.shoe}\r\n {item.carpet}\r\n {item.curtain}\r\n {item.roll}\r\n \r\n );\r\n });\r\n }\r\n\r\n let BagDCSIData = 0;\r\n let BagRestData = 0;\r\n let HangerData = 0;\r\n let BlanketData = 0;\r\n let ShoeData = 0;\r\n let CarpetData = 0;\r\n let CurtainData = 0;\r\n let RollData = 0;\r\n\r\n let Item = this.state.servicewisedata;\r\n if (this.state.isPDFDataLoaded) {\r\n for (let i = 0; i < Item.length; i++) {\r\n console.log(\"i->\", Item[i]);\r\n if (Item[i].packingMaterialID == 1) {\r\n if (Item[i].serviceID == 4 || Item[i].serviceID == 6) {\r\n BagDCSIData = BagDCSIData + Item[i].totalCounts;\r\n } else {\r\n BagRestData = BagRestData + Item[i].totalCounts;\r\n }\r\n } else if (Item[i].packingMaterialID == 2) {\r\n HangerData = HangerData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 3) {\r\n CurtainData = CurtainData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 4) {\r\n CarpetData = CarpetData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 5) {\r\n ShoeData = ShoeData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 6) {\r\n BlanketData = BlanketData + Item[i].totalCounts;\r\n } else if (Item[i].packingMaterialID == 7) {\r\n RollData = RollData + Item[i].totalCounts;\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getStickersToTransferOut(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n {\r\n this.setState(\r\n {\r\n selectedStore: event,\r\n },\r\n () =>\r\n ![null, undefined, \"\"].includes(event)\r\n ? this.getStickersToTransferOut(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n )\r\n : this.setState({\r\n storeOutStickerData: [],\r\n selectedStore: \"\",\r\n })\r\n );\r\n }}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.storeListOptions.length !== 0\r\n ? this.state.storeListOptions.map((store) => {\r\n return store.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n ,\r\n 0\r\n ? false\r\n : this.state.disableGatePassbtn\r\n }\r\n onClick={this.generateGatePass}\r\n loading={this.state.generateBtnLoading || this.state.tableLoading}\r\n >\r\n {labels.GENERATE_GATE_PASS}\r\n ,\r\n ]}\r\n />\r\n\r\n {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getStickersToTransferOut(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n {this.state.isPDFDataLoaded ? (\r\n
\r\n
\r\n \r\n \r\n \r\n {labels.FACTORY_GATE_PASS_NUMBER}\r\n {this.state.printInfoHeaderData.gatePassNumber}\r\n \r\n \r\n \r\n \r\n \"Laundrokart\"\r\n \r\n\r\n \r\n {labels.DATE}:\r\n {moment(this.state.printInfoHeaderData.gatePassDate).format(\r\n \"DD/MM/YYYY\"\r\n )}\r\n

\r\n {labels.STORE_NAME}:\r\n {this.state.printInfoHeaderData.storeName}\r\n

\r\n {labels.STORE_ADDRESS} :\r\n {this.state.printInfoHeaderData.storeAddress}\r\n

\r\n {labels.FACTORY_NAME}:\r\n {this.state.printInfoHeaderData.factoryName}\r\n

\r\n {labels.CREATED_BY}:{\" \"}\r\n {this.state.printInfoHeaderData.userName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.S_NO}\r\n {labels.SPLIT_ORDER_ID}\r\n {labels.DELIVERY_TYPE}\r\n {labels.NUMBER_OF_GARMENTS}\r\n {labels.PACKED}\r\n \r\n \r\n \r\n \r\n \r\n {labels.ORDER_LOT_SIZE}\r\n {labels.PREVIOUSLY_SENT}\r\n {labels.SENDING_TODAY}\r\n {labels.PENDING}\r\n {labels.BAG}\r\n {labels.HANGER}\r\n {labels.BLANKET}\r\n {labels.SHOE}\r\n {labels.CARPET}\r\n {labels.CURTAIN}\r\n {labels.ROLL}\r\n \r\n \r\n {data}\r\n \r\n Total\r\n {this.state.totalMaterial.bag}\r\n {this.state.totalMaterial.hanger}\r\n {this.state.totalMaterial.blanket}\r\n {this.state.totalMaterial.shoe}\r\n {this.state.totalMaterial.carpet}\r\n {this.state.totalMaterial.curtain}\r\n {this.state.totalMaterial.roll}\r\n \r\n \r\n

\r\n\r\n \r\n \r\n \r\n Summary\r\n Bag - DC/SI\r\n Bag - Rest\r\n Hanger\r\n Blanket\r\n Shoe\r\n Carpet\r\n Curtain\r\n Roll\r\n \r\n \r\n \r\n \r\n Count\r\n {BagDCSIData}\r\n {BagRestData}\r\n {HangerData}\r\n {BlanketData}\r\n {ShoeData}\r\n {CarpetData}\r\n {CurtainData}\r\n {RollData}\r\n \r\n \r\n Check\r\n \r\n \r\n \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","import React from \"react\";\r\nimport TransferOut from \"../../../components/FactoryModule/TransferOut/transferout.factory.component\";\r\n\r\n/**\r\n * This file holds the view of Transfer In screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 11 June 2020\r\n */\r\nexport default class TransferOutScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\nimport moment from \"moment\";\r\n\r\nclass FactoryInventory {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getFactoryGarmentInventoryById(\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null,\r\n factoryID = null,\r\n IsPackagingDue = null,\r\n ServiceID = 0,\r\n DeliveryFromDate = null,\r\n DeliveryToDate = null\r\n ) {\r\n const inventoryApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n inventoryApi.createEntity({\r\n name: this.endpoint.FACTORY_GARMENT_INVENTORY,\r\n });\r\n let inventory = [];\r\n let payload = {\r\n factoryID: factoryID,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n IsPackagingDue: IsPackagingDue,\r\n ServiceID: parseInt(ServiceID),\r\n DeliveryFromDate:\r\n DeliveryFromDate != null\r\n ? moment(DeliveryFromDate).format(\"YYYY-MM-DD\")\r\n : null,\r\n DeliveryToDate:\r\n DeliveryToDate != null\r\n ? moment(DeliveryToDate).format(\"YYYY-MM-DD\")\r\n : null,\r\n };\r\n\r\n await inventoryApi.endpoints[this.endpoint.FACTORY_GARMENT_INVENTORY]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n inventory = response.data;\r\n })\r\n .catch((err) => {\r\n inventory = this.common.handleError(err);\r\n });\r\n if (inventory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n inventory = this.getFactoryGarmentInventoryById(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n factoryID\r\n );\r\n });\r\n }\r\n return Promise.resolve(inventory);\r\n }\r\n\r\n async UpdateDeliveryDate(postData) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.UPDATE_DELIVERY_DATE });\r\n let itemArray = [];\r\n await myApi.endpoints.UpdateDeliveryDate.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.UpdateDeliveryDate(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getFactoryInventorySummary(params) {\r\n const inventoryApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n inventoryApi.createEntity({\r\n name: this.endpoint.GET_INVENTORY_SUMMARY,\r\n });\r\n let inventory = [];\r\n\r\n await inventoryApi.endpoints[this.endpoint.GET_INVENTORY_SUMMARY]\r\n .getAllPost(params)\r\n .then((response) => {\r\n inventory = response.data;\r\n })\r\n .catch((err) => {\r\n inventory = this.common.handleError(err);\r\n });\r\n if (inventory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n inventory = this.getFactoryGarmentInventoryById(params);\r\n });\r\n }\r\n return Promise.resolve(inventory);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default FactoryInventory;\r\n","import React from \"react\";\r\nimport styles from \"./factoryinventory.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\n// import TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n Row,\r\n Col,\r\n Form,\r\n notification,\r\n Checkbox,\r\n Space,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ROUTES from \"../../../routes\";\r\nimport { Link, useLocation, withRouter } from \"react-router-dom\";\r\nimport {\r\n faChevronUp,\r\n faFileExcel,\r\n faInfo,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport FactoryInventory from \"../../../services/factoryinventoryservice\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport ReactExport from \"react-export-excel\";\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Option } = Select;\r\nconst { Search } = Input;\r\nconst todate = new Date();\r\nclass Master extends React.Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n inventoryService = new FactoryInventory();\r\n common = new Common();\r\n state = {\r\n IsPackagingDue: 0,\r\n showInfoPopup: false,\r\n inventoryData: [],\r\n loading: true,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n SplitOrderNumber: \"\",\r\n OldDeliveryDate: Moment(),\r\n deliverydate: Moment(),\r\n modalLoading: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n excelFile: ,\r\n excelButtonLoading: false,\r\n deliveryFromDate: Moment(),\r\n deliveryToDate: Moment(),\r\n serviceID: null,\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER_NUMBER,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryTypeName\",\r\n key: \"deliveryTypeName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.ORDER_DATE,\r\n dataIndex: \"orderDate\",\r\n key: \"orderDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.FACTORY_IN_DATE,\r\n dataIndex: \"factoryInTime\",\r\n key: \"factoryInTime\",\r\n sorter: true,\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.LOT_SIZE,\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENTS_FACTORY_IN,\r\n dataIndex: \"noofgarmentsFactoryIn\",\r\n key: \"noofgarmentsFactoryIn\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENTS_MISSING,\r\n dataIndex: \"noofgarmentsMissing\",\r\n key: \"noofgarmentsMissing\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SERVICE,\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n sorter: true,\r\n render: (text, record) => {\r\n // console.log(\"record->\",record)\r\n return [null, undefined, \"\"].includes(text) ? undefined : Moment(\r\n text\r\n ).format(\"YYYY-MM-DD\") <= Moment(todate).format(\"YYYY-MM-DD\") ? (\r\n \r\n \r\n \r\n \r\n this.setState({\r\n showInfoPopup: true,\r\n OldDeliveryDate: Moment(text).format(\"YYYY-MM-DD\"),\r\n SplitOrderNumber: record.splitOrderNumber,\r\n })\r\n }\r\n >\r\n {Moment(text).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n \r\n ) : (\r\n // console.log(\"date->\", Moment(text).format(\"YYYY-MM-DD\"), Moment(todate))\r\n Moment(text).format(\"DD-MM-YYYY\")\r\n );\r\n },\r\n },\r\n\r\n {\r\n title: labels.GARMENTS_AT_QC,\r\n dataIndex: \"noofgarmentsatQC\",\r\n key: \"noofgarmentsatQC\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.MISSING,\r\n dataIndex: \"missing\",\r\n key: \"missing\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DAMAGE,\r\n dataIndex: \"damage\",\r\n key: \"damage\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.FACTORY_OUT,\r\n dataIndex: \"factoryOutGarments\",\r\n key: \"factoryOutGarments\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.PACKED,\r\n dataIndex: \"noofPackedgarments\",\r\n key: \"noofPackedgarments\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.PACKING_DUE,\r\n dataIndex: \"balancedGarments\",\r\n key: \"balancedGarments\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORECODE,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.FACTORY_GARMENT_INVENTORY\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showInfoPopup: false });\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showInfoPopup: false });\r\n var postData = {\r\n OldDeliveryDate: this.state.OldDeliveryDate,\r\n NewDeliveryDate: Moment(this.state.deliverydate).format(\"yyyy-MM-DD\"),\r\n SplitOrderNumber: this.state.SplitOrderNumber,\r\n };\r\n\r\n this.inventoryService.UpdateDeliveryDate(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: \"Factory Inventory\",\r\n description: items.message,\r\n });\r\n this.setState({ showInfoPopup: false });\r\n this.getFactoryGarmentInventory(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search,\r\n this.state.IsPackagingDue\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Factory Inventory\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ deliverydate: Moment() });\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n // if (this.props.location.state === undefined) {\r\n // console.log(\"in 1\")\r\n // this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n // }\r\n // if (\r\n // this.props.match.path ===\r\n // [ROUTES.FACTORY_GARMENT_INVENTORY, \":serviceID\"].join(\"/\")\r\n // ) {\r\n // console.log(\"here\")\r\n // // this.getInvoiceDetailFromSplitOrder();\r\n // // if (this.props.match.params.splitOrderID.split(\",\").length > 1) {\r\n // // this.setState({ mode: \"multiple\" });\r\n // // }\r\n // }\r\n console.log(\"test1->\", this.props.match);\r\n // if (this.props.match != undefined) {\r\n // this.setState({\r\n // serviceID: this.props.match.params.serviceID,\r\n // deliveryFromDate: this.props.match.params.deliveryFromDate,\r\n // deliveryToDate: this.props.match.params.deliveryToDate,\r\n // });\r\n // }\r\n // else{\r\n // this.setState({\r\n // serviceID: this.props.match.params.serviceID,\r\n // deliveryFromDate: this.props.match.params.deliveryFromDate,\r\n // deliveryToDate: this.props.match.params.deliveryToDate,\r\n // });\r\n // }\r\n // console.log(\r\n // \"param->\",\r\n // this.props.match.params.serviceID,\r\n // this.props.match.params.deliveryFromDate,\r\n // this.props.match.params.deliveryToDate\r\n // );\r\n this.getFactoryGarmentInventory(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search,\r\n this.state.IsPackagingDue,\r\n // this.props.match.params.serviceID,\r\n // this.props.match.params.deliveryFromDate,\r\n // this.props.match.params.deliveryToDate\r\n );\r\n }\r\n\r\n getFactoryGarmentInventory = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search,\r\n IsPackagingDue\r\n ) => {\r\n this.setState({ loading: true });\r\n\r\n this.inventoryService\r\n .getFactoryGarmentInventoryById(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n parseInt(localStorage.getItem(\"branchID\")),\r\n IsPackagingDue,\r\n this.props.match.params.serviceID,\r\n this.props.match.params.deliveryFromDate,\r\n this.props.match.params.deliveryToDate\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n { pagination: { ...this.state.pagination, current: 1 } },\r\n () => {\r\n this.getFactoryGarmentInventory(\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n IsPackagingDue\r\n );\r\n }\r\n );\r\n }\r\n this.setState({ inventoryData: response.data });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: this.state.inventoryData.length\r\n ? this.state.inventoryData[0].totalRecords\r\n : 0,\r\n current: this.state.inventoryData.length\r\n ? this.state.pagination.current\r\n : 1,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVENTORY,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n generateExcel = () => {\r\n if (this.state.inventoryData.length > 0) {\r\n this.setState({ excelButtonLoading: true });\r\n let totalRecords = this.state.inventoryData[0].totalRecords;\r\n this.inventoryService\r\n .getFactoryGarmentInventoryById(\r\n 1,\r\n totalRecords,\r\n null,\r\n null,\r\n null,\r\n parseInt(localStorage.getItem(\"branchID\")),\r\n parseInt(this.state.IsPackagingDue)\r\n // this.ServiceItem.retrieveItems({\r\n // serviceID: null,\r\n // pageIndex: 1,\r\n // pageSize: totalRecords,\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.splitOrderNumber;\r\n singleData.orderDate = [null, undefined, \"\"].includes(\r\n singleData.orderDate\r\n )\r\n ? undefined\r\n : Moment(singleData.orderDate).format(\"DD-MM-YYYY\");\r\n singleData.factoryInTime = Moment(\r\n singleData.factoryInTime\r\n ).format(\"DD-MM-YYYY\");\r\n singleData.deliveryDate = [null, undefined, \"\"].includes(\r\n singleData.deliveryDate\r\n )\r\n ? undefined\r\n : Moment(singleData.deliveryDate).format(\"DD-MM-YYYY\");\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 excelFile: ,\r\n excelButtonLoading: false,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const inventoryData = this.state.inventoryData;\r\n\r\n const listItems = inventoryData.map((item) => ({\r\n splitOrderNumber: item.splitOrderNumber,\r\n orderDate: Moment(item.orderDate).format(\"YYYY/MM/DD\"),\r\n noOfGarment: item.noOfGarment,\r\n serviceName: item.serviceName,\r\n deliveryDate: item.deliveryDate\r\n ? Moment(item.deliveryDate).format(\"YYYY/MM/DD\")\r\n : null,\r\n deliveryTypeName: item.deliveryTypeName,\r\n noofgarmentsatQC: item.noofgarmentsatQC,\r\n missing: item.missing,\r\n damage: item.damage,\r\n noofPackedgarments: item.noofPackedgarments,\r\n factoryInTime: item.factoryInTime\r\n ? Moment(item.factoryInTime).format(\"YYYY/MM/DD\")\r\n : null,\r\n noofgarmentsFactoryIn: item.noofgarmentsFactoryIn,\r\n noofgarmentsMissing: item.noofgarmentsMissing,\r\n balancedGarments: item.balancedGarments,\r\n storeID: item.storeID,\r\n storeName: item.storeName,\r\n factoryOutGarments: item.factoryOutGarments,\r\n bgColor: item.bgColor,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n {\r\n if (e.target.checked) {\r\n this.setState({ IsPackagingDue: 1 });\r\n this.getFactoryGarmentInventory(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search,\r\n 1\r\n );\r\n } else {\r\n this.setState({ IsPackagingDue: 0 });\r\n this.getFactoryGarmentInventory(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search,\r\n 0\r\n );\r\n }\r\n }}\r\n >\r\n Completely Packed Orders{\" \"}\r\n ,\r\n\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getFactoryGarmentInventory(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase(),\r\n this.state.IsPackagingDue\r\n );\r\n }}\r\n />,\r\n {\r\n this.generateExcel();\r\n }}\r\n loading={this.state.excelButtonLoading}\r\n >\r\n {\" \"}\r\n Download Excel\r\n ,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {\r\n return {\r\n style: { background: record.bgColor },\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={this.state.pagination}\r\n loading={loading}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getFactoryGarmentInventory(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search,\r\n this.state.IsPackagingDue\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.handleDateChange(date, \"deliverydate\")\r\n }\r\n value={this.state.deliverydate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(Moment(), \"day\") ? true : false\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 \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(Master);\r\n","import React from \"react\";\r\nimport FactoryInventory from \"../../../components/FactoryModule/Inventory/inventory.factory.component\";\r\n\r\n/**\r\n * This file holds the view of Transfer In screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 11 June 2020\r\n */\r\nexport default class FactoryInventoryScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FactoryPreQC {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async GetPreQCRequestList(param) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.FACTORY_GET_PRE_QC_REQUEST_LIST });\r\n let states = [];\r\n // let param = {\r\n\r\n // }\r\n await stateListAPI.endpoints.FactoryGetPreQCRequestList.getAllPost(param)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.GetPreQCRequestList(param);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async GetGarmentDetailByTagNo(tagNo) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_GARMENT_DETAIL_BY_TAGNO,\r\n });\r\n let states = [];\r\n let param = \"?TagNo=\" + tagNo;\r\n await stateListAPI.endpoints[this.endpoint.GET_GARMENT_DETAIL_BY_TAGNO]\r\n .getOne(param, {})\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.GetGarmentDetailByTagNo(tagNo);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getQCInfoByTagNumber(tagNo, QCPendingFrom) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_LAST_QCINFO_BY_TAG_NO,\r\n });\r\n let states = [];\r\n let param = \"?TagNo=\" + tagNo + \"&QCPendingfrom=\" + QCPendingFrom;\r\n await stateListAPI.endpoints[this.endpoint.GET_LAST_QCINFO_BY_TAG_NO]\r\n .getOne(param, {})\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getQCInfoByTagNumber(tagNo, QCPendingFrom);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async OrderGarmentQCRequest(data) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ORDER_GARMENT_QC_REQUEST });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.ORDER_GARMENT_QC_REQUEST]\r\n .create(data)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.OrderGarmentQCRequest(data);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async GetQCHistoryByTagNo(id) {\r\n const getFactoryAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n getFactoryAPI.createEntity({ name: this.endpoint.GET_QC_HISTORY_BY_TAGNO });\r\n let factory = [];\r\n let idParams = {\r\n params: {\r\n TagNo: id,\r\n },\r\n };\r\n await getFactoryAPI.endpoints[this.endpoint.GET_QC_HISTORY_BY_TAGNO]\r\n .getAll(idParams)\r\n .then((response) => {\r\n factory = response.data;\r\n })\r\n .catch((err) => {\r\n factory = this.common.handleError(err);\r\n });\r\n if (factory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factory = this.GetQCHistoryByTagNo(id);\r\n });\r\n }\r\n return Promise.resolve(factory);\r\n }\r\n\r\n // async getAllFactories(\r\n // index = 0,\r\n // size = 0,\r\n // sortColumn = null,\r\n // sortOrder = null,\r\n // search = null\r\n // ) {\r\n // const allFactoriesAPI = new API({ url: this.config.ITEM_URL });\r\n // allFactoriesAPI.createEntity({ name: this.endpoint.GET_ALL_FACTORIES });\r\n // let factories = [];\r\n // let payload = {\r\n // factoryName: \"\",\r\n // shortName: \"\",\r\n // pageIndex: index,\r\n // pageSize: size,\r\n // sortColumn: sortColumn,\r\n // sortOrder: sortOrder,\r\n // commonSearch: search,\r\n // };\r\n // await allFactoriesAPI.endpoints[this.endpoint.GET_ALL_FACTORIES]\r\n // .getAllPost(payload)\r\n // .then((response) => {\r\n // factories = response.data;\r\n // })\r\n // .catch((error) => {\r\n // console.log(error);\r\n // });\r\n // return Promise.resolve(factories);\r\n // }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n // notification,\r\n Tooltip,\r\n // Popover,\r\n // Popconfirm,\r\n DatePicker,\r\n notification,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport FactoryPreQC from \"../../../services/factorypre-qc\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nimport Moment from \"moment\";\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nclass Master extends React.Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n factoryPreQC = new FactoryPreQC();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n orderFromDate: Moment(ONE_MONTHS_AGO),\r\n orderToDate: Moment(),\r\n showfilterBox: true,\r\n PreQCRequestList: [],\r\n qcStatus: 1,\r\n tableLoading: true,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY_PRE_QC\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.TAG,\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CONTACT,\r\n dataIndex: \"customerContactNumber\",\r\n key: \"customerContactNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENT,\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SPLIT_ORDER_NUMBER,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.QC_STATUS,\r\n dataIndex: \"finalQCStatusName\",\r\n key: \"finalQCStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {/* {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 componentDidMount() {\r\n // this.getCorporateList(\r\n // this.state.pagination.current,\r\n // this.state.pagination.pageSize\r\n // );\r\n this.GetPreQCRequestList();\r\n }\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value }, () =>\r\n this.GetPreQCRequestList()\r\n );\r\n };\r\n\r\n GetPreQCRequestList = () => {\r\n this.setState({ tableLoading: true });\r\n let param = {\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n FromOrderDate: Moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n ToOrderDate: Moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n qcStatus: this.state.qcStatus,\r\n tagNo: null,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n commonSearch: this.state.search === undefined ? null : this.state.search,\r\n };\r\n\r\n this.factoryPreQC.GetPreQCRequestList(param).then((res) => {\r\n if (res.statusCode === 200) {\r\n this.setState({\r\n PreQCRequestList: res.data,\r\n pagination: {\r\n ...this.state.pagination,\r\n total: res.data.length > 0 ? res.data[0].totalRecords : 0,\r\n },\r\n tableLoading: false,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description: res.message\r\n ? this.common.Message(res.message)\r\n : labels.UNABLE_TO_LOAD_PRE_QC_RESPONSES,\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => this.GetPreQCRequestList()\r\n );\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n ,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_PRE_QC_FACTORY,\r\n state: { tagNo: \"\" },\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n {labels.ADD_GARMENT_FOR_QC}\r\n \r\n ) : null,\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n this.GetPreQCRequestList()}\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n qcStatus:this.state.qcStatus\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n qcStatus: value,\r\n pagination: { ...this.state.pagination, current: 1 },\r\n },\r\n // () => this.GetPreQCRequestList()\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ,\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\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(Master);\r\n","import React from \"react\";\r\nimport PreQCFactoryComponent from \"../../../components/FactoryModule/PreQC/preqc.factory.component\";\r\n\r\nexport default class PreQCFactoryScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n notification,\r\n Modal,\r\n Descriptions,\r\n Upload,\r\n Table,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport FactoryPreQC from \"../../../../services/factorypre-qc\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport Common from \"../../../../services/common\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Moment from \"moment\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nimport { labels } from \"../../../../shared/language\";\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Option } = Select;\r\n/**\r\n * General form as a part of create factory screen\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n */\r\n\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nclass GeneralForm extends React.Component {\r\n /**\r\n * Initalizing Factory Service\r\n */\r\n factoryPreQC = new FactoryPreQC();\r\n commonReq = new Common();\r\n\r\n /**\r\n * Storing objects for dynamic controls\r\n \r\n *\r\n * @added 18 June 2020\r\n */\r\n state = {\r\n garmentLoaded: false,\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n tagNo: \"\",\r\n qcStatus: 1,\r\n qcReason: \"\",\r\n remark: \"\",\r\n fileList: [\r\n // {\r\n // uid: \"-1\",\r\n // name: \"image.png\",\r\n // status: \"done\",\r\n // url:\r\n // \"https://images.unsplash.com/photo-1549490349-8643362247b5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80\",\r\n // },\r\n // {\r\n // uid: \"-2\",\r\n // name: \"image.png\",\r\n // status: \"done\",\r\n // url:\r\n // \"https://images.unsplash.com/photo-1549490349-8643362247b5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80\",\r\n // },\r\n // {\r\n // uid: \"-5\",\r\n // name: \"image.png\",\r\n // status: \"error\",\r\n // },\r\n ],\r\n garMentData: [],\r\n garMentHistoryData: [],\r\n showAddPopup: false,\r\n statusDDL: [],\r\n reasonDDL: [],\r\n orderGarmentID: 0,\r\n mode: \"add\",\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.TIME,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY HH:mm a\");\r\n },\r\n },\r\n //{\r\n // title: 'CityID',\r\n // dataIndex: 'cityID',\r\n // key: 'cityID',\r\n // },\r\n {\r\n title: labels.QC_REASON,\r\n dataIndex: \"qcReason\",\r\n key: \"qcReason\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.QC_PENDING_FROM,\r\n dataIndex: \"qcPendingFrom\",\r\n key: \"qcPendingFrom\",\r\n //sorter: true,\r\n },\r\n {\r\n title: labels.QC_STATUS,\r\n dataIndex: \"qcStatus\",\r\n key: \"qcStatus\",\r\n // sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.GetQCStatus();\r\n this.GetQCResion();\r\n if (\r\n [ROUTES.VIEW_PRE_QC_FACTORY, \":tagNo\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState(\r\n { tagNo: this.props.match.params.tagNo, mode: \"view\" },\r\n () => this.GetGarmentInfo()\r\n );\r\n }\r\n }\r\n\r\n getBase64 = (file) => {\r\n return 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\n handleCancel = () => this.setState({ previewVisible: false });\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n handleChange = (info) => {\r\n if (info.fileList.length > 3) {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description: labels.ONLY_3_IMAGES_ARE_ALLOWED,\r\n });\r\n return false;\r\n }\r\n // if (this.state.fileList.length > 4) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"\",\r\n // \"File upload should be three or less then three.\"\r\n // );\r\n // return false\r\n // }\r\n\r\n for (var i = 0; i < info.fileList.length; i++) {\r\n if (info.fileList[i] !== undefined) {\r\n const isJpgOrPng =\r\n info.fileList[i].type === \"image/jpeg\" ||\r\n info.fileList[i].type === \"image/png\" ||\r\n info.fileList[i].type === \"image/jpg\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description: labels.YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE,\r\n });\r\n // this.setState({ fileList: [] });\r\n\r\n info.fileList[i] = undefined;\r\n }\r\n let isLt3M = false;\r\n if (info.fileList[i] !== undefined) {\r\n isLt3M = info.fileList[i].size / 1024 / 1024 < 5;\r\n if (!isLt3M) {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description: labels.IMAGE_MUST_BE_SMALLER_THAN_5_MB,\r\n });\r\n // this.setState({ fileList: [] });\r\n info.fileList[i] = undefined;\r\n }\r\n }\r\n if (isJpgOrPng && isLt3M) {\r\n info.fileList[i].status = \"done\";\r\n }\r\n }\r\n }\r\n info.fileList = info.fileList.filter((x) => x != undefined);\r\n this.setState({ fileList: info.fileList });\r\n };\r\n\r\n onChange = (name, e) => {\r\n this.setState({ [name]: e.target.value });\r\n };\r\n\r\n onChangeDDL = (name, e) => {\r\n this.setState({ [name]: e });\r\n };\r\n\r\n handleAdd = () => {\r\n var d = this.state.fileList;\r\n const formData = new FormData();\r\n formData.append(\r\n \"QCImage1\",\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n formData.append(\"OrderGarmentID\", this.state.orderGarmentID);\r\n formData.append(\"QCStatus\", this.state.qcStatus);\r\n formData.append(\"QCReason\", this.state.qcReason.toString());\r\n formData.append(\r\n \"UserID\",\r\n parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n )\r\n );\r\n formData.append(\r\n \"QCImage2\",\r\n this.state.fileList.length > 1\r\n ? this.state.fileList[1].originFileObj\r\n : null\r\n );\r\n formData.append(\r\n \"QCImage3\",\r\n this.state.fileList.length > 2\r\n ? this.state.fileList[2].originFileObj\r\n : null\r\n );\r\n formData.append(\"QCPendingFrom\", 1);\r\n formData.append(\"Remark\", this.state.remark);\r\n\r\n this.factoryPreQC.OrderGarmentQCRequest(formData).then((res) => {\r\n if (res.result == \"Success\") {\r\n this.setState({\r\n orderGarmentID: [],\r\n fileList: [],\r\n remark: \"\",\r\n qcStatus: \"\",\r\n qcReason: 0,\r\n });\r\n notification[\"success\"]({\r\n message: labels.PRE_QC,\r\n description: res.message\r\n ? this.commonReq.Message(res.message)\r\n : labels.DATA_IS_SUCCESSFULLY_SAVED,\r\n duration: 1.5,\r\n });\r\n this.props.backFunction();\r\n }\r\n });\r\n };\r\n GetGarmentInfo = () => {\r\n if (![null, undefined, \"\"].includes(this.state.tagNo)) {\r\n this.factoryPreQC\r\n .GetGarmentDetailByTagNo(this.state.tagNo)\r\n .then((items) => {\r\n if (items.data.length > 0) {\r\n if (this.state.mode === \"add\") {\r\n if ([4, 6, 7].includes(parseInt(items.data[0].garmentStatus))) {\r\n //debugger;\r\n if ([1, 2, 3, 4].includes(items.data[0].postQCStatus)) {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description:\r\n labels.GARMENT_PROCEEDED_FURTHER_FOR_POST_PROCESS,\r\n });\r\n return;\r\n }\r\n this.setState({\r\n garMentData: items.data,\r\n garmentLoaded: true,\r\n orderGarmentID:\r\n items.data.length > 0 ? items.data[0].orderGarmentID : 0,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description:\r\n labels.GARMENT_SHOULD_BE_INFACTORY_TO_BE_ADDED_FOR_QC,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n garMentData: items.data,\r\n garmentLoaded: true,\r\n orderGarmentID:\r\n items.data.length > 0 ? items.data[0].orderGarmentID : 0,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PRE_QC,\r\n description: labels.UNABLE_TO_GET_TAG_DATA,\r\n });\r\n this.setState({\r\n garmentLoaded: false,\r\n garMentData: [],\r\n orderGarmentID: 0,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n garmentLoaded: false,\r\n garMentData: [],\r\n orderGarmentID: 0,\r\n });\r\n }\r\n };\r\n\r\n GetQCHistoryByTagNo = () => {\r\n this.setState({ showAddPopup: true });\r\n this.factoryPreQC.GetQCHistoryByTagNo(this.state.tagNo).then((items) => {\r\n let HistoryData = [];\r\n items.data.map((singleData) => {\r\n singleData.key = singleData.orderGarmentID;\r\n singleData.qcPendingFrom = [\"Approved\", \"Rejected\"].includes(\r\n singleData.qcStatus\r\n )\r\n ? \"\"\r\n : singleData.qcPendingFrom;\r\n\r\n HistoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({\r\n garMentHistoryData: HistoryData,\r\n });\r\n });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n // this.resetFields();\r\n };\r\n\r\n GetQCStatus = () => {\r\n this.commonReq.GetSystemEnums(\"FinalQCStatus\").then((res) => {\r\n this.setState({ statusDDL: res.data });\r\n });\r\n };\r\n GetQCResion = () => {\r\n this.commonReq.GetSystemEnums(\"PreQCReason\").then((res) => {\r\n this.setState({ reasonDDL: res.data });\r\n });\r\n };\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\r\n const { garMentData } = this.state;\r\n const uploadButton = (\r\n
\r\n \r\n
{labels.UPLOAD}
\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 Get Garment Info\r\n */}\r\n\r\n \r\n {labels.GET_GARMENT_HISTORY}\r\n \r\n
\r\n \r\n \r\n
\r\n {this.state.garmentLoaded && this.state.garMentData.length > 0 ? (\r\n \r\n \r\n {this.state.garMentData[0].customerName}\r\n \r\n \r\n {garMentData[0].customerType}\r\n \r\n \r\n {garMentData[0].customerContactNo}\r\n \r\n \r\n {Moment(garMentData[0].orderDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {garMentData[0].splitOrderNumber}\r\n \r\n \r\n {garMentData[0].gatePassNo}\r\n \r\n \r\n {Moment(garMentData[0].gatePassDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {garMentData[0].garmentName}\r\n \r\n \r\n {garMentData[0].garmentStatusName}\r\n \r\n \r\n {Moment(garMentData[0].deliveryDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {garMentData[0].garmentBrand}\r\n \r\n \r\n {garMentData[0].colorNames}\r\n \r\n \r\n {garMentData[0].serviceName}\r\n \r\n \r\n {garMentData[0].additionalServiceName}\r\n \r\n {/* {garMentData[0].uom} */}\r\n \r\n {garMentData[0].deliveryType}\r\n \r\n {this.props.mode === \"view\" ? (\r\n \r\n \r\n {this.props.values.qcImage1 !== \"\" &&\r\n this.props.values.qcImage1 !== null ? (\r\n \r\n Image 1\r\n \r\n ) : null}\r\n
\r\n {this.props.values.qcImage2 !== \"\" &&\r\n this.props.values.qcImage2 !== null ? (\r\n \r\n Image 2\r\n \r\n ) : null}\r\n
\r\n {this.props.values.qcImage3 !== \"\" &&\r\n this.props.values.qcImage3 !== null ? (\r\n \r\n Image 3\r\n \r\n ) : null}\r\n
\r\n
\r\n ) : null}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n this.setState({ qcStatus: value })}\r\n defaultActiveFirstOption\r\n >\r\n {this.state.statusDDL.length !== 0\r\n ? this.state.statusDDL.map((res) => {\r\n return res.enumDetailID !== \"-1\" ? (\r\n \r\n {res.enumDetailName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.reasonDDL.length !== 0\r\n ? this.state.reasonDDL.map((res) => {\r\n return res.enumDetailID !== \"-1\" ? (\r\n \r\n ) : null;\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 {this.props.mode !== \"view\" ? (\r\n \r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n {uploadButton}\r\n\r\n {/* {this.state.fileList.length >= 8 ? null : uploadButton} */}\r\n \r\n \r\n ) : null}\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {labels.CANCEL}\r\n \r\n {!disableAll ? (\r\n \r\n {labels.SUBMIT}\r\n \r\n ) : null}\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(GeneralForm);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport {\r\n Steps,\r\n PageHeader,\r\n Spin,\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n notification,\r\n // Radio,\r\n Descriptions,\r\n Upload,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./garment.addpreqcfactory\";\r\nimport FactoryPreQC from \"../../../../services/factorypre-qc\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport Common from \"../../../../services/common\";\r\n\r\nconst { Step } = Steps;\r\n\r\n/**\r\n * Add Factory Form as a part of Factory Master Module\r\n *\r\n * @author Niraj Gohel\r\n * @created 17 June 2020\r\n *\r\n * @module Master\r\n */\r\nclass AddFactory extends React.Component {\r\n factoryPreQCService = new FactoryPreQC();\r\n common = new Common();\r\n // corporateService = new CorporateService();\r\n /**\r\n * State Variables\r\n * @var factoryID : ID of factory 0 if this is to add factory\r\n * @var activeStep : holds active form step\r\n * @var stepDirection : holds direction of steps horizontal/vertical\r\n * @var stepSize : size of steps\r\n * @var generalFormValues : values submitted through generalForm\r\n * @var contactFormValues : values submitted through contactForm\r\n */\r\n state = {\r\n factoryID: 0,\r\n activeStep: 0,\r\n fullLoading: false,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n mode: \"add\",\r\n };\r\n /**\r\n * A function to responsively set direction of the steps\r\n */\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n /**\r\n * bind the setStepDirection to the resize event of windows\r\n */\r\n componentDidMount() {\r\n // if (\r\n // [ROUTES.EDIT_PRE_QC_FACTORY, \":tagNo\"].join(\"/\") === this.props.match.path\r\n // ) {\r\n // this.setState({ fullLoading: true });\r\n // this.setState({ mode: \"edit\" });\r\n // this.getQCInfoByTagNumber(this.props.match.params.tagNo);\r\n // } else\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.VIEW_PRE_QC_FACTORY, \":tagNo\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getQCInfoByTagNumber(this.props.location.state.tagNo);\r\n // this.getQCInfoByTagNumber(\"5s45002\");\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n setTimeout(() => {\r\n this.setState({ fullLoading: false });\r\n }, 1500);\r\n }\r\n\r\n getQCInfoByTagNumber = (tagNo) => {\r\n var QCPendingFrom = 0;\r\n this.factoryPreQCService\r\n .getQCInfoByTagNumber(tagNo, QCPendingFrom)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n // this.setState({ tagNo: response.data.tagNo });\r\n this.setState({\r\n generalFormValues: {\r\n qcStatus: response.data[0].qcStatusName,\r\n remark: response.data[0].remark,\r\n qcReason: parseInt(response.data[0].qcReason),\r\n qcImage1: response.data[0].qcImage1,\r\n qcImage2: response.data[0].qcImage2,\r\n qcImage3: response.data[0].qcImage3,\r\n // response.data.qcid,\r\n // response.data.qcReasonName,\r\n // response.data.orderGarmentID,\r\n // response.data.qcImage1,\r\n // response.data.qcImage2,\r\n // response.data.qcImage3,\r\n },\r\n });\r\n this.setState({ fullLoading: false });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_CORPORATE_DATA,\r\n description: labels.REDIRECTING,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateCorporate = () => {\r\n this.setState({ fullLoading: true });\r\n\r\n // this.corporateService.addUpdateCorporate(postData).then((response) => {\r\n // if (response.statusCode === 200) {\r\n // notification[\"success\"]({\r\n // message: \"Form Submitted\",\r\n // description: \"Redirecting....\",\r\n // duration: 1.5,\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n // });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: \"Unable to submit the form\",\r\n // });\r\n // }\r\n // });\r\n };\r\n generalForm = React.createRef();\r\n contactForm = React.createRef();\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n const contactValidator = this.contactForm.current.validateFields();\r\n Promise.allSettled([generalValidator, contactValidator]).then(\r\n (responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[1].status === \"rejected\") {\r\n this.setState({ activeStep: 1 });\r\n } else if (\r\n responses[0].status === \"fulfilled\" &&\r\n responses[1].status === \"fulfilled\"\r\n ) {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n contactFormValues: responses[1].value,\r\n },\r\n () => {\r\n this.addUpdateCorporate();\r\n }\r\n );\r\n }\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/* {JSON.stringify(this.state)} */}\r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? labels.EDIT\r\n : this.state.mode === \"view\"\r\n ? labels.VIEW\r\n : labels.ADD,\r\n labels.GARMENT_FOR_QC,\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n\r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n {/*
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Get Garment Info\r\n \r\n
\r\n \r\n \r\n
\r\n
*/}\r\n this.props.history.goBack()}\r\n nextFunction={() => this.setState({ activeStep: 1 })}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\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(AddFactory);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FactoryPostQC {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n async getLastQC(tagNo) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_LAST_POSTQC_INFO,\r\n });\r\n let states = [];\r\n let param = \"?TagNo=\" + tagNo;\r\n await stateListAPI.endpoints[this.endpoint.GET_LAST_POSTQC_INFO]\r\n .getOne(param, {})\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getLastQC(tagNo);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getResponseList(param) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_POST_QC_LIST }); //var change\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_POST_QC_LIST]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getResponseList(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetGarmentDetailByTagNo(tagNo) {\r\n const stateListAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_GARMENT_DETAIL_BY_TAGNO,\r\n });\r\n let states = [];\r\n let param = \"?TagNo=\" + tagNo;\r\n await stateListAPI.endpoints[this.endpoint.GET_GARMENT_DETAIL_BY_TAGNO]\r\n .getOne(param, {})\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.GetGarmentDetailByTagNo(tagNo);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async ManagePostQCRequest(data) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.FACTORY_MANAGE_POST_QC });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.FACTORY_MANAGE_POST_QC]\r\n .getAllPost(data)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.ManagePostQCRequest(data);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../../components/Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\n// import TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n // Modal,\r\n // notification,\r\n DatePicker,\r\n Tooltip,\r\n notification,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\n// import PreQCResponseList from \"../../../services/storepreqcresponselistservice\";\r\nimport FactoryPostQC from \"../../../services/factorypost-qcservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nclass Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n // this.PreQCResponseListService = new PreQCResponseList();\r\n this.factoryPostQC = new FactoryPostQC();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n\r\n this.state = {\r\n orderFromDate: Moment(ONE_MONTHS_AGO),\r\n orderToDate: Moment(),\r\n preQCResponseItems: [],\r\n ID: 0,\r\n listData: [],\r\n QCStatusOptions: [],\r\n data: [],\r\n qcStatusFilter: 2,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n showfilterBox: true,\r\n loading: false,\r\n };\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.TAG,\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CONTACT,\r\n dataIndex: \"mobileNo\",\r\n key: \"mobileNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SRORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: \"Gate Pass No\",\r\n // dataIndex: \"gatePassNo\",\r\n // key: \"gatePassNo\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: labels.POST_QC_STATUS,\r\n dataIndex: \"postQCStatusName\",\r\n key: \"postQCStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.POST_QC_REMARK,\r\n dataIndex: \"postQCRemark\",\r\n key: \"postQCRemark\",\r\n sorter: true,\r\n // width: \"10%\",\r\n // ellipsis: {\r\n // showTitle: false,\r\n // },\r\n // render: (address) => (\r\n // \r\n // {address}\r\n // \r\n // ),\r\n },\r\n {\r\n title: labels.POST_QC_DATETIME,\r\n dataIndex: \"postQCDateTime\",\r\n key: \"postQCDateTime\",\r\n render: (text) =>\r\n text !== null ? Moment(text).format(\"DD-MM-YYYY HH:mm:ss\") : null,\r\n sorter: true,\r\n },\r\n {\r\n title: labels.POSTED_BY,\r\n dataIndex: \"postQCByName\",\r\n key: \"postQCByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENT_STATUS,\r\n dataIndex: \"garmentStatusName\",\r\n key: \"garmentStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {record.postQCStatus === 1 &&\r\n [4, 6].includes(record.garmentStatus) ? (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n ) : null}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY_POST_QC\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n this.getResponseList();\r\n }\r\n getResponseList = () => {\r\n this.setState({ loading: true });\r\n if (this.props.toggleLoading !== undefined) {\r\n this.props.toggleLoading(true);\r\n }\r\n this.factoryPostQC\r\n .getResponseList({\r\n storeID: 0,\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n FromOrderDate: Moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n ToOrderDate: Moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n postQCStatus: this.state.qcStatusFilter,\r\n // tagNo: null,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n commonSearch: this.state.search,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n listData: response.data,\r\n pagination: {\r\n ...this.state.pagination,\r\n total:\r\n response.data.length !== 0 ? response.data[0].totalRecords : 0,\r\n },\r\n loading: false,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_POST_QC_DATA,\r\n });\r\n }\r\n if (this.props.toggleLoading !== undefined) {\r\n this.props.toggleLoading(false);\r\n }\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value }, () => this.getResponseList());\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => this.getResponseList()\r\n );\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const preQCResponseItems = this.state.preQCResponseItems;\r\n const listItems = preQCResponseItems;\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_POST_QC_FACTORY,\r\n state: { tagNo: \"\" },\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n {labels.ADD_GARMENT_FOR_POST_QC}\r\n \r\n ) : null,\r\n\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n this.getResponseList()}\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n qcStatusFilter:this.state.qcStatusFilter\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n qcStatusFilter: value,\r\n pagination: { ...this.state.pagination, current: 1 },\r\n },\r\n // () => this.getResponseList()\r\n )\r\n }\r\n >\r\n {/* */}\r\n \r\n {/* */}\r\n \r\n\r\n {/* {this.state.QCStatusOptions.length !== 0\r\n ? this.state.QCStatusOptions.map((status) => {\r\n return status.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null} */}\r\n ,\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n record.tagNo}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n />\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\n// import PreQCFactoryComponent from \"../../../components/FactoryModule/PostQCFact/garment.managepostqc.factory\";\r\nimport PostQCFactoryComponent from \"../../../components/FactoryModule/PostQC/postqclist.factory.component\";\r\n\r\nexport default class PreQCFactoryScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n notification,\r\n Modal,\r\n Descriptions,\r\n Upload,\r\n Table,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\n// import FactoryPreQC from \"../../../../services/factorypre-qc\";\r\nimport FactoryPostQC from \"../../../../services/factorypost-qcservice\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport Common from \"../../../../services/common\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Moment from \"moment\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nimport { labels } from \"../../../../shared/language\";\r\n\r\nvar jwt = require(\"jsonwebtoken\");\r\nconst { Option } = Select;\r\nlet formReference = React.createRef();\r\n/**\r\n * @author Payal Bharakhda\r\n * @created 25 Nov 2020\r\n */\r\n\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nclass GeneralForm extends React.Component {\r\n factoryPostQC = new FactoryPostQC();\r\n commonReq = new Common();\r\n\r\n state = {\r\n garmentLoaded: false,\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n tagNo: \"\",\r\n qcStatus: 2,\r\n remark: \"\",\r\n garMentData: [],\r\n statusDDL: [],\r\n isSaveDisable: true,\r\n lastQCDetails: {},\r\n fileList: [\r\n // {\r\n // uid: \"-1\",\r\n // name: \"image.png\",\r\n // status: \"done\",\r\n // url:\r\n // \"https://images.unsplash.com/photo-1549490349-8643362247b5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80\",\r\n // },\r\n // {\r\n // uid: \"-2\",\r\n // name: \"image.png\",\r\n // status: \"done\",\r\n // url:\r\n // \"https://images.unsplash.com/photo-1549490349-8643362247b5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80\",\r\n // },\r\n // {\r\n // uid: \"-5\",\r\n // name: \"image.png\",\r\n // status: \"error\",\r\n // },\r\n ],\r\n\r\n garMentHistoryData: [],\r\n showAddPopup: false,\r\n // reasonDDL: [],\r\n // orderGarmentID: 0,\r\n mode: \"add\",\r\n };\r\n\r\n columns = [\r\n //{\r\n // title: 'CityID',\r\n // dataIndex: 'cityID',\r\n // key: 'cityID',\r\n // },\r\n {\r\n title: labels.QC_REASON,\r\n dataIndex: \"qcReason\",\r\n key: \"qcReason\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n // sorter: true,\r\n },\r\n {\r\n title: labels.QC_PENDING_FROM,\r\n dataIndex: \"qcPendingFrom\",\r\n key: \"qcPendingFrom\",\r\n //sorter: true,\r\n },\r\n {\r\n title: labels.QC_STATUS,\r\n dataIndex: \"qcStatus\",\r\n key: \"qcStatus\",\r\n // sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n this.GetQCStatus();\r\n this.getLastPostQCDetails();\r\n\r\n // this.GetQCResion();\r\n if (\r\n [ROUTES.VIEW_POST_QC_FACTORY, \":tagNo\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState(\r\n { tagNo: this.props.location.state.tagNo, mode: \"view\" },\r\n () => this.GetGarmentInfo()\r\n );\r\n } else if (\r\n [ROUTES.EDIT_POST_QC_FACTORY, \":tagNo\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState(\r\n { tagNo: this.props.location.state.tagNo, mode: \"edit\" },\r\n () => this.GetGarmentInfo()\r\n );\r\n }\r\n }\r\n getBase64 = (file) => {\r\n return 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\n\r\n handleCancel = () => this.setState({ previewVisible: false });\r\n\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n\r\n handleChange = (info) => {\r\n if (info.fileList.length > 0) {\r\n if (info.file !== undefined) {\r\n // this.setState({ fileList: info.fileList });\r\n const isJpgOrPng =\r\n info.file.type === \"image/jpeg\" ||\r\n info.file.type === \"image/png\" ||\r\n info.file.type === \"image/jpg\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: labels.YOU_CAN_ONLY_UPLOAD_JPG_JPEG_PNG_FILE,\r\n });\r\n info.file = undefined;\r\n // this.setState({ fileList: [] });\r\n }\r\n let isLt5M = false;\r\n if (info.file !== undefined) {\r\n isLt5M = info.file.size / 1024 / 1024 < 5;\r\n if (!isLt5M) {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: labels.IMAGE_MUST_BE_SMALLER_THAN_5_MB,\r\n });\r\n info.file = undefined;\r\n // this.setState({ fileList: [] });\r\n }\r\n }\r\n if (isJpgOrPng && isLt5M) {\r\n info.file.status = \"done\";\r\n }\r\n }\r\n var infoFileList = [];\r\n infoFileList.push(info.file);\r\n info.file = infoFileList.filter((x) => x != undefined);\r\n this.setState({ fileList: info.file });\r\n } else {\r\n this.setState({ fileList: [] });\r\n }\r\n };\r\n\r\n onChange = (name, e) => {\r\n this.setState({ [name]: e.target.value });\r\n };\r\n\r\n onChangeDDL = (name, e) => {\r\n this.setState({ [name]: e });\r\n };\r\n\r\n getLastPostQCDetails = () => {\r\n this.factoryPostQC\r\n .getLastQC(this.props.location.state.tagNo)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data.length > 0) {\r\n this.setState({ lastQCDetails: response.data[0] });\r\n if (![null, undefined, \"\"].includes(formReference)) {\r\n formReference.current.setFieldsValue({\r\n orderGarmentID: response.data[0].orderGarmentID,\r\n qcStatus: response.data[0].postQCStatus,\r\n remark:\r\n this.props.mode === \"view\"\r\n ? response.data[0].postQCRemark\r\n : \"\",\r\n });\r\n }\r\n } else {\r\n this.setState({ lastQCDetails: null });\r\n }\r\n } else {\r\n this.setState({ lastQCDetails: null });\r\n }\r\n });\r\n };\r\n\r\n handlePostQc = () => {\r\n var fileData = this.state.fileList;\r\n const formData = new FormData();\r\n\r\n formData.append(\r\n \"PostQCImage\",\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n formData.append(\"TagNo\", this.state.tagNo);\r\n formData.append(\"PostQCStatus\", this.state.qcStatus.toString());\r\n formData.append(\"PostQCRemark\", this.state.remark);\r\n formData.append(\r\n \"UserID\",\r\n parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n )\r\n );\r\n\r\n this.factoryPostQC.ManagePostQCRequest(formData).then((response) => {\r\n if (response.statusCode === 200) {\r\n formReference.current.resetFields();\r\n this.setState({\r\n garmentLoaded: false,\r\n fileList: [],\r\n });\r\n notification[\"success\"]({\r\n message: labels.POST_QC,\r\n description: labels.DATA_SUCCESSFULLY_SUBMITTED,\r\n });\r\n this.props.backFunction();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: labels.UNABLE_TO_SUBMIT_TAG_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n GetGarmentInfo = () => {\r\n if (![null, undefined, \"\"].includes(this.state.tagNo)) {\r\n this.factoryPostQC\r\n .GetGarmentDetailByTagNo(this.state.tagNo)\r\n .then((items) => {\r\n if (items.statusCode === 200 && items.data.length > 0) {\r\n this.setState(\r\n {\r\n garMentData: items.data,\r\n // orderGarmentID: items.data.length > 0 ? items.data[0].orderGarmentID : 0\r\n },\r\n () => {\r\n if (this.state.garMentData.length > 0) {\r\n this.setState({\r\n garmentLoaded: true,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: labels.UNABLE_TO_LOAD_TAG_DATA,\r\n });\r\n this.setState({\r\n garmentLoaded: false,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: labels.UNABLE_TO_GET_TAG_DATA,\r\n });\r\n this.setState({ garMentData: [], garmentLoaded: false });\r\n }\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.POST_QC,\r\n description: labels.PLEASE_ENTER_TAG_NO,\r\n });\r\n }\r\n };\r\n\r\n GetQCHistoryByTagNo = () => {\r\n this.setState({ showAddPopup: true });\r\n this.factoryPreQC.GetQCHistoryByTagNo(this.state.tagNo).then((items) => {\r\n this.setState({\r\n garMentHistoryData: items.data,\r\n });\r\n });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n // this.resetFields();\r\n };\r\n GetQCStatus = () => {\r\n this.commonReq.GetSystemEnums(\"PostQCStatus\").then((res) => {\r\n this.setState({ statusDDL: res.data });\r\n });\r\n };\r\n\r\n showNumberWithStar = () => {\r\n return ![undefined, null, \"\"].includes(this.state.tagNo) ? (\r\n
\r\n {labels.TAG_NUMBER}\r\n *\r\n
\r\n ) : (\r\n labels.TAG_NUMBER\r\n );\r\n };\r\n\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\r\n const { garMentData } = this.state;\r\n const uploadButton =\r\n this.state.fileList.length === 0 ? (\r\n
\r\n \r\n
{labels.UPLOAD}
\r\n
\r\n ) : null;\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.state.garmentLoaded ? (\r\n \r\n \r\n {garMentData[0].customerName}\r\n \r\n \r\n {garMentData[0].customerType}\r\n \r\n \r\n {garMentData[0].customerContactNo}\r\n \r\n \r\n {Moment(garMentData[0].orderDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {garMentData[0].splitOrderNumber}\r\n \r\n \r\n {garMentData[0].gatePassNo}\r\n \r\n \r\n {Moment(garMentData[0].gatePassDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {garMentData[0].garmentStatusName}\r\n \r\n \r\n {garMentData[0].garmentName}\r\n \r\n \r\n {garMentData[0].deliveryType}\r\n \r\n \r\n {Moment(garMentData[0].deliveryDate).format(\"DD-MM-YYYY\")}\r\n \r\n \r\n {garMentData[0].garmentBrand}\r\n \r\n \r\n {garMentData[0].colorNames}\r\n \r\n \r\n {garMentData[0].serviceName}\r\n \r\n \r\n {garMentData[0].additionalServiceName}\r\n \r\n \r\n ) : null}\r\n {this.state.lastQCDetails !== null &&\r\n this.state.lastQCDetails !== {} ? (\r\n \r\n \r\n {this.state.lastQCDetails.postQCStatusName}\r\n \r\n \r\n {this.state.lastQCDetails.postQCRemark}\r\n \r\n \r\n {this.state.lastQCDetails.postQCImage !== \"\" &&\r\n this.state.lastQCDetails.postQCImage !== null ? (\r\n \r\n Image 1\r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {this.state.statusDDL.length !== 0\r\n ? this.state.statusDDL.map((res) => {\r\n return res.enumDetailID !== \"-1\" ? (\r\n \r\n {res.enumDetailName}\r\n \r\n ) : null;\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 {disableAll ? null : (\r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n {uploadButton}\r\n {/* {this.state.fileList.length >= 8 ? null : uploadButton} */}\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {labels.CANCEL}\r\n \r\n {!disableAll ? (\r\n \r\n {labels.SUBMIT}\r\n \r\n ) : null}\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(GeneralForm);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport {\r\n Steps,\r\n PageHeader,\r\n Spin,\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n notification,\r\n // Radio,\r\n Descriptions,\r\n Upload,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./garment.addpostqc.factory.component\";\r\n// import FactoryPreQC from \"../../../../services/factorypre-qc\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport Common from \"../../../../services/common\";\r\n\r\nconst { Step } = Steps;\r\n\r\n/**\r\n \r\n * @author Payal Bharakhda\r\n * @created 25 Nov 2020\r\n *\r\n * @module Factory\r\n */\r\nclass AddFactory extends React.Component {\r\n // factoryPreQCService = new FactoryPreQC();\r\n common = new Common();\r\n // corporateService = new CorporateService();\r\n\r\n state = {\r\n factoryID: 0,\r\n activeStep: 0,\r\n fullLoading: false,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n contactFormValues: {},\r\n mode: \"add\",\r\n };\r\n \r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n if (\r\n [ROUTES.EDIT_POST_QC_FACTORY, \":tagNo\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n\r\n // this.getQCInfoByTagNumber(this.props.match.params.tagNo);\r\n } else if (\r\n [ROUTES.VIEW_POST_QC_FACTORY, \":tagNo\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n // this.getQCInfoByTagNumber(this.props.match.params.tagNo);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n setTimeout(() => {\r\n this.setState({ fullLoading: false });\r\n }, 1500);\r\n }\r\n\r\n addUpdateCorporate = () => {\r\n this.setState({ fullLoading: true });\r\n };\r\n generalForm = React.createRef();\r\n\r\n handleSubmit = () => {\r\n const generalValidator = this.generalForm.current.validateFields();\r\n Promise.allSettled([generalValidator]).then((responses) => {\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[1].status === \"rejected\") {\r\n this.setState({ activeStep: 1 });\r\n } else if (\r\n responses[0].status === \"fulfilled\" &&\r\n responses[1].status === \"fulfilled\"\r\n ) {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n },\r\n () => {\r\n this.addUpdateCorporate();\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? labels.EDIT\r\n : this.state.mode === \"view\"\r\n ? labels.VIEW\r\n : labels.ADD,\r\n labels.GARMENT_FOR_QC,\r\n ].join(\" \")}\r\n />\r\n
\r\n
\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n nextFunction={() => this.setState({ activeStep: 1 })}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\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(AddFactory);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass StoreService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async GetFactoryDashboardOrderProcessCount(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_FACTORY_DASHBOARD_ORDER_PROCESS,\r\n });\r\n let itemArray = [];\r\n let id = \"?FactoryID=\" + storeId;\r\n await myApi.endpoints[this.endpoint.GET_FACTORY_DASHBOARD_ORDER_PROCESS]\r\n .getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetFactoryDashboardOrderProcessCount(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetFactoryDashboard(storeId) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FACTORY_DASHBOARD });\r\n let itemArray = [];\r\n let id = \"?FactoryID=\" + storeId;\r\n await myApi.endpoints.getFactoryDashboard\r\n .getOne(id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetFactoryDashboard(storeId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default StoreService;\r\n","import React from \"react\";\r\nimport styles from \"./statscomponent.module.css\";\r\nimport { Row, Col, notification } from \"antd\";\r\nimport TruckIcon from \"../../../images/Dashboard/truck.svg\";\r\nimport TshirtIcon from \"../../../images/Dashboard/tshirt.svg\";\r\nimport BagIcon from \"../../../images/Dashboard/bag.svg\";\r\nimport WalletIcon from \"../../../images/Dashboard/wallet.svg\";\r\nimport FactoryDashboard from \"../../../services/factorydashboardservice\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\n/**\r\n * This file holds the view of statastics cards placed on the top row of dashboard\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nexport default class Stats extends React.Component {\r\n factoryDashboard = new FactoryDashboard();\r\n common = new Common();\r\n\r\n /**\r\n * Array of objects to display the stats\r\n */\r\n\r\n state = {\r\n dashboardData: [],\r\n };\r\n\r\n statsData = [\r\n {\r\n title: \"Pending Deliveries\",\r\n count: 10,\r\n icon: TruckIcon,\r\n },\r\n {\r\n title: \"Pending Take Aways\",\r\n count: 25,\r\n icon: TshirtIcon,\r\n },\r\n {\r\n title: \"Pending Pickups\",\r\n count: 12,\r\n icon: BagIcon,\r\n },\r\n {\r\n title: \"Collection Amount Due\",\r\n count: \"₹1200\",\r\n icon: WalletIcon,\r\n },\r\n ];\r\n\r\n componentWillMount() {\r\n this.GetFactoryDashboard();\r\n }\r\n\r\n GetFactoryDashboard() {\r\n this.props.toggleLoading(true);\r\n this.factoryDashboard\r\n .GetFactoryDashboard(parseInt(localStorage.getItem(\"branchID\")))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n \r\n this.setState({\r\n dashboardData: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_DASHBOARD,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n render() {\r\n const StatsBox = (props) => {\r\n /**\r\n * Array of background colors\r\n */\r\n // const colors = [\"#FE1D7F\", \"#FCC350\", \"#6ABEFF\", \"#7E13D5\"];\r\n const colors = [\r\n \"#FE1D7F\",\r\n \"#FCC350\",\r\n \"#6ABEFF\",\r\n \"#53da4a\",\r\n \"#7E13D5\",\r\n \"#FF3333\",\r\n \"#E162E5\",\r\n \"#B2C12C\",\r\n \"#3C76EB\",\r\n ];\r\n StatsBox.count++;\r\n return (\r\n \r\n
\r\n
{props.title}
\r\n
{props.count}
\r\n
\r\n
\r\n \"icon\"\r\n
\r\n \r\n );\r\n };\r\n /**\r\n * Static property\r\n */\r\n StatsBox.count = -1;\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","import React from \"react\";\r\nimport styles from \"./chartscomponent.module.css\";\r\nimport {\r\n Row,\r\n Col,\r\n Typography,\r\n // Select,\r\n notification,\r\n} from \"antd\";\r\nimport Box from \"../../Common/Box/box\";\r\n// import BarChartImg from \"../../../images/Dashboard/bar.png\";\r\n// import RingChart from \"../../../images/Dashboard/ring.png\";\r\n// import DoubleBarChart from \"../../../images/Dashboard/double.png\";\r\nimport FactoryDashboard from \"../../../services/factorydashboardservice\";\r\nimport {\r\n ResponsiveContainer,\r\n BarChart,\r\n // PieChart,\r\n XAxis,\r\n YAxis,\r\n Tooltip,\r\n Legend,\r\n // Cell,\r\n // Pie,\r\n Bar,\r\n // Customized,\r\n Sector,\r\n} from \"recharts\";\r\nimport Moment from \"moment\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\n/**\r\n * Charts Row as a part of dashboard screen.\r\n * Bar chart, ring chart and double bar chart\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 15 June 2020\r\n */\r\nexport default class Charts extends React.Component {\r\n factoryDashboard = new FactoryDashboard();\r\n common = new Common();\r\n state = {\r\n pieActiveIndex: 0,\r\n dashboardChartData: [],\r\n };\r\n barChartData = [\r\n {\r\n date: \"12\",\r\n orders: 5,\r\n },\r\n {\r\n date: \"13\",\r\n orders: 9,\r\n },\r\n {\r\n date: \"14\",\r\n orders: 12,\r\n },\r\n {\r\n date: \"15\",\r\n orders: 5,\r\n },\r\n {\r\n date: \"16\",\r\n orders: 22,\r\n },\r\n {\r\n date: \"17\",\r\n orders: 29,\r\n },\r\n {\r\n date: \"18\",\r\n orders: 35,\r\n },\r\n {\r\n date: \"19\",\r\n orders: 21,\r\n },\r\n ];\r\n ringChartData = [\r\n {\r\n name: \"Wash and Fold\",\r\n value: 60,\r\n color: \"#FE1D7F\",\r\n },\r\n {\r\n name: \"Dry Cleaning\",\r\n value: 40,\r\n color: \"#7AE473\",\r\n },\r\n {\r\n name: \"Wash and Iron\",\r\n value: 20,\r\n color: \"#FCC350\",\r\n },\r\n ];\r\n doubleBarChartData = [\r\n {\r\n date: \"12\",\r\n \"Take Away\": 9,\r\n Delivery: 7,\r\n },\r\n {\r\n date: \"13\",\r\n \"Take Away\": 9,\r\n Delivery: 10,\r\n },\r\n {\r\n date: \"14\",\r\n \"Take Away\": 12,\r\n Delivery: 10,\r\n },\r\n {\r\n date: \"15\",\r\n \"Take Away\": 8,\r\n Delivery: 17,\r\n },\r\n {\r\n date: \"16\",\r\n \"Take Away\": 24,\r\n Delivery: 19,\r\n },\r\n {\r\n date: \"17\",\r\n \"Take Away\": 26,\r\n Delivery: 32,\r\n },\r\n {\r\n date: \"18\",\r\n \"Take Away\": 35,\r\n Delivery: 30,\r\n },\r\n {\r\n date: \"19\",\r\n \"Take Away\": 26,\r\n Delivery: 19,\r\n },\r\n ];\r\n activeShape = (props) => {\r\n const {\r\n cx,\r\n cy,\r\n innerRadius,\r\n outerRadius,\r\n startAngle,\r\n endAngle,\r\n fill,\r\n payload,\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n {payload.value}%\r\n \r\n \r\n \r\n );\r\n };\r\n onPieEnter = (data, index) => {\r\n this.setState({\r\n pieActiveIndex: index,\r\n });\r\n };\r\n\r\n componentWillMount() {\r\n this.GetFactoryDashboardOrderProcessCount();\r\n }\r\n GetFactoryDashboardOrderProcessCount() {\r\n this.props.toggleLoading(true);\r\n this.factoryDashboard\r\n .GetFactoryDashboardOrderProcessCount(\r\n parseInt(localStorage.getItem(\"branchID\"))\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let res = [];\r\n let dashboardChartres = [];\r\n response.data.forEach((element) => {\r\n res = {\r\n date: Moment(element.calDate).format(\"D\"),\r\n \"Overdue Garments\": element.orderProcessCount,\r\n \"Order\":element.orderCount\r\n };\r\n dashboardChartres.push(res);\r\n });\r\n\r\n this.setState({\r\n dashboardChartData: dashboardChartres,\r\n });\r\n } else {\r\n // notification[\"error\"]({\r\n // message: labels.DASHBOARD,\r\n // description: labels.UNABLE_TO_GET_DATA_FOR_DASHBOARD,\r\n // });\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_DASHBOARD,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n GetStoreDashBoardPickUpData() {\r\n this.props.toggleLoading(true);\r\n this.storeDashboard\r\n .GetStoreDashBoardPickUpData(parseInt(localStorage.getItem(\"branchID\")))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let res = [];\r\n let dashboardPickupChartres = [];\r\n response.data.forEach((element) => {\r\n res = {\r\n date: Moment(element.calDate).format(\"D\"),\r\n \"Pending Pickups\": element.pendingPickups,\r\n };\r\n dashboardPickupChartres.push(res);\r\n });\r\n\r\n this.setState({\r\n dashboardPickupData: dashboardPickupChartres,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DASHBOARD,\r\n description: labels.UNABLE_TO_GET_DATA_FOR_DASHBOARD,\r\n });\r\n }\r\n this.props.toggleLoading(false);\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n {labels.OVERDUE_GARMENTS}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \"bar\" */}\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n// import styles from \"./dashboardscreen.module.css\";\r\nimport { Row, Col, Spin } from \"antd\";\r\nimport Stats from \"../../../components/FactoryModule/Dashboard/stats.component\";\r\nimport Charts from \"../../../components/FactoryModule/Dashboard/charts.component\";\r\n// import QCCheck from \"../../../components/FactoryModule/Dashboard/qccheck.component\";\r\n// import QuickActions from \"../../../components/FactoryModule/Dashboard/quickactions.component\";\r\nimport NoticeBoard from \"../../../components/StoreModule/Dashboard/noticeboard.component\";\r\nimport Box from \"../../../components/Common/Box/box\";\r\n/**\r\n * View of Dashboard screen\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 15 June 2020\r\n */\r\nexport default class Dashboard extends React.Component {\r\n state = {\r\n fullLoading: false,\r\n };\r\n toggleLoading = (value) => {\r\n this.setState({ fullLoading: value });\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 }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass DiscountMasterService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getWeekDaysList() {\r\n const daysListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n daysListAPI.createEntity({ name: this.endpoint.GET_WEEKDAYS });\r\n let days = [];\r\n await daysListAPI.endpoints[this.endpoint.GET_WEEKDAYS]\r\n .getAll()\r\n .then((response) => {\r\n days = response.data;\r\n })\r\n .catch((err) => {\r\n days = this.common.handleError(err);\r\n });\r\n if (days.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n days = this.getWeekDaysList();\r\n });\r\n }\r\n return Promise.resolve(days);\r\n }\r\n\r\n async getServices() {\r\n const servicesAPI = new API({ url: this.config.DROPDOWN_URL });\r\n servicesAPI.createEntity({ name: this.endpoint.GET_SERVICES_OFFERED });\r\n let services = [];\r\n await servicesAPI.endpoints[this.endpoint.GET_SERVICES_OFFERED]\r\n .getAll()\r\n .then((response) => {\r\n services = response.data;\r\n })\r\n .catch((err) => {\r\n services = this.common.handleError(err);\r\n });\r\n if (services.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n services = this.getServices();\r\n });\r\n }\r\n return Promise.resolve(services);\r\n }\r\n\r\n async getStoresList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let stores = [];\r\n await myApi.endpoints[this.endpoint.GET_STORE]\r\n .getAll()\r\n .then((response) => {\r\n stores = response.data;\r\n })\r\n .catch((err) => {\r\n stores = this.common.handleError(err);\r\n });\r\n if (stores.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n stores = this.getStoresList();\r\n });\r\n }\r\n return Promise.resolve(stores);\r\n }\r\n\r\n async getMode() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_MODE });\r\n let stores = [];\r\n await myApi.endpoints[this.endpoint.GET_MODE]\r\n .getAll()\r\n .then((response) => {\r\n stores = response.data;\r\n })\r\n .catch((err) => {\r\n stores = this.common.handleError(err);\r\n });\r\n if (stores.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n stores = this.getMode();\r\n });\r\n }\r\n return Promise.resolve(stores);\r\n }\r\n\r\n async getUsageType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USAGE_TYPE });\r\n let stores = [];\r\n await myApi.endpoints[this.endpoint.GET_USAGE_TYPE]\r\n .getAll()\r\n .then((response) => {\r\n stores = response.data;\r\n })\r\n .catch((err) => {\r\n stores = this.common.handleError(err);\r\n });\r\n if (stores.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n stores = this.getUsageType();\r\n });\r\n }\r\n return Promise.resolve(stores);\r\n }\r\n\r\n async getDiscountType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DISCOUNT_TYPE });\r\n let stores = [];\r\n await myApi.endpoints[this.endpoint.GET_DISCOUNT_TYPE]\r\n .getAll()\r\n .then((response) => {\r\n stores = response.data;\r\n })\r\n .catch((err) => {\r\n stores = this.common.handleError(err);\r\n });\r\n if (stores.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n stores = this.getDiscountType();\r\n });\r\n }\r\n return Promise.resolve(stores);\r\n }\r\n\r\n async getPromocodeType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PROMOCODE_TYPE });\r\n let stores = [];\r\n await myApi.endpoints[this.endpoint.GET_PROMOCODE_TYPE]\r\n .getAll()\r\n .then((response) => {\r\n stores = response.data;\r\n })\r\n .catch((err) => {\r\n stores = this.common.handleError(err);\r\n });\r\n if (stores.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n stores = this.getPromocodeType();\r\n });\r\n }\r\n return Promise.resolve(stores);\r\n }\r\n\r\n async getCities(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.CITY_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetCityMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getCities(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveDiscountMaster(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DISCOUNT_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDiscountMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveDiscountMaster(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async saveUpdateDiscountMaster(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_DISCOUNT_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateDiscountMaster.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateDiscountMaster(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async getDiscountDetailByDiscountID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_DISCOUNT_DETAIL_BY_DISCOUNTID,\r\n });\r\n let itemArray = [];\r\n let Id = \"?DiscountID=\" + id;\r\n await myApi.endpoints.GetDiscountDetailByDiscountID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getDiscountDetailByDiscountID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetDiscountCodesByDiscountID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DISCOUNT_CODE_BY_DISCOUNTID });\r\n let itemArray = [];\r\n let Id = \"?DiscountID=\" + id;\r\n await myApi.endpoints.GetDiscountCodesByDiscountID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetDiscountCodesByDiscountID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GenerateDiscountCodesByDiscountID(payload) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GENERATE_DISCOUNT_CODES_BY_DISCOUNTID,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints.GenerateDiscountCodesByDiscountID.getAllPost(payload)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GenerateDiscountCodesByDiscountID(payload);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async requestAuthorizeDiscount(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.AUTHORIZE_DISCOUNT_BY_ID });\r\n let itemArray = [];\r\n let Id = \"?DiscountID=\" + id;\r\n await myApi.endpoints[this.endpoint.AUTHORIZE_DISCOUNT_BY_ID]\r\n .getOneDiscount(Id, id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.requestAuthorizeDiscount(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async requestBlockDiscount(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.BLOCK_DISCOUNT_BY_ID });\r\n let itemArray = [];\r\n let Id = \"?DiscountID=\" + id;\r\n await myApi.endpoints[this.endpoint.BLOCK_DISCOUNT_BY_ID]\r\n .getOneDiscount(Id, id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.requestBlockDiscount(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default DiscountMasterService;\r\n","import React from \"react\";\r\nimport styles from \"./discountmaster.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Radio,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../routes\";\r\nimport DiscountMasterService from \"../../services/discountmasterservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport Common from \"../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Maulik Suthar\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n discountmasterservice = new DiscountMasterService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n discountID: 0,\r\n discountName: \"\",\r\n statusID: 0,\r\n showfilterBox: false,\r\n discountList: [],\r\n tableLoading: true,\r\n pagination: {\r\n showSizeChanger: true,\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n validtilltoday: 0,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.DISCOUNT_MASTER\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ tableLoading: false });\r\n this.getDiscountMasterList({\r\n validtilltoday:this.state.validtilltoday,\r\n discountID: this.state.discountID,\r\n discountName: this.state.discountName,\r\n statusID: this.state.statusID,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n handleSearch = (event) => {\r\n this.setState({ search: event.target.value });\r\n this.getDiscountMasterList({\r\n validtilltoday:this.state.validtilltoday,\r\n discountID: this.state.discountID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n });\r\n };\r\n getDiscountMasterList(params = {}) {\r\n this.setState({ tableLoading: true });\r\n params = { ...params, commonSearch: this.state.search };\r\n this.discountmasterservice\r\n .retrieveDiscountMaster(params)\r\n .then((discountList) => {\r\n if (discountList.statusCode === 200) {\r\n\r\n if (\r\n discountList.length !== 0 &&\r\n discountList.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n\r\n this.getDiscountMasterList({\r\n validtilltoday:this.state.validtilltoday,\r\n discountID: this.state.discountID,\r\n discountName: this.state.discountName,\r\n statusID: this.state.statusID,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination:params.pagination\r\n });\r\n }\r\n\r\n\r\n this.setState({\r\n discountList: discountList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n discountList.data.length > 0\r\n ? discountList.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: discountList.message\r\n ? this.common.Message(discountList.message)\r\n : \"Unable to get list of discount data\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n columns = [\r\n {\r\n title: \"Discount\",\r\n dataIndex: \"discountName\",\r\n key: \"discountName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Discount Type\",\r\n dataIndex: \"discountTypeName\",\r\n key: \"discountTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Discount On Value\",\r\n dataIndex: \"discountOnValue\",\r\n key: \"discountOnValue\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Mode Name\",\r\n dataIndex: \"modeName\",\r\n key: \"modeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Status\",\r\n dataIndex: \"statusName\",\r\n key: \"statusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Week Days\",\r\n dataIndex: \"weekDayNames\",\r\n key: \"weekDayNames\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Valid From\",\r\n dataIndex: \"validFrom\",\r\n key: \"validFrom\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Valid To\",\r\n dataIndex: \"validTo\",\r\n key: \"validTo\",\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\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 handleRadioChange = (e) => {\r\n // console.log(\"radio checked\", e.target.value);\r\n const validtilltoday = e.target.value === 2 ? 1 : 0;\r\n\r\n this.setState(\r\n {\r\n validtilltoday: validtilltoday,\r\n radioSelectedData: e.target.value,\r\n },\r\n () => {\r\n this.getDiscountMasterList({\r\n validtilltoday:this.state.validtilltoday,\r\n discountID: this.state.discountID,\r\n discountName: this.state.discountName,\r\n statusID: this.state.statusID,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n });\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n All\r\n Valid as on Today\r\n ,\r\n\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_DISCOUNT_MASTER,\r\n state: { discountID: this.state.discountID },\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Discount Master\r\n \r\n ) : null,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.getDiscountMasterList({\r\n validtilltoday:this.state.validtilltoday,\r\n discountID: this.state.discountID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n });\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport DiscountMaster from \"../../components/DiscountMaster/discountmaster.component\";\r\n\r\nexport default class Master extends React.Component {\r\n\r\n render() {\r\n const listItems = null;\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n TimePicker,\r\n Input,\r\n DatePicker,\r\n Space,\r\n notification,\r\n Radio,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport DiscountMasterService from \"../../../services/discountmasterservice\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\nimport Moment from \"moment\";\r\nconst { Option } = Select;\r\n\r\nexport default class GeneralForm extends React.Component {\r\n discountmasterservice = new DiscountMasterService();\r\n\r\n state = {\r\n discountTypeID: 0,\r\n usageTypeID:0,\r\n discountID: this.props.discountID ? this.props.discountID : 0,\r\n discountTypeEditID: parseInt(this.props.discountTypeEditID),\r\n deliveryTypes: {\r\n disabled: true,\r\n data: [],\r\n },\r\n weekDays: {\r\n disabled: true,\r\n data: [],\r\n },\r\n status: {\r\n disabled: true,\r\n data: [],\r\n },\r\n applicableServiceIds: {\r\n disabled: true,\r\n data: [],\r\n },\r\n applicableStoreIds: {\r\n disabled: true,\r\n data: [],\r\n },\r\n\r\n mode: {\r\n disabled: true,\r\n data: [],\r\n },\r\n usageType: {\r\n disabled: true,\r\n data: [],\r\n },\r\n discountType: {\r\n disabled: true,\r\n data: [],\r\n },\r\n promocodeType: {\r\n disabled: true,\r\n data: [],\r\n },\r\n cities: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n\r\n componentDidMount() {\r\n this.getWeekDays();\r\n this.getServices();\r\n this.getStores();\r\n this.getMode();\r\n this.getUsageType();\r\n this.getDiscountType();\r\n this.getPromocodeType();\r\n this.getCities();\r\n this.setState({ discountTypeID: this.props.values.discountType });\r\n this.setState({ usageTypeID: this.props.values.usageType });\r\n }\r\n\r\n authorizeDiscount = () => {\r\n this.discountmasterservice\r\n .requestAuthorizeDiscount(this.state.discountID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Discount\",\r\n description: response.message,\r\n });\r\n this.props.getDiscountMaster(this.state.discountID);\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to Authorize Discount\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n blockDiscount = () => {\r\n this.discountmasterservice\r\n .requestBlockDiscount(this.state.discountID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Discount\",\r\n description: response.message,\r\n });\r\n this.props.getDiscountMaster(this.state.discountID);\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to Block Discount\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getWeekDays = () => {\r\n this.discountmasterservice.getWeekDaysList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n weekDays: {\r\n ...this.state.weekDays,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for week days\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getServices = () => {\r\n this.discountmasterservice.getServices().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n applicableServiceIds: {\r\n ...this.state.applicableServiceIds,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get applicable services\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStores = () => {\r\n this.discountmasterservice.getStoresList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n applicableStoreIds: {\r\n ...this.state.applicableStoreIds,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for applicable stores\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getMode = () => {\r\n this.discountmasterservice.getMode().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n mode: {\r\n ...this.state.mode,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for mode\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getUsageType = () => {\r\n this.discountmasterservice.getUsageType().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n usageType: {\r\n ...this.state.usageType,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for usage type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getDiscountType = () => {\r\n this.discountmasterservice.getDiscountType().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n discountType: {\r\n ...this.state.discountType,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for usage type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getPromocodeType = () => {\r\n this.discountmasterservice.getPromocodeType().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n promocodeType: {\r\n ...this.state.promocodeType,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for promocode type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCities = () => {\r\n const params = {\r\n cityID: 0,\r\n cityName: \"\",\r\n pageIndex: 1,\r\n pageSize: 1000,\r\n sortColumn: \"\",\r\n sortOrder: \"\",\r\n commonSearch: \"\",\r\n };\r\n this.discountmasterservice.getCities(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n cities: {\r\n ...this.state.cities,\r\n data: response.data,\r\n\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get data for cities\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\r\n const editmode = this.props.mode === \"edit\";\r\n const addmode = this.props.mode === \"add\";\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 * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/date-picker/\r\n * https://ant.design/components/date-picker/#API\r\n */}\r\n \r\n null}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(Moment(), \"day\") ? true : false\r\n }\r\n format={\"DD-MM-YYYY\"}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n />\r\n \r\n \r\n\r\n {/* Added By hasti */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Added By hasti */}\r\n\r\n \r\n \r\n null}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n //disabled={this.state.status.disabled || disableAll}\r\n >\r\n {this.state.mode.data.length !== 0\r\n ? this.state.mode.data.map((mode) => {\r\n return mode.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ usageTypeID: e })}\r\n // onChange={() => null}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n //disabled={this.state.usageType.disabled || disableAll}\r\n >\r\n {this.state.usageType.data.length !== 0\r\n ? this.state.usageType.data.map((usageType) => {\r\n return usageType.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Added By Hasti -Start */}\r\n {parseInt(this.state.usageTypeID) === 2 ? (\r\n \r\n \r\n \r\n \r\n \r\n ):null}\r\n \r\n\r\n {/* End */}\r\n \r\n \r\n null}\r\n value={1}\r\n mode=\"multiple\"\r\n placeholder=\"Select Promo code Types\"\r\n //disabled={this.state.deliveryTypes.disabled || disableAll}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.promocodeType.data.length !== 0\r\n ? this.state.promocodeType.data.map((promocodeType) => {\r\n return promocodeType.value !== \"-1\" ? (\r\n \r\n {promocodeType.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ discountTypeID: e })}\r\n //disabled={this.state.discountType.disabled || disableAll}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n >\r\n {this.state.discountType.data.length !== 0\r\n ? this.state.discountType.data.map((discountType) => {\r\n return discountType.value !== \"-1\" ? (\r\n \r\n {discountType.text}\r\n \r\n ) : null;\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 {parseInt(this.state.discountTypeID) === 2 ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n {/* All Orders */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n null}\r\n //disabled={this.state.weekDays.disabled || disableAll}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.weekDays.data.length !== 0\r\n ? this.state.weekDays.data.map((weekDays) => {\r\n return weekDays.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n //disabled={this.state.services.disabled || disableAll}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.applicableServiceIds.data.length !== 0\r\n ? this.state.applicableServiceIds.data.map(\r\n (applicableServiceIds) => {\r\n return applicableServiceIds.value !== \"-1\" ? (\r\n \r\n {applicableServiceIds.text}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n //disabled={this.state.applicableStoreIds.disabled || disableAll}\r\n disabled={\r\n editmode\r\n ? // removed condition as to solve L15563 : this ticket by PB\r\n //this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.applicableStoreIds.data.length !== 0\r\n ? this.state.applicableStoreIds.data.map(\r\n (applicableStoreIds) => {\r\n return applicableStoreIds.value !== \"-1\" ? (\r\n \r\n {applicableStoreIds.text}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n //disabled={this.state.applicableCityIds.disabled || disableAll}\r\n disabled={\r\n editmode\r\n ? this.props.DiscountStatusName === 2 ||\r\n this.props.DiscountStatusName === 3\r\n ? true\r\n : false\r\n : disableAll\r\n }\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.cities.data.length !== 0\r\n ? this.state.cities.data.map((cities) => {\r\n return cities.value !== \"-1\" ? (\r\n \r\n ) : null;\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 Cancel\r\n \r\n {addmode ? (\r\n \r\n Submit\r\n \r\n ) : editmode ? (\r\n this.props.DiscountStatusName === 1 ||\r\n this.props.DiscountStatusName === 2 ? ( // added condition by PB to solve L15563 ticket\r\n <>\r\n \r\n {this.props.DiscountStatusName === 1 ||\r\n this.props.DiscountStatusName === 2\r\n ? \"Update\"\r\n : \"Submit\"}\r\n \r\n {/* // added condition to hide the authorize button once it is\r\n authorized */}\r\n {this.props.DiscountStatusName === 2 ? (\r\n \r\n Block\r\n \r\n ) : (\r\n \r\n Authorize\r\n \r\n )}\r\n \r\n ) : (\r\n disableAll\r\n )\r\n ) : (\r\n // this.props.DiscountStatusName === 2 ? (\r\n // \r\n // Block\r\n // \r\n // ) : null\r\n disableAll\r\n )}\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Select,\r\n Table,\r\n InputNumber,\r\n Input,\r\n Form,\r\n Tooltip,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport DiscountMasterService from \"../../../services/discountmasterservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ReactExport from \"react-export-excel\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n// const { Search } = Input;\r\n\r\nclass DiscountCode extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.discountmasterservice = new DiscountMasterService();\r\n this.state = {\r\n generateButtonLoading: false,\r\n excelFile: ,\r\n\r\n discountID: null,\r\n totalLength: null,\r\n prefixChar: \"\",\r\n discountObj: {},\r\n discountCode: [],\r\n discountName: this.props.discountName,\r\n showAddPopup: false,\r\n\r\n tableLoading: true,\r\n currentCode: {},\r\n popupMode: \"add\",\r\n\r\n usageTypeID: this.props.usageTypeID,\r\n DiscountStatusID: this.props.DiscountStatusName,\r\n };\r\n //this.GenerateDiscountCodes = this.GenerateDiscountCodes.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.match.params.discountID) {\r\n this.props.history.goBack();\r\n } else {\r\n //this.getDiscountMaster(this.props.match.params.discountID);\r\n }\r\n this.setState({ discountID: this.props.match.params.discountID });\r\n this.getDiscountCode(this.props.match.params.discountID);\r\n }\r\n getDiscountMaster = (id) => {\r\n this.setState({ tableLoading: true });\r\n this.discountmasterservice\r\n .getDiscountDetailByDiscountID(id)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ discountObj: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get discount master data\",\r\n // description: \"Redirecting....\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n getDiscountCode = (id) => {\r\n this.setState({ tableLoading: true });\r\n this.discountmasterservice\r\n .GetDiscountCodesByDiscountID(id)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ discountCode: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get discount codes\",\r\n // description: \"Redirecting....\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n GenerateDiscountCodes = (id) => {\r\n if (\r\n [null, undefined, \"\"].includes(this.state.totalLength) ||\r\n [null, undefined, \"\"].includes(this.state.prefixChar)\r\n ) {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Values cannot be passed as blank\",\r\n });\r\n return false;\r\n }\r\n this.setState({ generateButtonLoading: true });\r\n var payload = {\r\n discountID: parseInt(this.state.discountID),\r\n totalLength: this.state.totalLength,\r\n prefixChar: this.state.prefixChar,\r\n };\r\n this.discountmasterservice\r\n .GenerateDiscountCodesByDiscountID(payload)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Discount\",\r\n description: response.message,\r\n });\r\n this.getDiscountCode(parseInt(this.state.discountID));\r\n }\r\n // else {\r\n // notification[\"error\"]({\r\n // message: \"Unable to get discount master data\",\r\n // description: \"Redirecting....\",\r\n // // onClose: () => {\r\n // // this.props.history.goBack();\r\n // // },\r\n // });\r\n // }\r\n this.setState({ generateButtonLoading: false });\r\n });\r\n };\r\n\r\n exportDiscountCodeToExcel = () => {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n ),\r\n },\r\n () => this.setState({ excelFile: })\r\n );\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Discount Code\",\r\n dataIndex: \"code\",\r\n key: \"code\",\r\n },\r\n // {\r\n // title: \"Actions\",\r\n // key: \"actions\",\r\n // width: \"100px\",\r\n // render: (text, record) => (\r\n // \r\n // this.handleViewEditAddress(record, \"view\")}\r\n // >\r\n // \r\n // \r\n // this.handleViewEditAddress(record, \"edit\")}\r\n // >\r\n // \r\n // \r\n // this.handleDeleteAddress(record.customerAddressID)}\r\n // onCancel={() => null}\r\n // okText=\"Yes\"\r\n // cancelText=\"No\"\r\n // >\r\n // \r\n // \r\n // \r\n // ),\r\n // },\r\n ];\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n let RegexAlphaNumberic = /^[a-zA-Z0-9]*$/;\r\n return (\r\n
\r\n {this.state.excelFile}\r\n \r\n
No Of Character
\r\n
Minimum: 6
\r\n
Maximum: 16 must be there
\r\n \r\n }\r\n >\r\n this.setState({ totalLength: value })}\r\n />\r\n \r\n ) : null\r\n ) : null,\r\n [1].includes(this.state.DiscountStatusID) ? (\r\n this.state.usageTypeID === 1 &&\r\n this.state.discountCode.length === 0 ? (\r\n \r\n {\r\n let inputVal = e.target.value;\r\n if (RegexAlphaNumberic.test(inputVal)) {\r\n this.setState({ prefixChar: e.target.value });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description:\r\n \"You can only enter Alpha-Numeric inputs\",\r\n });\r\n }\r\n }}\r\n />\r\n \r\n ) : null\r\n ) : null,\r\n\r\n this.state.usageTypeID === 1 ? (\r\n [1].includes(this.state.DiscountStatusID) &&\r\n this.state.discountCode.length === 0 ? (\r\n this.GenerateDiscountCodes()}\r\n key=\"3\"\r\n loading={this.state.generateButtonLoading}\r\n >\r\n Generate Discount Codes\r\n \r\n ) : this.state.discountCode.length !== 0 ? (\r\n this.exportDiscountCodeToExcel()}\r\n // key=\"3\"\r\n >\r\n Export To Excel\r\n \r\n ) : null\r\n ) : null,\r\n ]}\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(DiscountCode);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"./addfdiscountcomponent.module.css\";\r\nimport { Steps, PageHeader, Form, notification, Spin } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport ROUTES from \"../../../routes\";\r\nimport DiscountMaster from \"../AddDiscountMaster/discountmaster.component\";\r\nimport { from } from \"rxjs\";\r\nimport DiscountMasterService from \"../../../services/discountmasterservice\";\r\nimport DiscountCode from \"../AddDiscountMaster/discountcode.component\";\r\n\r\nconst { Step } = Steps;\r\n\r\nclass AddDiscount extends React.Component {\r\n discountmasterservice = new DiscountMasterService();\r\n state = {\r\n activeStep: 0,\r\n discountID: 0,\r\n fullLoading: false,\r\n generalFormValues: {},\r\n mode: \"add\",\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n discountStatus: 1,\r\n usageTypeID: 0,\r\n discountTypeEditID: 0,\r\n };\r\n\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_DISCOUNT_MASTER, \":discountID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getDiscountMaster(this.props.location.state.discountID);\r\n } else if (\r\n [ROUTES.VIEW_DISCOUNT_MASTER, \":discountID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getDiscountMaster(this.props.location.state.discountID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getDiscountMaster = (id) => {\r\n this.discountmasterservice\r\n .getDiscountDetailByDiscountID(id)\r\n .then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n parseInt(response.data.discountID) === parseInt(id)\r\n ) {\r\n this.setState({\r\n discountID: response.data.discountID,\r\n discountStatus: response.data.status,\r\n usageTypeID: response.data.usageType,\r\n discountTypeEditID: response.data.discountType,\r\n });\r\n this.setState({\r\n generalFormValues: {\r\n discountName: response.data.discountName.toString(),\r\n discountTitle:response.data.discountTitle.toString(),\r\n validFrom: [\r\n response.data.validFrom\r\n ? moment(response.data.validFrom)\r\n : null,\r\n response.data.validTo ? moment(response.data.validTo) : null,\r\n ],\r\n mode: response.data.mode.toString(),\r\n promoCodeType: response.data.promoCodeType.split(\",\"),\r\n usageType: response.data.usageType.toString(),\r\n nos_Times: response.data.nos_Times.toString(),\r\n nos_Times_Redeemable:response.data.nos_Times_Redeemable.toString(),\r\n isFirstOrderOnly: response.data.isFirstOrderOnly,\r\n weekDays: response.data.weekDays.split(\",\"),\r\n discountType: response.data.discountType.toString(),\r\n maxAmount: response.data.maxAmount.toString(),\r\n minAmount: response.data.minAmount.toString(),\r\n includeDeliveryCharge: response.data.includeDeliveryCharge,\r\n comment: response.data.comment,\r\n applicableStoreIds: response.data.applicableStoreIds.split(\",\"),\r\n applicableCityIds: response.data.applicableCityIds\r\n .split(\",\")\r\n .map(function (item) {\r\n return parseInt(item, 10);\r\n }),\r\n applicableServiceIds: response.data.applicableServiceIds.split(\r\n \",\"\r\n ),\r\n discountValue: response.data.discountOnValue.toString(),\r\n },\r\n });\r\n this.setState({ fullLoading: false });\r\n const prevStep = this.state.activeStep;\r\n this.setState({ activeStep: 1 });\r\n this.setState({ activeStep: prevStep });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Unable to get discount data\",\r\n // description: \"Redirecting....\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdateDiscount = () => {\r\n this.setState({ fullLoading: true });\r\n const postData = {\r\n discountID: this.state.discountID,\r\n discountName: this.state.generalFormValues.discountName.toString(),\r\n discountTitle:this.state.generalFormValues.discountTitle.toString(),\r\n validFrom: this.state.generalFormValues.validFrom\r\n ? this.state.generalFormValues.validFrom[0].format(\"YYYY-MM-DD\")\r\n : null,\r\n validTo: this.state.generalFormValues.validFrom\r\n ? this.state.generalFormValues.validFrom[1].format(\"YYYY-MM-DD\")\r\n : null,\r\n mode: parseInt(this.state.generalFormValues.mode),\r\n promoCodeType: this.state.generalFormValues.promoCodeType.join(\",\"),\r\n usageType: parseInt(this.state.generalFormValues.usageType),\r\n nos_Times: parseInt(this.state.generalFormValues.nos_Times),\r\n nos_Times_Redeemable:(this.state.generalFormValues.nos_Times_Redeemable) != null ?\r\n parseInt(this.state.generalFormValues.nos_Times_Redeemable):0,\r\n // nos_Times_Redeemable:parseInt(this.state.generalFormValues.nos_Times_Redeemable),\r\n isFirstOrderOnly: this.state.generalFormValues.isFirstOrderOnly\r\n ? this.state.generalFormValues.isFirstOrderOnly\r\n : false,\r\n weekDays: this.state.generalFormValues.weekDays.join(\",\"),\r\n discountType: parseInt(this.state.generalFormValues.discountType),\r\n maxAmount:\r\n this.state.generalFormValues.maxAmount !== undefined\r\n ? parseFloat(this.state.generalFormValues.maxAmount)\r\n : 0,\r\n minAmount: parseFloat(this.state.generalFormValues.minAmount),\r\n includeDeliveryCharge: this.state.generalFormValues.includeDeliveryCharge\r\n ? this.state.generalFormValues.includeDeliveryCharge\r\n : false,\r\n comment: this.state.generalFormValues.comment\r\n ? this.state.generalFormValues.comment\r\n : \"\",\r\n applicableStoreIds: this.state.generalFormValues.applicableStoreIds.join(\r\n \",\"\r\n ),\r\n applicableCityIds: this.state.generalFormValues.applicableCityIds.join(\r\n \",\"\r\n ),\r\n applicableServiceIds: this.state.generalFormValues.applicableServiceIds.join(\r\n \",\"\r\n ),\r\n discountOnValue: parseFloat(this.state.generalFormValues.discountValue),\r\n };\r\n this.discountmasterservice\r\n .saveUpdateDiscountMaster(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n // this.setState({ discountID: response.data });\r\n notification[\"success\"]({\r\n message: \"Discount\",\r\n description: response.message,\r\n duration: 1,\r\n onClose: () => {\r\n this.setState({ activeStep: 1 });\r\n this.setState({ fullLoading: false });\r\n },\r\n });\r\n if (this.state.mode === \"edit\" || this.state.mode === \"view\") {\r\n this.getDiscountMaster(this.props.match.params.discountID);\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to submit the form\",\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n generalForm = React.createRef();\r\n handleSubmit = (values) => {\r\n this.setState(\r\n {\r\n generalFormValues: values,\r\n },\r\n () => {\r\n this.addUpdateDiscount();\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Discount Master\",\r\n ].join(\" \")}\r\n />\r\n
\r\n
\r\n this.setState({ activeStep: current })}\r\n onChange={(current) => {\r\n if (this.state.discountID === 0) {\r\n return false;\r\n } else {\r\n this.setState({ activeStep: current });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n if (name === \"general\") {\r\n this.handleSubmit(info.values);\r\n }\r\n }}\r\n >\r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n DiscountStatusName={this.state.discountStatus}\r\n discountID={this.state.discountID}\r\n getDiscountMaster={this.getDiscountMaster}\r\n discountTypeEditID={this.state.discountTypeEditID}\r\n />\r\n\r\n {this.state.activeStep === 1 ? (\r\n \r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(AddDiscount);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport Common from \"./common\";\r\n\r\nexport default class termsandconditionsservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n handleError = () => {\r\n return null;\r\n };\r\n \r\n\r\n async deleteTermsAndConditions(TermsAndConditionIDs) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_TERMS_AND_CONDITIONS });\r\n let itemArray = [];\r\n let ID = \"?TermsAndConditionIDs=\" + TermsAndConditionIDs;\r\n await myApi.endpoints.DeleteTermsAndConditionByID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteTermsAndConditions(TermsAndConditionIDs);\r\n });\r\n }\r\n return Promise.resolve(itemArray); \r\n }\r\n\r\n async addUpdateTermsAndConditions(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_UPDATE_TERMS_AND_CONDITIONS });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateTermsAndConditions.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.addUpdateTermsAndConditions(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n \r\n\r\n async getAllTermsAndConditionsList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.TERMS_AND_CONDITIONS_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.TERMS_AND_CONDITIONS_LIST]\r\n .getAllPost({\r\n termsAndConditionID: null,\r\n termsAndCondition: null,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getAllTermsAndConditionsList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport termsandconditionsservice from \"../../services/termsandconditionsservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class termsAndConditions extends React.Component {\r\n termsAndConditionsService = new termsandconditionsservice();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n \r\n state = {\r\n modalLoading: false,\r\n termsAndConditionID: 0,\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showAddPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.TERMS_AND_CONDITIONS\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"User Name\",\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Title\",\r\n dataIndex: \"title\",\r\n key: \"title\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Terms And Conditions\",\r\n dataIndex: \"termsAndCondition\",\r\n key: \"termsAndCondition\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (termsAndCondition) => (\r\n \r\n {termsAndCondition}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Created Date\",\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"view\",\r\n termsAndConditionID: record.termsAndConditionID,\r\n currentExpense: {\r\n termsAndCondition: record.termsAndCondition,\r\n title :record.title\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n termsAndConditionID: record.termsAndConditionID,\r\n currentExpense: {\r\n termsAndCondition: record.termsAndCondition,\r\n title :record.title\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {/* {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n this.handleDelete(record.termsAndConditionID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n this.getTermsAndConditionsList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n handleDelete = (id) => {\r\n // this.setState({ tableLoading: true });\r\n this.termsAndConditionsService.deleteTermsAndConditions(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Terms And Conditions\",\r\n description: \"Terms And Conditions deleted successfully\",\r\n });\r\n \r\n this.getTermsAndConditionsList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Terms And Conditions\",\r\n description: \"Unable to delete termsAndCondition\",\r\n });\r\n }\r\n // this.setState({ tableLoading: false });\r\n });\r\n };\r\n addUpdateTermsAndConditions = (values) => {\r\n let params = {\r\n TermsAndConditionID:parseInt(this.state.termsAndConditionID),\r\n TermsAndCondition: values.termsAndCondition,\r\n Title:values.title\r\n };\r\n this.setState({ modalLoading: true });\r\n this.termsAndConditionsService.addUpdateTermsAndConditions(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Terms And Conditions\",\r\n description: response.message,\r\n });\r\n this.getTermsAndConditionsList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showAddPopup: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Terms And Conditions\",\r\n description: response.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n getTermsAndConditionsList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.termsAndConditionsService\r\n .getAllTermsAndConditionsList(index, size, sortColumn, sortOrder, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.termsAndConditionID;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Terms And Conditions\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of notices\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n {\r\n // this.setState({\r\n // search: event.target.value.toString().toLowerCase(),\r\n // });\r\n // this.getTermsAndConditionsList(\r\n // this.state.pagination.current,\r\n // this.state.pagination.pageSize,\r\n // this.state.sorter.field,\r\n // this.state.sorter.order,\r\n // event.target.value.toString().toLowerCase()\r\n // );\r\n // }}\r\n // />,\r\n \r\n // this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isAdd == true ? (\r\n // \r\n // this.setState({\r\n // termsAndConditionID: 0,\r\n // showAddPopup: true,\r\n // popupMode: \"add\",\r\n // currentExpense: {},\r\n // })\r\n // }\r\n // key=\"2\"\r\n // >\r\n // Add Terms And Conditions\r\n // \r\n // ) : null,\r\n \r\n \r\n ]}\r\n />\r\n \r\n\r\n {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getTermsAndConditionsList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n this.addUpdateTermsAndConditions(values);\r\n }}\r\n initialValues={this.state.currentExpense}\r\n >\r\n \r\n \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.popupMode === \"view\" ? (\r\n \r\n Cancel\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","import React from 'react';\r\nimport TermsAndConditions from '../../components/TermsAndConditions/termsAndConditions.component';\r\n\r\nexport default class termsAndConditions extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass PackageConfiguration {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(lkPackageID) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_LKPACKAGE_BY_ID });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n let ID = \"?LKPackageIDs=\" + lkPackageID;\r\n await myApi.endpoints[this.endpoint.DELETE_LKPACKAGE_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(lkPackageID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_LKPACKAGE_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_LKPACKAGE_MASTER]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrievePackageConfiguration(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_LKPACKAGE_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_LKPACKAGE_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrievePackageConfiguration(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default PackageConfiguration;\r\n","import React from \"react\";\r\nimport styles from \"./packageconfigurationcomponent.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport PackageConfigurationService from \"../../../services/lkpackageconfigurationservice\";\r\n// import Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLetters,\r\n MessageLetters,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class PackageConfiguration extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.PackageConfigurationService = new PackageConfigurationService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n lkPackageConfiguration: [],\r\n lkPackageID: 0,\r\n lkPackageName: \"\",\r\n packageAmount: \"\",\r\n bonusAmount: \"\",\r\n bonusAmountValidity: \"\",\r\n description: \"\",\r\n descriptionTitle: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.PACKAGE_CONFIG\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"ServiceID\",\r\n // dataIndex: \"serviceID\",\r\n // key: \"serviceID\",\r\n // },\r\n {\r\n title: labels.PACKAGE_NAME,\r\n dataIndex: \"packageName\",\r\n key: \"packageName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.PACKAGE_AMOUNT,\r\n dataIndex: \"packageAmount\",\r\n key: \"packageAmount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.BONUS_AMOUNT,\r\n dataIndex: \"bonusAmount\",\r\n key: \"bonusAmount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.BONUS_VALIDITY,\r\n dataIndex: \"bonusAmountValidityInDays\",\r\n key: \"bonusAmountValidityInDays\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TITLE,\r\n dataIndex: \"descriptionTitle\",\r\n key: \"descriptionTitle\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: labels.DESCRIPTION,\r\n dataIndex: \"description\",\r\n key: \"description\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n lkPackageID: record.lkPackageID,\r\n packageName: record.packageName,\r\n packageAmount: record.packageAmount,\r\n bonusAmount: record.bonusAmount,\r\n bonusAmountValidity: record.bonusAmountValidityInDays,\r\n description: record.description,\r\n descriptionTitle: record.descriptionTitle,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n lkPackageID: record.lkPackageID,\r\n packageName: record.packageName,\r\n packageAmount: record.packageAmount,\r\n bonusAmount: record.bonusAmount,\r\n bonusAmountValidity: record.bonusAmountValidityInDays,\r\n description: record.description,\r\n descriptionTitle: record.descriptionTitle,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.lkPackageID)}\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkPackageID: this.state.lkPackageID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n lkPackageID: this.state.lkPackageID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n lkPackageID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.PackageConfigurationService.retrievePackageConfiguration(params).then(\r\n (items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n lkPackageID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n lkPackageConfiguration: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PACKAGE_CONFIGURATION,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_PACKAGE_CONFIGURATION_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n }\r\n );\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (lkPackageID) => {\r\n if (\r\n lkPackageID === \"\" ||\r\n lkPackageID === null ||\r\n lkPackageID === undefined\r\n ) {\r\n notification[\"error\"]({\r\n message: labels.PACKAGE_CONFIGURATION,\r\n description: labels.PLEASE_SELECT_ATLEAST_ONE_ROW,\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.PackageConfigurationService.removeItems(lkPackageID).then(\r\n (items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: labels.PACKAGE_CONFIGURATION,\r\n description: this.common.Message(items.message),\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkPackageID: parseInt(this.state.lkPackageID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PACKAGE_CONFIGURATION,\r\n description: this.common.Message(items.message),\r\n });\r\n }\r\n this.setState({ loading: false });\r\n }\r\n );\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n this.setState({ modalLoading: true });\r\n var postData = {\r\n lkPackageID: this.state.lkPackageID,\r\n packageName: this.state.packageName,\r\n packageAmount: parseInt(this.state.packageAmount),\r\n bonusAmount: parseInt(this.state.bonusAmount),\r\n bonusAmountValidityInDays: parseInt(this.state.bonusAmountValidity),\r\n description: this.state.description,\r\n descriptionTitle: this.state.descriptionTitle,\r\n };\r\n this.PackageConfigurationService.insertUpdateItems(postData).then(\r\n (items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: labels.PACKAGE_CONFIGURATION,\r\n description: this.common.Message(items.message),\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkPackageID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PACKAGE_CONFIGURATION,\r\n description: this.common.Message(items.message),\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n }\r\n );\r\n };\r\n\r\n handlePackageName = (e) => {\r\n this.setState({ packageName: e.target.value });\r\n };\r\n\r\n handlePackageAmount = (e) => {\r\n this.setState({ packageAmount: e.target.value });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleBonusAmountValidity = (e) => {\r\n this.setState({ bonusAmountValidity: e.target.value });\r\n };\r\n\r\n handleDescriptionTitle = (e) => {\r\n this.setState({ descriptionTitle: e.target.value });\r\n };\r\n\r\n handleDescription = (e) => {\r\n this.setState({ description: e.target.value });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n lkPackageID: 0,\r\n packageName: \"\",\r\n packageAmount: \"\",\r\n bonusAmount: \"\",\r\n bonusAmountValidity: \"\",\r\n description: \"\",\r\n descriptionTitle: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n // handleCheckbox=(event)=>{\r\n // this.setState({ isAddOn: event.target.checked });\r\n // }\r\n\r\n render() {\r\n const {\r\n packageName,\r\n packageAmount,\r\n bonusAmount,\r\n bonusAmountValidity,\r\n pagination,\r\n loading,\r\n descriptionTitle,\r\n description,\r\n } = this.state;\r\n let updateDescriptionTitle = [null, undefined, \"\"].includes(\r\n descriptionTitle\r\n )\r\n ? undefined\r\n : descriptionTitle;\r\n\r\n const packageConfigurationItems = this.state.lkPackageConfiguration;\r\n // let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = packageConfigurationItems.map((item, index) => ({\r\n key: item.lkPackageID,\r\n lkPackageID: item.lkPackageID,\r\n packageName: item.packageName,\r\n packageAmount: item.packageAmount,\r\n bonusAmount: item.bonusAmount,\r\n bonusAmountValidityInDays: item.bonusAmountValidityInDays,\r\n description: item.description,\r\n descriptionTitle: item.descriptionTitle,\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n {labels.ADD_PACKAGE_CONFIGURATION}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n packageConfigurationItems.length > 0 ? (\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n \r\n ) : null\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 {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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","import React from \"react\";\r\nimport PackageConfiguration from \"../../../components/LKWallet/PackageConfiguration/packageconfiguration.component\"\r\n\r\nexport default class PackageConfigurationScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass RefferalBonusConfigurationService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(lkRefferalProgramID) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_LKREFERRAL_PROGRAM_BY_ID });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n let ID = \"?LKReferralProgramIDs=\" + lkRefferalProgramID;\r\n await myApi.endpoints[this.endpoint.DELETE_LKREFERRAL_PROGRAM_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(lkRefferalProgramID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_LKREFERRAL_PROGRAM });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_LKREFERRAL_PROGRAM]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveReferralBonusConfiguration(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_LKREFERRAL_PROGRAM_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_LKREFERRAL_PROGRAM_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveReferralBonusConfiguration(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default RefferalBonusConfigurationService;\r\n","import React from \"react\";\r\nimport styles from \"./refferalbonusconfigurationcomponent.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n Spin,\r\n notification,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport RefferalBonusConfigurationService from \"../../../services/lkrefferalbonusconfigurationservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLetters,\r\n MessageLetters,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../shared/validator\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class RefferalBonusConfiguration extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.RefferalBonusConfigurationService =\r\n new RefferalBonusConfigurationService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n lkRefferalBonusConfiguration: [],\r\n lkReferralProgramID: 0,\r\n programName: \"\",\r\n referralBonus: \"\",\r\n refereeBonus: \"\",\r\n bonusValidityInDays: \"\",\r\n msgForReferral: \"\",\r\n msgForReferee: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n iActive: \"\",\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.REFERRAL_BONUS\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"ServiceID\",\r\n // dataIndex: \"serviceID\",\r\n // key: \"serviceID\",\r\n // },\r\n {\r\n title: labels.REFFERAL_PROGRAM_NAME,\r\n dataIndex: \"programName\",\r\n key: \"programName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.REFFERAL_BONUS_AMOUNT,\r\n dataIndex: \"referralBonus\",\r\n key: \"referralBonus\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.REFEREE_BONUS_AMOUNT,\r\n dataIndex: \"refereeBonus\",\r\n key: \"refereeBonus\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.BONUS_AMOUNT_VALIDITY_DAYS,\r\n dataIndex: \"bonusValidityInDays\",\r\n key: \"bonusValidityInDays\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: \"Message For Referral\",\r\n // dataIndex: \"msgForReferral\",\r\n // key: \"msgForReferral\",\r\n // sorter:true\r\n // },\r\n // {\r\n // title: \"Message For Referee\",\r\n // dataIndex: \"msgForReferee\",\r\n // key: \"msgForReferee\",\r\n // sorter:true\r\n // },\r\n // {\r\n // title: \"IsActive\",\r\n // dataIndex: \"isActive\",\r\n // key: \"isActive\",\r\n // sorter:true\r\n // },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n lkReferralProgramID: record.lkReferralProgramID,\r\n programName: record.programName,\r\n referralBonus: record.referralBonus,\r\n refereeBonus: record.refereeBonus,\r\n bonusValidityInDays: record.bonusValidityInDays,\r\n msgForReferral: record.msgForReferral,\r\n msgForReferee: record.msgForReferee,\r\n isActive: record.isActive,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n {\r\n this.setState({\r\n showAddPopup: true,\r\n lkReferralProgramID: record.lkReferralProgramID,\r\n programName: record.programName,\r\n referralBonus: record.referralBonus,\r\n refereeBonus: record.refereeBonus,\r\n bonusValidityInDays: record.bonusValidityInDays,\r\n msgForReferral: record.msgForReferral,\r\n msgForReferee: record.msgForReferee,\r\n isActive: record.isActive,\r\n });\r\n if (record.isActive === \"false\") {\r\n notification[\"error\"]({\r\n message: labels.REFERRAL_BONUS_CONFIGURATION,\r\n description:\r\n labels.YOU_CAN_ONLY_UPDATE_THE_LAST_ADDED_PROGRAM,\r\n });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {/* {this.state.userRights.length > 0 && this.state.userRights[0].isDelete == true ?\r\n this.removeItems(record.lkReferralProgramID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkReferralProgramID: this.state.lkReferralProgramID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n lkReferralProgramID: 0,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n lkReferralProgramID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.RefferalBonusConfigurationService.retrieveReferralBonusConfiguration(\r\n params\r\n ).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n lkReferralProgramID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n lkRefferalBonusConfiguration: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REFERRAL_BONUS_CONFIGURATION,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_REFFERAL_BONUS_CONFIGURATION_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n // removeItems = (lkReferralProgramID) => {\r\n // if (\r\n // lkReferralProgramID === \"\" ||\r\n // lkReferralProgramID === null ||\r\n // lkReferralProgramID === undefined\r\n // ) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Refferal Bonus Configuration\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n // } else {\r\n // this.RefferalBonusConfigurationService.removeItems(\r\n // lkReferralProgramID\r\n // ).then((items) => {\r\n // if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\r\n // \"success\",\r\n // \"Refferal Bonus Configuration\",\r\n // items.message\r\n // );\r\n // const { pagination } = this.state;\r\n // this.fetchItems({\r\n // lkReferralProgramID: parseInt(this.state.lkReferralProgramID),\r\n // pageIndex: pagination.current,\r\n // pageSize: pagination.pageSize,\r\n // pagination,\r\n // });\r\n // } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Refferal Bonus Configuration\",\r\n // items.message\r\n // );\r\n // }\r\n // });\r\n // }\r\n // };\r\n\r\n formRef = React.createRef();\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n this.setState({ modalLoading: true });\r\n var postData = {\r\n lkReferralProgramID: this.state.lkReferralProgramID,\r\n programName: this.state.programName,\r\n referralBonus: parseInt(this.state.referralBonus),\r\n refereeBonus: parseInt(this.state.refereeBonus),\r\n bonusValidityInDays: parseInt(this.state.bonusValidityInDays),\r\n msgForReferral: null,\r\n msgForReferee: null,\r\n };\r\n this.RefferalBonusConfigurationService.insertUpdateItems(postData).then(\r\n (items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: labels.REFERRAL_BONUS_CONFIGURATION,\r\n description: this.common.Message(items.message),\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkReferralProgramID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REFERRAL_BONUS_CONFIGURATION,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_SUBMIT_THE_DATA,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n }\r\n );\r\n };\r\n\r\n handleProgramName = (e) => {\r\n this.setState({ programName: e.target.value });\r\n };\r\n\r\n handlereferralBonus = (e) => {\r\n this.setState({ referralBonus: e.target.value });\r\n };\r\n\r\n handleRefereeBonus = (e) => {\r\n this.setState({ refereeBonus: e.target.value });\r\n };\r\n\r\n handleBonusValidityInDays = (e) => {\r\n this.setState({ bonusValidityInDays: e.target.value });\r\n };\r\n\r\n handleMsgForReferral = (e) => {\r\n this.setState({ msgForReferral: e.target.value });\r\n };\r\n\r\n handleMsgForReferee = (e) => {\r\n this.setState({ msgForReferee: e.target.value });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n lkReferralProgramID: 0,\r\n programName: \"\",\r\n referralBonus: \"\",\r\n refereeBonus: \"\",\r\n bonusValidityInDays: \"\",\r\n msgForReferral: \"\",\r\n msgForReferee: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n // handleCheckbox=(event)=>{\r\n // this.setState({ isAddOn: event.target.checked });\r\n // }\r\n\r\n render() {\r\n const {\r\n programName,\r\n referralBonus,\r\n refereeBonus,\r\n bonusValidityInDays,\r\n isActive,\r\n msgForReferee,\r\n msgForReferral,\r\n pagination,\r\n loading,\r\n } = this.state;\r\n // let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const lkPackageConfigurationItems = this.state.lkRefferalBonusConfiguration;\r\n const listItems = lkPackageConfigurationItems.map((item, index) => ({\r\n key: item.lkReferralProgramID,\r\n lkReferralProgramID: item.lkReferralProgramID,\r\n programName: item.programName,\r\n referralBonus: item.referralBonus,\r\n refereeBonus: item.refereeBonus,\r\n bonusValidityInDays: item.bonusValidityInDays,\r\n msgForReferral: item.msgForReferral,\r\n msgForReferee: item.msgForReferee,\r\n isActive: item.isActive.toString(),\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n {labels.ADD_REFFERAL_BONUS_CONFIGURATION}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 && this.state.userRights[0].isDelete == true ?\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n :null} */}\r\n \r\n \r\n \r\n {/* ,msgForReferral,msgForReferee}}> */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \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.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n\r\n {this.state.lkReferralProgramID === 0 ? (\r\n \r\n this.formRef.current\r\n .validateFields()\r\n .then(this.handlePopupAdd)\r\n }\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {this.state.lkReferralProgramID === 0\r\n ? labels.ADD\r\n : labels.UPDATE}\r\n \r\n \r\n ) : (\r\n \r\n {this.state.lkReferralProgramID === 0\r\n ? labels.ADD\r\n : labels.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","import React from \"react\";\r\nimport RefferalBonusConfiguration from \"../../../components/LKWallet/RefferalBonusConfiguration/refferalbonusconfiguration.component\"\r\n\r\nexport default class RefferalBonusConfigurationScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass LKCompensation {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n // async removeItems(lkPackageID){\r\n // const myApi=new API({url:this.config.ITEM_LKWALLET_URL})\r\n // myApi.createEntity({name:this.endpoint.DELETE_LKPACKAGE_BY_ID})\r\n // let itemArray=[];\r\n // let ID=\"?LKPackageIDs=\"+lkPackageID\r\n // await myApi.endpoints[this.endpoint.DELETE_LKPACKAGE_BY_ID].deleteById(ID)\r\n // .then(({data})=>{\r\n // itemArray=data\r\n // })\r\n // .catch(err=>{\r\n // this.handleError(err);\r\n // console.log(err)\r\n // itemArray={\r\n // message:\"Internal server error\"\r\n // }\r\n // })\r\n // return Promise.resolve(itemArray)\r\n // }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_LKCOMPENSATION });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.ADD_LKCOMPENSATION]\r\n .getAllPost(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async getOrderIDS(id, searchStr) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_ORDERIDS_COMPENSATION_BY_CUSTID,\r\n });\r\n let itemArray = [];\r\n\r\n // let ID = \"?SearchString=\" + searchStr;\r\n let ID = \"?CustomerID=\" + id + \"&SearchString=\" + searchStr;\r\n await myApi.endpoints[this.endpoint.GET_ORDERIDS_COMPENSATION_BY_CUSTID]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getOrderIDS(searchStr);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async getCustomerData(searchStr) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SEARCH_CUSTOMER });\r\n let itemArray = [];\r\n\r\n let ID = \"?SearchString=\" + searchStr;\r\n await myApi.endpoints.GetSearchCustomer.getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getCustomerData(searchStr);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveCompensationConfiguration(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_LKCOMPENSATION_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_LKCOMPENSATION_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCompensationConfiguration(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default LKCompensation;\r\n","import React from \"react\";\r\nimport styles from \"./lkcompensation.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n DatePicker,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport LKCompensation from \"../../../services/lkcompensationservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { RegexInteger, MessageNumbers } from \"../../../shared/validator\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst { RangePicker } = DatePicker;\r\n\r\nexport default class Compensation extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.CompensationService = new LKCompensation();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n lkCompensationItems: [],\r\n lkCompensationID: 0,\r\n // customerName:[],\r\n customerName: {\r\n // disabled: true,\r\n data: [],\r\n selected: null,\r\n },\r\n splitOrderNos: {\r\n data: [],\r\n selected: null,\r\n },\r\n bonusAmount: \"\",\r\n // validFrom: \"\",\r\n // validTo: \"\",\r\n validDate: [],\r\n remark: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.COMPENSATION\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.CUSTOMER_NAME,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SPLIT_ORDER_NO, //labels.CUSTOMER_NAME,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.BONUS_AMOUNT,\r\n dataIndex: \"bonusAmount\",\r\n key: \"bonusAmount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.VALID_FROM,\r\n dataIndex: \"validFrom\",\r\n key: \"validFrom\",\r\n sorter: true,\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.VALID_TO,\r\n dataIndex: \"validTo\",\r\n key: \"validTo\",\r\n sorter: true,\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: labels.USER_NAME,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title:labels.CREATED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : Moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n \r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n lkCompensationID: record.lkCompensationID,\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: record.customerName,\r\n },\r\n splitOrderNos: {\r\n ...this.state.splitOrderNos,\r\n selected: record.splitOrderNumber,\r\n },\r\n bonusAmount: record.bonusAmount,\r\n validDate: [\r\n Moment(record.validFrom),\r\n Moment(record.validTo),\r\n ],\r\n remark: record.remark,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {/* {this.state.userRights.length > 0 && this.state.userRights[0].isUpdate == true ?\r\n \r\n :\r\n null\r\n } */}\r\n {/* {console.log(\"delete\",this.state.userRights[0].isDelete)}\r\n {this.state.userRights.length > 0 && this.state.userRights[0].isDelete == true ?\r\n this.removeItems(record.lkCompensationID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n :null\r\n } */}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkCompensationID: this.state.lkCompensationID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n lkCompensationID: this.state.lkCompensationID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n lkCompensationID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n /** selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({rowselectedvalue:selectedRowKeys}) \r\n console.log(\"rows\",selectedRowKeys)\r\n console.log(\r\n `selectedRowKeys: ${selectedRowKeys}`,\r\n \"selectedRows: \",\r\n selectedRows\r\n );\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected=()=>{\r\n var rowselectedvalue=this.state.rowselectedvalue.toString(); \r\n this.removeItems(rowselectedvalue) \r\n }*/\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.CompensationService.retrieveCompensationConfiguration(params).then(\r\n (items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n lkCompensationID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n\r\n this.setState({\r\n lkCompensationItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.COMPENSATION,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_COMPENSATION_CONFIGURATION_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n }\r\n );\r\n };\r\n\r\n onSearch = (searchText) => {\r\n this.CompensationService.getCustomerData(searchText).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.COMPENSATION,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n });\r\n };\r\n\r\n // onSearchSplitOrder = (searchText) => {\r\n // debugger;\r\n // this.onSearchOrderIDs(this.state.customerName.selected, searchText);\r\n // };\r\n\r\n onSearchOrderIDs = (value, searchString) => {\r\n this.CompensationService.getOrderIDS(parseInt(value), searchString).then(\r\n (response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n splitOrderNos: {\r\n ...this.state.splitOrderNos,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.COMPENSATION,\r\n description: labels[response.message]\r\n ? labels[response.message]\r\n : \"Unable to get split order no\", //labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n //function for deleting data from server call\r\n /** removeItems = (lkCompensationID) => { \r\n if(lkCompensationID ===\"\"|| lkCompensationID===null || lkCompensationID===undefined){ \r\n openNotificationWithIcon('error', 'Compensation Configuration','Please Select Atleast One Row')\r\n }\r\n else {\r\n this.CompensationService.removeItems(lkCompensationID).then(items=>{\r\n if (items.result === 'Success') {\r\n openNotificationWithIcon('success', 'Compensation Configuration', items.message)\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkCompensationID: parseInt(this.state.lkCompensationID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n else {\r\n openNotificationWithIcon('error', 'Compensation Configuration', items.message)\r\n }\r\n })\r\n }\r\n } */\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n this.setState({ modalLoading: true });\r\n var postData = {\r\n lkCompensationID: this.state.lkCompensationID,\r\n customerID: this.state.customerName.selected,\r\n splitOrderNumber: this.state.splitOrderNos.selected,\r\n bonusAmount: parseInt(this.state.bonusAmount),\r\n validFrom: this.state.validDate[0].format(\"YYYY-MM-DD\"),\r\n validTo: this.state.validDate[1].format(\"YYYY-MM-DD\"),\r\n remark: this.state.remark,\r\n };\r\n this.CompensationService.insertUpdateItems(postData).then((items) => {\r\n if (items.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.COMPENSATION,\r\n description: this.common.Message(items.message),\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n lkCompensationID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.COMPENSATION,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_ADD_THE_DATA,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n lkCompensationID: 0,\r\n customerName: { data: [], selected: null },\r\n splitOrderNos: { data: [], selected: null },\r\n bonusAmount: \"\",\r\n // validFrom: \"\",\r\n // validTo: \"\",\r\n validDate: [],\r\n remark: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n handleChangeRangePicker = (value) => {\r\n this.setState({ validDate: value });\r\n };\r\n // handleCheckbox=(event)=>{\r\n // this.setState({ isAddOn: event.target.checked });\r\n // }\r\n\r\n render() {\r\n const {\r\n customerName,\r\n splitOrderNos,\r\n bonusAmount,\r\n // validFrom,\r\n // validTo,\r\n validDate,\r\n pagination,\r\n loading,\r\n remark,\r\n } = this.state;\r\n const lkCompensationItems = this.state.lkCompensationItems;\r\n // let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = lkCompensationItems.map((item, index) => ({\r\n key: item.lkCompensationID,\r\n lkCompensationID: item.lkCompensationID,\r\n customerName: item.customerName,\r\n bonusAmount: item.bonusAmount,\r\n validFrom: item.validFrom,\r\n validTo: item.validTo,\r\n remark: item.remark,\r\n splitOrderNumber: item.splitOrderNumber,\r\n totalRecords: item.totalRecords,\r\n createdByName:item.createdByName,\r\n createdOn:item.createdOn,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n {labels.ADD_COMPENSATION_CONFIGURATION}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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.setState(\r\n {\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: value,\r\n },\r\n },\r\n () => this.onSearchOrderIDs(value, \"\")\r\n );\r\n }}\r\n disabled={this.state.isEnabled}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children\r\n // .toLowerCase()\r\n // .indexOf(input.toLowerCase()) >= 0\r\n // }\r\n >\r\n {this.state.customerName.data.length !== 0\r\n ? this.state.customerName.data.map(\r\n (singleCustomerName) => {\r\n return singleCustomerName.customerID !== \"-1\" ? (\r\n \r\n {singleCustomerName.customerName +\r\n \" (\" +\r\n singleCustomerName.mobileNo +\r\n \")\"}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.onSearchOrderIDs(\r\n this.state.customerName.selected,\r\n value\r\n );\r\n }}\r\n allowClear\r\n placeholder=\"Select Split Order No\" //{labels.SEARCH_CUSTOMER}\r\n onChange={(value) => {\r\n this.setState({\r\n splitOrderNos: {\r\n ...this.state.splitOrderNos,\r\n selected: value,\r\n },\r\n });\r\n }}\r\n disabled={this.state.isEnabled}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children\r\n // .toLowerCase()\r\n // .indexOf(input.toLowerCase()) >= 0\r\n // }\r\n >\r\n {this.state.splitOrderNos.data.length !== 0\r\n ? this.state.splitOrderNos.data.map(\r\n (singleSplitOrderNos) => {\r\n return singleSplitOrderNos.splitOrderNumber !==\r\n \"-1\" ? (\r\n \r\n {singleSplitOrderNos.splitOrderNumber}\r\n \r\n ) : null;\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 this.handleDateChange(date, \"validFrom\")\r\n }\r\n disabled={this.state.isEnabled}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"validTo\")}\r\n disabled={this.state.isEnabled}\r\n />\r\n \r\n */}\r\n \r\n \r\n \r\n currentDate.isBefore(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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","import React from \"react\";\r\nimport Compensation from \"../../../components/LKWallet/Compensation/lkcompensation.component\"\r\n\r\nexport default class CompensationScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass LKEmployeeCredit {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveEmployeeCreditConfiguration(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_EMPLOYEE_CREDIT_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_EMPLOYEE_CREDIT_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveEmployeeCreditConfiguration(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async uploadFile(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.UPLOAD_EMPLOYEE_CREDIT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.UPLOAD_EMPLOYEE_CREDIT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadFile(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getReport(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_EMPLOYEE_CRDIT_FILE_REPORT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_EMPLOYEE_CRDIT_FILE_REPORT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getReport(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default LKEmployeeCredit;\r\n","import React from \"react\";\r\nimport styles from \"./lkemployeecredit.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n // Popconfirm,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n // DatePicker,\r\n Upload,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faDownload,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport LKEmployeeCredit from \"../../../services/lkemployeecreditservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class EmployeeCredit extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.employeeCreditService = new LKEmployeeCredit();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n excelFile: ,\r\n lkEmployeeCreditItems: [],\r\n empCreditFileID: 0,\r\n fileName: \"\",\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n EmployeeCreditDetailsList: [],\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.EMPLOYEE_CREDITS\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.FILE_NAME,\r\n dataIndex: \"fileName\",\r\n key: \"fileName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TOTAL_RECORDS,\r\n dataIndex: \"totalCnt\",\r\n key: \"totalCnt\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.SUCCEEDED,\r\n dataIndex: \"succeeded\",\r\n key: \"succeeded\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.empCreditFileID, true)}\r\n type=\"link\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.FAILED,\r\n dataIndex: \"failed\",\r\n key: \"failed\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.empCreditFileID, false)}\r\n type=\"link\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n // {\r\n // title: \"Actions\",\r\n // key: \"actions\",\r\n // render: (text, record) => (\r\n // \r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isView == true ? (\r\n // \r\n // this.setState({\r\n // showAddPopup: true,\r\n // empCreditFileID: record.empCreditFileID,\r\n // fileName: record.fileName,\r\n // totalCnt: record.totalCnt,\r\n // succeeded: record.succeeded,\r\n // failed: record.failed,\r\n // isEnabled: true,\r\n // isVisible: true,\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n empCreditFileID: this.state.empCreditFileID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n empCreditFileID: this.state.empCreditFileID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getReport = (id, type) => {\r\n this.employeeCreditService\r\n .getReport({\r\n empCreditFileID: parseInt(id),\r\n isSucceeded: type,\r\n })\r\n .then((response) => {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\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({ excelFile: })\r\n );\r\n });\r\n };\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n empCreditFileID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.employeeCreditService\r\n .retrieveEmployeeCreditConfiguration(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n empCreditFileID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n lkEmployeeCreditItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.EMPLOYEE_CREDITS,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_EMPLOYEE_CREDIT_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handleUpload = (values) => {\r\n this.setState({ modalLoading: true });\r\n let postData = new FormData();\r\n postData.append(\"EmployeeCreditFile\", values.file[0].originFileObj);\r\n this.employeeCreditService.uploadFile(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.EMPLOYEE_CREDITS,\r\n description: this.common.Message(response.message),\r\n });\r\n this.fetchItems({\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n ...this.state.pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.EMPLOYEE_CREDITS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPLOAD_THE_FILE,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n empCreditFileID: 0,\r\n fileName: \"\",\r\n totalCnt: \"\",\r\n succeeded: \"\",\r\n failed: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n // handleCheckbox=(event)=>{\r\n // this.setState({ isAddOn: event.target.checked });\r\n // }\r\n\r\n render() {\r\n const {\r\n fileName,\r\n totalCnt,\r\n succeeded,\r\n failed,\r\n pagination,\r\n loading,\r\n remark,\r\n } = this.state;\r\n const lkEmployeeCreditItems = this.state.lkEmployeeCreditItems;\r\n let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = lkEmployeeCreditItems.map((item, index) => ({\r\n key: item.empCreditFileID,\r\n empCreditFileID: item.empCreditFileID,\r\n fileName: item.fileName,\r\n totalCnt: item.totalCnt,\r\n succeeded: item.succeeded,\r\n failed: item.failed,\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n \r\n {labels.DOWNLOAD_FORMAT}\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n {labels.UPLOAD_FILE}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n }}\r\n >\r\n {\r\n setTimeout(() => {\r\n onSuccess(\"ok\");\r\n }, 0);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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","import React from \"react\";\r\nimport EmployeeCredit from \"../../../components/LKWallet/EmployeeCredit/lkemployeecredit.component\";\r\n\r\nexport default class EmployeeCreditsScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n }\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass LKCustomerBulkDebitService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getcstomerbulkdebitdata(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CUSTOMER_BULK_DEBIT_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_CUSTOMER_BULK_DEBIT_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getcstomerbulkdebitdata(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async uploadFile(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.UPLOAD_CUSTOMER_BULK_DEBIT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.UPLOAD_CUSTOMER_BULK_DEBIT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadFile(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getReport(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n\r\n myApi.createEntity({\r\n name: this.endpoint.GET_CUSTOMER__BULK_DEBIT_FILE_REPORT,\r\n });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_CUSTOMER__BULK_DEBIT_FILE_REPORT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getReport(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default LKCustomerBulkDebitService;\r\n","import React from \"react\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport styles from \"../../LKWallet/EmployeeCredit/lkemployeecredit.module.css\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n // Popconfirm,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n // DatePicker,\r\n Upload,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faDownload,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport LKCustomerBulkDebitService from \"../../../services/lkcustomerbulkdebitservice\";\r\n\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class Customerbulkdebit extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.customerbulkDebitService = new LKCustomerBulkDebitService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n excelFile: ,\r\n\r\n lkCustomerBulkDebitItems: [],\r\n custDebitFileID: 0,\r\n fileName: \"\",\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n \r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.CUSTOMER_BULK_DEBIT\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.FILE_NAME,\r\n dataIndex: \"fileName\",\r\n key: \"fileName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TOTAL_RECORDS,\r\n dataIndex: \"totalCnt\",\r\n key: \"totalCnt\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_BY,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n {\r\n title: labels.SUCCEEDED,\r\n dataIndex: \"succeeded\",\r\n key: \"succeeded\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.custDebitFileID, true)}\r\n type=\"link\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.FAILED,\r\n dataIndex: \"failed\",\r\n key: \"failed\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.custDebitFileID, false)}\r\n type=\"link\"\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 const { pagination } = this.state;\r\n this.fetchItems({\r\n custDebitFileID: this.state.custDebitFileID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n custDebitFileID: this.state.custDebitFileID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getReport = (id, type) => {\r\n this.customerbulkDebitService\r\n .getReport({\r\n custDebitFileID: parseInt(id),\r\n isSucceeded: type,\r\n })\r\n .then((response) => {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n {/* */}\r\n \r\n \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({ excelFile: })\r\n );\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n custDebitFileID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.customerbulkDebitService\r\n .getcstomerbulkdebitdata(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n custDebitFileID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n lkCustomerBulkDebitItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.CUSTOMER_BULK_DEBIT,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMER_BULK_DEBIT_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleUpload = (values) => {\r\n this.setState({ modalLoading: true });\r\n let postData = new FormData();\r\n postData.append(\"CustomerBulkDebitFile\", values.file[0].originFileObj);\r\n this.customerbulkDebitService.uploadFile(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.CUSTOMER_BULK_DEBIT,\r\n description: this.common.Message(response.message),\r\n });\r\n this.fetchItems({\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n ...this.state.pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.CUSTOMER_BULK_DEBIT,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPLOAD_THE_FILE,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n custDebitFileID: 0,\r\n fileName: \"\",\r\n totalCnt: \"\",\r\n succeeded: \"\",\r\n failed: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n fileName,\r\n totalCnt,\r\n succeeded,\r\n failed,\r\n pagination,\r\n loading,\r\n remark,\r\n } = this.state;\r\n const lkCustomerBulkDebitItems = this.state.lkCustomerBulkDebitItems;\r\n let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = lkCustomerBulkDebitItems.map((item, index) => ({\r\n key: item.custDebitFileID,\r\n custDebitFileID: item.custDebitFileID,\r\n fileName: item.fileName,\r\n totalCnt: item.totalCnt,\r\n succeeded: item.succeeded,\r\n failed: item.failed,\r\n totalRecords: item.totalRecords,\r\n createdBy: item.createdBy,\r\n createdByName: item.createdByName,\r\n createdOn:item.createdOn,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n \r\n {labels.DOWNLOAD_FORMAT}\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n {labels.UPLOAD_FILE}\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 if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n }}\r\n >\r\n {\r\n setTimeout(() => {\r\n onSuccess(\"ok\");\r\n }, 0);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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","import React from 'react'\r\nimport Customerbulkdebit from '../../../components/LKWallet/CustomerBulkDebit/customerbulkdebit.component';\r\n\r\nexport default class Customerbulkdebits extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass LKCustomerBulkCreditService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getcustomerbulkcreditdata(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CUSTOMER_BULK_CREDIT_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_CUSTOMER_BULK_CREDIT_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getcustomerbulkcreditdata(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async uploadFile(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.UPLOAD_CUSTOMER_BULK_CREDIT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.UPLOAD_CUSTOMER_BULK_CREDIT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadFile(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getReport(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n\r\n myApi.createEntity({\r\n name: this.endpoint.GET_CUSTOMER__BULK_CRDIT_FILE_REPORT,\r\n });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_CUSTOMER__BULK_CRDIT_FILE_REPORT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getReport(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default LKCustomerBulkCreditService;\r\n","import React from \"react\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport styles from \"../../LKWallet/EmployeeCredit/lkemployeecredit.module.css\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n // Popconfirm,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n // DatePicker,\r\n Upload,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faDownload,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport LKCustomerBulkCreditService from \"../../../services/lkcustomerbulkcreditservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class Customerbulkcredit extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.customerbulkCreditService = new LKCustomerBulkCreditService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n excelFile: ,\r\n \r\n lkCustomerBulkCreditItems:[],\r\n custCreditFileID: 0,\r\n fileName: \"\",\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n EmployeeCreditDetailsList: [],\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.CUSTOMER_BULK_CREDIT\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.FILE_NAME,\r\n dataIndex: \"fileName\",\r\n key: \"fileName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TOTAL_RECORDS,\r\n dataIndex: \"totalCnt\",\r\n key: \"totalCnt\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_BY,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n {\r\n title: labels.SUCCEEDED,\r\n dataIndex: \"succeeded\",\r\n key: \"succeeded\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n \r\n this.getReport(record.custCreditFileID, true)\r\n }\r\n type=\"link\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.FAILED,\r\n dataIndex: \"failed\",\r\n key: \"failed\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n \r\n this.getReport(record.custCreditFileID, false)\r\n }\r\n type=\"link\"\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 const { pagination } = this.state;\r\n this.fetchItems({\r\n custCreditFileID: this.state.custCreditFileID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n custCreditFileID: this.state.custCreditFileID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getReport = (id, type) => {\r\n this.customerbulkCreditService\r\n .getReport({\r\n custCreditFileID: parseInt(id),\r\n isSucceeded: type,\r\n })\r\n .then((response) => {\r\n \r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \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({ excelFile: })\r\n );\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n custCreditFileID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.customerbulkCreditService\r\n .getcustomerbulkcreditdata(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n custCreditFileID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n lkCustomerBulkCreditItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.CUSTOMER_BULK_CREDIT,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMER_BULK_CREDIT_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleUpload = (values) => {\r\n this.setState({ modalLoading: true });\r\n let postData = new FormData();\r\n postData.append(\"CustomerBulkCreditFile\", values.file[0].originFileObj);\r\n this.customerbulkCreditService.uploadFile(postData).then((response) => {\r\n \r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.CUSTOMER_BULK_CREDIT,\r\n description: this.common.Message(response.message),\r\n });\r\n this.fetchItems({\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n ...this.state.pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.CUSTOMER_BULK_CREDIT,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPLOAD_THE_FILE,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n custCreditFileID: 0,\r\n fileName: \"\",\r\n totalCnt: \"\",\r\n succeeded: \"\",\r\n failed: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n fileName,\r\n totalCnt,\r\n succeeded,\r\n failed,\r\n pagination,\r\n loading,\r\n remark,\r\n } = this.state;\r\n const lkCustomerBulkCreditItems = this.state.lkCustomerBulkCreditItems;\r\n \r\n let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = lkCustomerBulkCreditItems.map((item, index) => ({\r\n key: item.custCreditFileID,\r\n custCreditFileID: item.custCreditFileID,\r\n fileName: item.fileName,\r\n totalCnt: item.totalCnt,\r\n succeeded: item.succeeded,\r\n failed: item.failed,\r\n totalRecords: item.totalRecords,\r\n createdBy: item.createdBy,\r\n createdByName: item.createdByName,\r\n createdOn: item.createdOn,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n \r\n {labels.DOWNLOAD_FORMAT}\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n {labels.UPLOAD_FILE}\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 if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n }}\r\n >\r\n {\r\n setTimeout(() => {\r\n onSuccess(\"ok\");\r\n }, 0);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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","import React from 'react'\r\nimport Customerbulkcredit from '../../../components/LKWallet/CustomerBulkCredit/customerbulkcredit.component';\r\n\r\nexport default class Customerbulkcreditscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class LKRefund {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async insertItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_REFUND });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.ADD_REFUND]\r\n .getAllPost(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getCustomerData(searchStr) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SEARCH_CUSTOMER });\r\n let itemArray = [];\r\n let ID = \"?SearchString=\" + searchStr;\r\n await myApi.endpoints.GetSearchCustomer.getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getCustomerData(searchStr);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveRefundItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_REFUND_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_REFUND_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveRefundItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport LKRefund from \"../../../services/lkrefundservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport { RegexInteger, MessageNumbers } from \"../../../shared/validator\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * Refund screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 13 Sep 2020\r\n */\r\nclass Master extends React.Component {\r\n lkrefundService = new LKRefund();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n modalLoading: false,\r\n showfilterBox: false,\r\n // lkRefundID: 0,\r\n customerID: \"\",\r\n customerName: {\r\n data: [],\r\n selected: null,\r\n },\r\n amount: null,\r\n remark: \"\",\r\n refundItems: [],\r\n tableLoading: true,\r\n showAddPopup: false,\r\n isEnabled: false,\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.REFUND\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: labels.CUSTOMER_NAME,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.AMOUNT,\r\n dataIndex: \"amount\",\r\n key: \"amount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n\r\n {\r\n title: labels.USER_NAME,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title:labels.CREATED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: record.customerName,\r\n },\r\n amount: record.amount,\r\n remark: record.remark,\r\n isEnabled: true,\r\n isVisible: true,\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.getRefundList({\r\n customerID: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n getRefundList = (params = {}) => {\r\n this.setState({ tableLoading: true });\r\n this.lkrefundService.retrieveRefundItems(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n refundItems: response.data,\r\n });\r\n this.setState({\r\n pagination: {\r\n ...params.pagination,\r\n total: response.data.length ? response.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REFUND,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_REFUND_DATA,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n handlePopupAdd = (event) => {\r\n this.setState({ modalLoading: true });\r\n var postData = {\r\n customerID: this.state.customerName.selected,\r\n amount: parseInt(this.state.amount),\r\n remark: this.state.remark,\r\n };\r\n\r\n this.lkrefundService.insertItems(postData).then((items) => {\r\n if (items.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.REFUND,\r\n description: this.common.Message(items.message),\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.getRefundList({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REFUND,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_ADD_REFUND_DATA,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n onSearch = (searchText) => {\r\n this.setState({ tableLoading: true });\r\n this.lkrefundService.getCustomerData(searchText).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REFUND,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.getRefundList({\r\n customerID: \"\",\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n });\r\n };\r\n\r\n handleSearch = (event) => {\r\n this.getRefundList({\r\n customerID: \"\",\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n });\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n handleAmount = (e) => {\r\n this.setState({ amount: e.target.value });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n isVisible: false,\r\n isEnabled: false,\r\n customerName: { data: [], selected: null },\r\n amount: \"\",\r\n remark: \"\",\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n pagination,\r\n tableLoading,\r\n amount,\r\n remark,\r\n customerName,\r\n } = this.state;\r\n \r\n const refundListItem = this.state.refundItems.map((items) => ({\r\n lkRefundID: items.lkRefundID,\r\n customerID: items.customerID,\r\n customerName: items.customerName,\r\n remark: items.remark,\r\n amount: items.amount,\r\n createdByName:items.createdByName,\r\n createdOn:items.createdOn,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n {labels.ADD_REFUND}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\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 customerName: {\r\n ...this.state.customerName,\r\n selected: value,\r\n },\r\n });\r\n }}\r\n disabled={this.state.isEnabled}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children\r\n // .toLowerCase()\r\n // .indexOf(input.toLowerCase()) >= 0\r\n // }\r\n >\r\n {this.state.customerName.data.length !== 0\r\n ? this.state.customerName.data.map(\r\n (singleCustomerName) => {\r\n return singleCustomerName.customerID !== \"-1\" ? (\r\n \r\n {singleCustomerName.customerName +\r\n \" (\" +\r\n singleCustomerName.mobileNo +\r\n \")\"}\r\n \r\n ) : null;\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 {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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(Master);\r\n","import React from \"react\";\r\nimport Refund from \"../../../components/LKWallet/Refund/lkrefund.component\";\r\n\r\nexport default class RefundScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class AdvancePayment {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async addUpdateFactory(factory) {\r\n const addUpdateAPI = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n addUpdateAPI.createEntity({ name: this.endpoint.ADD_ADVANCE_PAYMENT });\r\n let returnVal = [];\r\n await addUpdateAPI.endpoints[this.endpoint.ADD_ADVANCE_PAYMENT]\r\n .create(factory)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.addUpdateFactory(factory);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n async getAllAdvancePaymentList(params) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n allFactoriesAPI.createEntity({\r\n name: this.endpoint.GET_ADVANCE_PAYMENT_MASTER,\r\n });\r\n let factories = [];\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ADVANCE_PAYMENT_MASTER]\r\n .getAllPost(params)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getAllAdvancePaymentList(params);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n \r\n\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class PaytmTransService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n }\r\n\r\n async getEDCMachineInfo() {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.PAYTM_EDC_MACHINE_INFO,\r\n });\r\n let append =\r\n \"?id=\" +\r\n parseInt(localStorage.getItem(\"branchID\")) +\r\n \"&platform=WEB\";\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.PAYTM_EDC_MACHINE_INFO]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.getEDCMachineInfo();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async EDCMachineRequest(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.PAYTM_EDC_TRANS_REQUEST });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.PaytmEDCTransRequest.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.EDCMachineRequest(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async EDCMachineStatus(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.PAYTM_EDC_TRANS_STATUS });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.PaytmEDCTransStatus.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.EDCMachineStatus(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async PaytmEDCTransInfo(invoiceId) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.PAYTM_EDC_TRANS_INFO,\r\n });\r\n let append = \"?id=\" + invoiceId + \"&platfrom=WEB\";\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.PAYTM_EDC_TRANS_INFO]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.PaytmEDCTransInfo(invoiceId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async QRCodeRequest(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.QR_CODE_GENERATOR });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.QRCodeGenerator.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.QRCodeRequest(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async DynamicQRCodeRequest(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.DYNAMICQR_CODE_GENERATOR });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.DynamicQRCodeGenerator.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.DynamicQRCodeRequest(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n\r\n async QRCodeStatusCheck(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.QR_CODE_STATUS_CHECK });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.QRCodeStatusCheck.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.EDCMachineStatus(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async CheckPaymentTransactionStatus(postData) {\r\n const myApi = new API({ url: this.config.PAYTM_URL });\r\n myApi.createEntity({ name: this.endpoint.CHECK_PAYMENT_TRANSACTION_STATUS });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.CheckPaymentTransactionStatus.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.CheckPaymentTransactionStatus(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n\r\n async CheckPhonePeStatus(postData) {\r\n const myApi = new API({ url: this.config.PHONEPE_URL });\r\n myApi.createEntity({ name: this.endpoint.CHECK_PHONEPE_STATUS });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints.CheckPhonePeStatus.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n if (err.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n this.handleError(err);\r\n console.log(err);\r\n itemArray = {\r\n message: \"Internal server error\",\r\n };\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n itemArray = this.CheckPhonePeStatus(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Modal,\r\n Table,\r\n notification,\r\n InputNumber,\r\n Tooltip,\r\n Spin,\r\n Popconfirm,\r\n} from \"antd\";\r\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n// import {\r\n// faChevronUp,\r\n// faPencilAlt,\r\n// faInfo,\r\n// } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport AdvancePayment from \"../../../services/lkadvancepaymentservice\";\r\nimport InvoiceService from \"../../../services/invoiceservice\";\r\nimport ReadyForDeliveryOrderService from \"../../../services/storereadyfordeliverysplitorderservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport PaytmTransService from \"../../../services/PaytmTransService\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst confirm = Modal.confirm;\r\n\r\n/**\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 17 September 2020\r\n */\r\nclass Master extends React.Component {\r\n advancePaymentService = new AdvancePayment();\r\n invoiceService = new InvoiceService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n paytmTransService = new PaytmTransService();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n modalLoading: false,\r\n showAddModal: false,\r\n showfilterBox: false,\r\n advancePayment: [],\r\n tableLoading: false,\r\n search: null,\r\n showAddPopup: false,\r\n isTransFail: false,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n customerName: {\r\n // disabled: true,\r\n data: [],\r\n selected: null,\r\n },\r\n paymentMethods: {\r\n data: [],\r\n disabled: true,\r\n selected: 1,\r\n },\r\n isResponseErrorShow: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ADVANCE_PAYMENT\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: labels.CUSTOMER_NAME,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.MONEY_TYPE,\r\n dataIndex: \"moneyType\",\r\n key: \"moneyType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.AMOUNT,\r\n dataIndex: \"advanceAmount\",\r\n key: \"advanceAmount\",\r\n sorter: true,\r\n render: (amount) => {\r\n return ₹ {amount};\r\n },\r\n },\r\n\r\n {\r\n title: labels.REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n // {\r\n // title: \"Invoice\",\r\n // dataIndex: \"invoiceID\",\r\n // key: \"invoiceID\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: \"Order\",\r\n // dataIndex: \"orderID\",\r\n // key: \"orderID\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: labels.ADDED_BY,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n },\r\n {\r\n title: labels.ADDED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n render: (date) => {\r\n return moment(date).format(\"DD-MM-YYYY H:m\");\r\n },\r\n },\r\n // {\r\n // title: \"Actions\",\r\n // key: \"actions\",\r\n // render: (text, record) => (\r\n // \r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isView == true ? (\r\n // \r\n // \r\n // \r\n // ) : null}\r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isUpdate == true ? (\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 componentDidMount() {\r\n this.setState({ isResponseErrorShow: false });\r\n this.getAdvancePaymentList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.getPaymentMethods();\r\n }\r\n getPaymentMethods = () => {\r\n this.invoiceService.getPaymentMethods().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: parseInt(single.enumDetailID),\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n data: data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_PAYMENT_METHOD_DATA,\r\n });\r\n }\r\n }\r\n });\r\n };\r\n readyForDeliveryOrderService = new ReadyForDeliveryOrderService();\r\n searchCustomer = (value) => {\r\n if (value !== \"\" && value !== null && value !== undefined) {\r\n this.readyForDeliveryOrderService\r\n .searchCustomer(value)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n getAdvancePaymentList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.advancePaymentService\r\n .getAllAdvancePaymentList({\r\n customerID: null,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let advancePayData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.factoryID;\r\n // singleData.openingDate = moment(singleData.openingDate).format(\r\n // \"YYYY-MM-DD\"\r\n // );\r\n // singleData.operatingTimeFrom = moment(\r\n // singleData.operatingTimeFrom,\r\n // \"H:mm\"\r\n // ).format(\"h:mm a\");\r\n // singleData.operatingTimeTo = moment(\r\n // singleData.operatingTimeTo,\r\n // \"H:mm\"\r\n // ).format(\"h:mm a\");\r\n advancePayData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ advancePayment: advancePayData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: advancePayData.length\r\n ? advancePayData[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_ADVANCE_PAYMENT_DATA,\r\n });\r\n this.setState({ isResponseErrorShow: true });\r\n }\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n generateTaxInvoiceRemoteRequest = (values) => {\r\n // if (this.state.paymentMethods.selected == 3 && this.state.restAmount > 0) {\r\n if (this.state.paymentMethods.selected == 3) {\r\n this.EDCRequest(values);\r\n }\r\n else if (this.state.paymentMethods.selected == 4) {\r\n this.QRCodeRequest(values);\r\n }\r\n else {\r\n this.addAdvanceAmountToWallet(values);\r\n }\r\n };\r\n\r\n QRCodeRequest = (values) => {\r\n\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n let transID = this.common.PaytmTransNumber(\r\n this.state.customerName.selected.toString(),\r\n \"Advance Payment\"\r\n );\r\n this.setState({ modalLoading: true, transID: transID });\r\n this.setState({ showAddPopup: true });\r\n\r\n var postdata = {\r\n mid: \"LAUNDR39826025976613\",\r\n orderId: transID,\r\n amount: (values.amount).toString(),\r\n businessType: \"UPI_QR_CODE\",\r\n posId: localStorage.getItem(\"branchID\"),\r\n clientId: \"Mr9HS8Zd1lClTaJO\",\r\n channelId: \"WEB\",\r\n version: \"V1\",\r\n versionNumber: \"\",\r\n transactionType: 0,\r\n response: \"\",\r\n createdBy: 0,\r\n id: this.state.customerName.selected.toString(),\r\n callFrom: \"lkWalate-Advance Paymrnt\",\r\n platform: \"web-QR\",\r\n };\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService\r\n .QRCodeRequest(postdata)\r\n .then((response) => {\r\n \r\n \r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n this.setState({ isShowQRCode: true, base64Image: res.body.image, isQRCodeShow: true })\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(() => {\r\n this.paytmTransService\r\n .QRCodeStatusCheck(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"TXN_SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.addAdvanceAmountToWallet(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n this.setState({ modalLoading: false });\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"TXN_FAILURE\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n // debugger;\r\n\r\n }\r\n }\r\n }\r\n });\r\n }, 15000);\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus == \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false, isQRCodeShow: false });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false, isQRCodeShow: false });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n\r\n // } else {\r\n // this.setState({ showAddPopup: false, modalLoading: false });\r\n // notification[\"error\"]({\r\n // message: labels.BUY_PACKAGE,\r\n // description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n // });\r\n // }\r\n this.setState({ modalLoading: true, isQRCodeShow: false });\r\n //});\r\n }\r\n\r\n EDCRequest = (values) => {\r\n // if (this.state.paymentMethods.selected == 3) {\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n let transID = this.common.PaytmTransNumber(\r\n this.state.customerName.selected.toString(),\r\n \"Advance Payment\"\r\n );\r\n\r\n this.setState({ modalLoading: true, transID: transID });\r\n this.paytmTransService.getEDCMachineInfo().then((response) => {\r\n if (response.statusCode == 200) {\r\n if ([undefined, \"\", null].includes(response.data.machineKey)) {\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: labels.EDC_CONFIGURATION,\r\n });\r\n this.setState({ modalLoading: false });\r\n return false;\r\n }\r\n this.setState({ showAddPopup: true, EDCmachineInfo: response.data });\r\n var postdata = {\r\n paytmMid: response.data.paytmMid,\r\n paytmTid: response.data.paytmTid,\r\n transactionDateTime: \"\",\r\n merchantTransactionId: \"\",\r\n merchantReferenceNo: \"\",\r\n transactionAmount: (values.amount * 100).toString(),\r\n callbackUrl: \"\",\r\n machineKey: response.data.machineKey,\r\n json: 0,\r\n response: \"\",\r\n transactionType: 0,\r\n requestParams: \"\",\r\n createdBy: 0,\r\n status: \"\",\r\n id: this.state.customerName.selected.toString(), //this.state.invoiceData.invoiceID,\r\n callFrom: \"lkWalate-Advance Paymrnt\",\r\n platform: \"web\",\r\n transctionId: transID,\r\n versionNumber: response.data.versionNumber,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService\r\n .EDCMachineRequest(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"ACCEPTED_SUCCESS\") {\r\n postdata.merchantTransactionId = this.state.transID;\r\n postdata.transactionDateTime =\r\n response.data.transactionDateTime;\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(() => {\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService\r\n .EDCMachineStatus(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n this.setState({ modalLoading: false });\r\n setTimeout(() => {\r\n this.addAdvanceAmountToWallet(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n return false;\r\n } else {\r\n if (res.body.resultInfo.resultStatus == \"FAIL\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus == \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n this.setState({\r\n modalLoading: false,\r\n showAddPopup: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n }\r\n }\r\n }\r\n });\r\n }, 10000);\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({ showAddPopup: false });\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n // } else {\r\n // this.addAdvanceAmountToWallet(values);\r\n // }\r\n };\r\n addAdvanceAmountToWallet = (values) => {\r\n this.setState({ modalLoading: true });\r\n const postData = {\r\n customerID: parseInt(this.state.customerName.selected),\r\n orderID: null,\r\n invoiceID: null,\r\n storeID: localStorage.getItem(\"branchID\"),\r\n advanceAmount: values.amount,\r\n isExcessAmount: false,\r\n paymentMode: parseInt(this.state.paymentMethods.selected),\r\n chequeNo: null,\r\n chequeDate: null,\r\n cardNo: null,\r\n transactionNo: this.state.transID,\r\n remark: values.remarks\r\n ? values.remarks\r\n : \"Advance Amount Added From Advance Amount Master Screen\",\r\n sourceFrom: 1,\r\n };\r\n this.invoiceService.addExcessAmountToWallet(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.ADVANCE_COLLECTED_SUCCESSFULLY,\r\n });\r\n this.setState({ showAddModal: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ADVANCE_PAYMENTS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_ADD_AMOUNT_TO_LKWALLET,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n render() {\r\n const { isShowQRCode, base64Image, isQRCodeShow } = this.state\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getAdvancePaymentList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddModal: true })}\r\n key=\"2\"\r\n >\r\n {labels.ADD_ADVANCE_PAYMENT}\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getAdvancePaymentList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n this.setState({ showAddModal: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n centered\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: value,\r\n },\r\n });\r\n }}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n // 0\r\n // }\r\n >\r\n {this.state.customerName.data.length !== 0\r\n ? this.state.customerName.data.map(\r\n (singleCustomerName) => {\r\n return singleCustomerName.customerID !== \"-1\" ? (\r\n \r\n {singleCustomerName.customerName +\r\n \" (\" +\r\n singleCustomerName.mobileNo +\r\n \")\"}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n x.label.toLowerCase() !== \"lk wallet\"\r\n )}\r\n value={this.state.paymentMethods.selected}\r\n onChange={(value) =>\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n selected: 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 this.setState({ showAddModal: false })}\r\n >\r\n {labels.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 {labels.PROCESSING}.....\r\n \r\n
\r\n \r\n\r\n {isShowQRCode ?\r\n \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 handlePopupCancel = () => {\r\n confirm({\r\n title: \"Do you want to kill these payment process?\",\r\n content: \"When clicked the OK button, Stop the payment process\",\r\n onOk() {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(Math.random() > 0.5 ? resolve : reject, 3000);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 4000);\r\n }).catch(() => console.log(\"Oops errors!\"));\r\n },\r\n onCancel() { },\r\n });\r\n };\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport AdvancePayment from \"../../../components/LKWallet/AdvancePayment/lkadvancepayment.component\";\r\n\r\nexport default class AdvancePaymentScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport Common from \"./common\";\r\n\r\nexport default class faqservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n handleError = () => {\r\n return null;\r\n };\r\n \r\n \r\n async deleteFaq(FaqIDs) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_FAQ });\r\n let itemArray = [];\r\n let ID = \"?FaqIDs=\" + FaqIDs;\r\n await myApi.endpoints.DeleteFaqByID.deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteFaq(FaqIDs);\r\n });\r\n }\r\n return Promise.resolve(itemArray); \r\n }\r\n \r\n async addUpdateFaq(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_FAQ });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateFaq.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.addUpdateFaq(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n \r\n \r\n \r\n async getAllFaqList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FAQ_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_FAQ_LIST]\r\n .getAllPost({\r\n faqID: null,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getAllFaqList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport faqservice from \"../../services/faqservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../shared/language\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class faq extends React.Component {\r\n FaqService = new faqservice();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n \r\n state = {\r\n modalLoading: false,\r\n faqID: 0,\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showAddPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n };\r\n \r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FAQ\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n \r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n \r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"User Name\",\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Questation\",\r\n dataIndex: \"que\",\r\n key: \"que\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Answer\",\r\n dataIndex: \"ans\",\r\n key: \"ans\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (ans) => (\r\n \r\n {ans}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Created Date\",\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"view\",\r\n faqID: record.faqID,\r\n currentExpense: {\r\n que: record.que,\r\n ans :record.ans\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n faqID: record.faqID,\r\n currentExpense: {\r\n que: record.que,\r\n ans :record.ans\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n this.handleDelete(record.faqID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n this.getFaqList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n handleDelete = (id) => {\r\n // this.setState({ tableLoading: true });\r\n this.FaqService.deleteFaq(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Faq\",\r\n description: \"Faq deleted successfully\",\r\n });\r\n \r\n this.getFaqList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Faq\",\r\n description: \"Unable to delete Faq\",\r\n });\r\n }\r\n // this.setState({ tableLoading: false });\r\n });\r\n };\r\n addUpdateFaq = (values) => {\r\n let params = {\r\n faqID:parseInt(this.state.faqID),\r\n que: values.que,\r\n ans:values.ans\r\n };\r\n this.setState({ modalLoading: true });\r\n this.FaqService.addUpdateFaq(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Faq\",\r\n description: response.message,\r\n });\r\n this.getFaqList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showAddPopup: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Faq\",\r\n description: response.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n \r\n getFaqList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.FaqService\r\n .getAllFaqList(index, size, sortColumn, sortOrder, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.faqID;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Faq\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of Faq\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getFaqList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n \r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.setState({\r\n faqID: 0,\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Faq\r\n \r\n ) : null,\r\n \r\n \r\n ]}\r\n />\r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getFaqList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n this.addUpdateFaq(values);\r\n }}\r\n initialValues={this.state.currentExpense}\r\n >\r\n \r\n \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.popupMode === \"view\" ? (\r\n \r\n Cancel\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","import React from 'react';\r\nimport Faq from '../../components/Faq/faq.component';\r\n\r\nexport default class faqscreen extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass CashCouponMasterService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n async getCouponType() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_USAGE_TYPE });\r\n let stores = [];\r\n await myApi.endpoints[this.endpoint.GET_USAGE_TYPE]\r\n .getAll()\r\n .then((response) => {\r\n stores = response.data;\r\n })\r\n .catch((err) => {\r\n stores = this.common.handleError(err);\r\n });\r\n if (stores.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n stores = this.getCouponType();\r\n });\r\n }\r\n return Promise.resolve(stores);\r\n }\r\n async retrieveCashCouponMaster(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CASH_COUPON_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetCashCouponMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveCashCouponMaster(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async saveUpdateCashCouponMaster(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_CASH_COUPON_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateCashCouponMaster.create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.saveUpdateCashCouponMaster(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n async getCashCouponDetailByCouponID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_CASHCOUPON_DETAIL_BY_COUPONID,\r\n });\r\n let itemArray = [];\r\n let Id = \"?CouponID=\" + id;\r\n await myApi.endpoints.GetCashCouponDetailByCouponID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getCashCouponDetailByCouponID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetCashCouponCodesByCouponID(id) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_CASHCOUPON_CODE_BY_COUPONID });\r\n let itemArray = [];\r\n let Id = \"?CouponID=\" + id;\r\n await myApi.endpoints.GetCashCouponCodesByCouponID.getOne(Id)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetCashCouponCodesByCouponID(id);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getCities(params) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.CITY_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetCityMaster.getAllPost(params)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getCities(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GenerateCashCouponCodesByCouponID(payload) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GENERATE_CASHCOUPON_CODES_BY_COUPONID,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints.GenerateCashCouponCodesByCouponID.getAllPost(payload)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GenerateCashCouponCodesByCouponID(payload);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default CashCouponMasterService;\r\n","import React from \"react\";\r\nimport styles from \"./cashcouponmaster.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Radio,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport CashCouponMaster from \"../../../services/cashcouponmasterservice\";\r\nimport CashCouponMasterService from \"../../../services/cashcouponmasterservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Maulik Suthar\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.cashcouponmasterservice = new CashCouponMasterService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.getCashCouponByfilter = this.getCashCouponByfilter.bind(this);\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n this.state = {\r\n couponID: 0,\r\n couponName: \"\",\r\n cashCouponcode: \"\",\r\n statusID: 0,\r\n showfilterBox: false,\r\n couponList: [],\r\n tableLoading: true,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n validtilltoday: 0,\r\n },\r\n };\r\n }\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.CASH_COUPON\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ tableLoading: false });\r\n this.getCashCouponMasterList({\r\n couponID: this.state.couponID,\r\n validtilltoday: this.state.validtilltoday,\r\n cashCouponcode: this.state.cashCouponcode,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.getCashCouponMasterList({\r\n couponID: this.state.couponID,\r\n validtilltoday: this.state.validtilltoday,\r\n CommonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getCashCouponByfilter = () => {\r\n this.getCashCouponMasterList({\r\n couponID: 0,\r\n validtilltoday: this.state.validtilltoday,\r\n CommonSearch: document.getElementById(\"cashCouponCode\").value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getCashCouponMasterList(params = {}) {\r\n this.setState({ tableLoading: true });\r\n this.cashcouponmasterservice\r\n .retrieveCashCouponMaster(params)\r\n .then((cashCouponList) => {\r\n if (cashCouponList.statusCode === 200) {\r\n // if (cashCouponList.length !== 0) {\r\n\r\n if (\r\n cashCouponList.length !== 0 &&\r\n cashCouponList.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n\r\n this.getCashCouponMasterList({\r\n couponID: this.state.couponID,\r\n validtilltoday: this.state.validtilltoday,\r\n cashCouponcode: this.state.cashCouponcode,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination:params.pagination\r\n });\r\n\r\n }\r\n\r\n\r\n this.setState({\r\n cashCouponList: cashCouponList.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: cashCouponList.data.length\r\n ? cashCouponList.data[0].totalRecords\r\n : null,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: cashCouponList.message\r\n ? this.common.Message(cashCouponList.message)\r\n : \"Unable to get list of cash coupon data\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Cash Coupon\",\r\n dataIndex: \"cashCouponcode\",\r\n key: \"cashCouponcode\",\r\n sorter: true,\r\n // defaultSortOrder:'ascend',\r\n // sorter:(a,b)=>{return a.cityName.localeCompare(b.cityName)},\r\n },\r\n {\r\n title: \"Coupon Type\",\r\n dataIndex: \"couponTypeName\",\r\n key: \"couponTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Value\",\r\n dataIndex: \"value\",\r\n key: \"value\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Valid From\",\r\n dataIndex: \"validFrom\",\r\n key: \"validFrom\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Valid To\",\r\n dataIndex: \"validTo\",\r\n key: \"validTo\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true &&\r\n moment().isBefore(moment(record.validFrom)) ? (\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 handleRadioChange = (e) => {\r\n // console.log(\"radio checked\", e.target.value);\r\n const validtilltoday = e.target.value === 2 ? 1 : 0;\r\n\r\n this.setState(\r\n {\r\n validtilltoday: validtilltoday,\r\n radioSelectedData: e.target.value,\r\n },\r\n () => {\r\n\r\n this.getCashCouponMasterList({\r\n validtilltoday: this.state.validtilltoday,\r\n couponID: this.state.couponID,\r\n cashCouponcode: this.state.cashCouponcode,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination:this.state.pagination\r\n }); \r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n All\r\n Valid as on Today\r\n ,\r\n\r\n ,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.props.history.push({\r\n pathname: ROUTES.ADD_CASH_COUPON,\r\n state: { couponID: this.state.couponID },\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Cash Coupon\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {\r\n this.getCashCouponMasterList({\r\n validtilltoday: this.state.validtilltoday,\r\n couponID: this.state.couponID,\r\n cashCouponcode: this.state.cashCouponcode,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n });\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport CashCouponMaster from \"../../../../src/components/Master/CashCoupon/cashcouponmaster.component\";\r\n\r\nexport default class Master extends React.Component {\r\n\r\n render() {\r\n const listItems = null;\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n TimePicker,\r\n Input,\r\n DatePicker,\r\n Space,\r\n notification,\r\n Radio,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport CashCouponMasterService from \"../../../../services/cashcouponmasterservice\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../../shared/validator\";\r\nimport Moment from \"moment\";\r\nconst { Option } = Select;\r\n\r\nexport default class GeneralForm extends React.Component {\r\n cashcouponmasterservice = new CashCouponMasterService();\r\n state = {\r\n applicableCityIds: {\r\n disabled: true,\r\n data: [],\r\n },\r\n couponType: {\r\n disabled: true,\r\n data: [],\r\n },\r\n cities: {\r\n disabled: true,\r\n data: [],\r\n },\r\n };\r\n\r\n componentDidMount() {\r\n this.getCouponType();\r\n this.getCities();\r\n }\r\n getCouponType = () => {\r\n this.cashcouponmasterservice.getCouponType().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n couponType: {\r\n ...this.state.couponType,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: \"Unable to get data for coupon type\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCities = () => {\r\n const params = {\r\n cityID: 0,\r\n cityName: \"\",\r\n pageIndex: 1,\r\n pageSize: 1000,\r\n sortColumn: \"\",\r\n sortOrder: \"\",\r\n commonSearch: \"\",\r\n };\r\n this.cashcouponmasterservice.getCities(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n cities: {\r\n ...this.state.cities,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: \"Unable to get data for cities\",\r\n });\r\n }\r\n });\r\n };\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what Component can do\r\n * Please go through https://ant.design/components/date-picker/\r\n * https://ant.design/components/date-picker/#API\r\n */}\r\n \r\n null}\r\n disabled={disableAll}\r\n format={\"DD-MM-YYYY\"}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n null}\r\n disabled={disableAll}\r\n >\r\n {this.state.couponType.data.length !== 0\r\n ? this.state.couponType.data.map((couponType) => {\r\n return couponType.value !== \"-1\" ? (\r\n \r\n ) : null;\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 Yes\r\n No\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n disabled={disableAll}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.cities.data.length !== 0\r\n ? this.state.cities.data.map((cities) => {\r\n return cities.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n {this.props.mode !== \"view\" ? (\r\n \r\n Submit\r\n \r\n ) : null}\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n notification,\r\n Select,\r\n Table,\r\n InputNumber,\r\n Input,\r\n Form,\r\n Tooltip,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport CashCouponMasterService from \"../../../../services/cashcouponmasterservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport moment from \"moment\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\n\r\nclass CashCouponCode extends React.Component {\r\n cashcouponmasterservice = new CashCouponMasterService();\r\n state = {\r\n excelFile: ,\r\n generateButtonLoading: false,\r\n couponID: null,\r\n cashCouponCodeName: this.props.cashCouponCodeName,\r\n cashCouponObj: {},\r\n cashCouponCode: [],\r\n showAddPopup: false,\r\n totalLength: null,\r\n prefixChar: \"\",\r\n tableLoading: true,\r\n currentCashCouponCode: {},\r\n popupMode: \"add\",\r\n };\r\n componentDidMount() {\r\n if (!this.props.match.params.couponID) {\r\n this.props.history.goBack();\r\n } else {\r\n //this.getCashCouponMaster(this.props.match.params.couponID);\r\n }\r\n this.setState({ couponID: this.props.match.params.couponID });\r\n this.getCashCouponCode(this.props.match.params.couponID);\r\n }\r\n getCashCouponMaster = (id) => {\r\n this.cashcouponmasterservice\r\n .getCashCouponDetailByCouponID(id)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ cashCouponObjObj: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: \"Unable to get cash coupon master data\",\r\n // description: \"Redirecting....\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCashCouponCode = (id) => {\r\n this.setState({ tableLoading: true });\r\n this.cashcouponmasterservice\r\n .GetCashCouponCodesByCouponID(id)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ cashCouponCode: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: \"Unable to get cash coupon codes\",\r\n // description: \"Redirecting....\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n GenerateCashCouponCodes = () => {\r\n if (\r\n [null, undefined, \"\"].includes(this.state.totalLength) ||\r\n [null, undefined, \"\"].includes(this.state.prefixChar)\r\n ) {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description: \"Values cannot be passed as blank\",\r\n });\r\n return false;\r\n }\r\n this.setState({ generateButtonLoading: true });\r\n var payload = {\r\n couponID: parseInt(this.state.couponID),\r\n totalLength: this.state.totalLength,\r\n prefixChar: this.state.prefixChar,\r\n };\r\n this.cashcouponmasterservice\r\n .GenerateCashCouponCodesByCouponID(payload)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Cash Coupon\",\r\n description: response.message,\r\n });\r\n this.getCashCouponCode(parseInt(this.state.couponID));\r\n }\r\n // else {\r\n // notification[\"error\"]({\r\n // message: \"Unable to get cash coupon master data\",\r\n // description: \"Redirecting....\",\r\n // onClose: () => {\r\n // this.props.history.goBack();\r\n // },\r\n // });\r\n // }\r\n this.setState({ generateButtonLoading: false });\r\n });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n exportCashCouponCodeToExcel = () => {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n ),\r\n },\r\n () => this.setState({ excelFile: })\r\n );\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Coupon Code\",\r\n dataIndex: \"couponCode\",\r\n key: \"couponCode\",\r\n },\r\n ];\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n let RegexAlphaNumberic = /^[a-zA-Z0-9]*$/;\r\n let validFromDate = moment(this.props.validFromDate).format(\"YYYY/MM/DD\");\r\n let currentDate = moment().format(\"YYYY/MM/DD\");\r\n return (\r\n
\r\n {this.state.excelFile}\r\n currentDate ? (\r\n this.props.couponTypeID === 1 &&\r\n this.state.cashCouponCode.length === 0 ? (\r\n \r\n
No Of Character
\r\n
Minimum: 6
\r\n
Maximum: 16 must be there
\r\n \r\n }\r\n >\r\n this.setState({ totalLength: value })}\r\n />\r\n \r\n ) : null\r\n ) : null,\r\n validFromDate > currentDate ? (\r\n this.props.couponTypeID === 1 &&\r\n this.state.cashCouponCode.length === 0 ? (\r\n \r\n {\r\n let inputVal = e.target.value;\r\n if (RegexAlphaNumberic.test(inputVal)) {\r\n this.setState({ prefixChar: e.target.value });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Discount\",\r\n description:\r\n \"You can only enter Alpha-Numeric inputs\",\r\n });\r\n }\r\n }}\r\n />\r\n \r\n ) : null\r\n ) : null,\r\n\r\n this.props.couponTypeID === 1 ? (\r\n this.state.cashCouponCode.length === 0 ? (\r\n validFromDate > currentDate ? (\r\n this.GenerateCashCouponCodes()}\r\n key=\"1\"\r\n loading={this.state.generateButtonLoading}\r\n >\r\n Generate Coupon Codes\r\n \r\n ) : null\r\n ) : (\r\n this.exportCashCouponCodeToExcel()}\r\n key=\"1\"\r\n >\r\n Export To Excel\r\n \r\n )\r\n ) : null,\r\n ]}\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(CashCouponCode);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"./addcashcouponcomponent.module.css\";\r\nimport { Steps, PageHeader, Form, notification, Spin } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport CashCouponMaster from \"../AddCashcouponMaster/cashcouponmaster.component\";\r\nimport { from } from \"rxjs\";\r\nimport CashCouponMasterService from \"../../../../services/cashcouponmasterservice\";\r\nimport CashCouponCode from \"../AddCashcouponMaster/cashcouponcode.component\";\r\n\r\nconst { Step } = Steps;\r\n\r\nclass AddCashCoupon extends React.Component {\r\n cashcouponmasterservice = new CashCouponMasterService();\r\n state = {\r\n activeStep: 0,\r\n couponID: 0,\r\n fullLoading: false,\r\n generalFormValues: {},\r\n mode: \"add\",\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n couponTypeID: 0,\r\n validFromDate: \"\",\r\n };\r\n\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n [ROUTES.EDIT_CASH_COUPON, \":couponID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getCashCouponMaster(this.props.location.state.couponID);\r\n } else if (\r\n [ROUTES.VIEW_CASH_COUPON, \":couponID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getCashCouponMaster(this.props.location.state.couponID);\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n getCashCouponMaster = (id) => {\r\n this.cashcouponmasterservice\r\n .getCashCouponDetailByCouponID(id)\r\n .then((response) => {\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.couponID === parseInt(id)\r\n ) {\r\n this.setState({\r\n couponID: response.data.couponID,\r\n couponTypeID: response.data.couponType,\r\n validFromDate: response.data.validFrom\r\n ? response.data.validFrom\r\n : null,\r\n });\r\n this.setState({\r\n generalFormValues: {\r\n cashCouponcode: response.data.cashCouponcode,\r\n validFrom: [\r\n response.data.validFrom\r\n ? moment(response.data.validFrom)\r\n : null,\r\n response.data.validTo ? moment(response.data.validTo) : null,\r\n ],\r\n value: parseInt(response.data.value),\r\n couponType: response.data.couponType.toString(),\r\n noOftimes: response.data.noOftimes,\r\n isFirstOrderOnly: response.data.isFirstOrderOnly,\r\n isActive: response.data.isActive,\r\n redeemValidity: response.data.redeemValidity,\r\n applicableCityIds: response.data.applicableCityIds\r\n .split(\",\")\r\n .map(function (item) {\r\n return parseInt(item, 10);\r\n }),\r\n },\r\n });\r\n var resDate = this.compare_dates(\r\n new Date(),\r\n new Date(this.state.generalFormValues.validFrom)\r\n );\r\n if (resDate === \"Date1 > Date2\") {\r\n this.setState({ mode: \"view\" });\r\n }\r\n this.setState({ fullLoading: false });\r\n const prevStep = this.state.activeStep;\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: prevStep });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: \"Unable to get cash coupon data\",\r\n // description: \"Redirecting....\",\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n compare_dates = function (date1, date2) {\r\n if (date1 > date2) return \"Date1 > Date2\";\r\n else if (date1 < date2) return \"Date2 > Date1\";\r\n else return \"Date1 = Date2\";\r\n };\r\n addUpdateCashCoupon = () => {\r\n this.setState({ fullLoading: true });\r\n const postData = {\r\n couponID: this.state.couponID,\r\n cashCouponCode: this.state.generalFormValues.cashCouponcode.toString(),\r\n validFrom: this.state.generalFormValues.validFrom\r\n ? this.state.generalFormValues.validFrom[0].format(\"YYYY-MM-DD\")\r\n : null,\r\n validTo: this.state.generalFormValues.validFrom\r\n ? this.state.generalFormValues.validFrom[1].format(\"YYYY-MM-DD\")\r\n : null,\r\n value: parseInt(this.state.generalFormValues.value),\r\n couponType: parseInt(this.state.generalFormValues.couponType),\r\n noOftimes: parseInt(this.state.generalFormValues.noOftimes),\r\n isFirstOrderOnly: this.state.generalFormValues.isFirstOrderOnly\r\n ? this.state.generalFormValues.isFirstOrderOnly\r\n : false,\r\n isActive: this.state.generalFormValues.isActive\r\n ? this.state.generalFormValues.isActive\r\n : false,\r\n redeemValidity: parseInt(this.state.generalFormValues.redeemValidity),\r\n applicableCityIds: this.state.generalFormValues.applicableCityIds.join(\r\n \",\"\r\n ),\r\n };\r\n this.cashcouponmasterservice\r\n .saveUpdateCashCouponMaster(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ couponID: response.data });\r\n notification[\"success\"]({\r\n message: \"Cash Coupon\",\r\n description: response.message,\r\n duration: 1,\r\n onClose: () => {\r\n this.props.history.push(ROUTES.CASH_COUPON);\r\n // this.setState({ activeStep: 1 });\r\n // this.setState({ fullLoading: false });\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Coupon\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to submit the form\",\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n generalForm = React.createRef();\r\n handleSubmit = (values) => {\r\n this.setState(\r\n {\r\n generalFormValues: values,\r\n },\r\n () => {\r\n this.addUpdateCashCoupon();\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/* */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? \"Edit\"\r\n : this.state.mode === \"view\"\r\n ? \"View\"\r\n : \"Add\",\r\n \"Cash Coupon\",\r\n ].join(\" \")}\r\n />\r\n
\r\n
\r\n this.setState({ activeStep: current })}\r\n onChange={(current) => {\r\n if (this.state.couponID === 0) {\r\n return false;\r\n } else {\r\n this.setState({ activeStep: current });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n if (name === \"general\") {\r\n this.handleSubmit(info.values);\r\n }\r\n }}\r\n >\r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n this.props.history.goBack()}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n >\r\n\r\n {this.state.activeStep === 1 ? (\r\n \r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(AddCashCoupon);\r\n","import React from \"react\";\r\nimport styles from \"./createorder.module.css\";\r\nimport { Row, Col, Input, Radio, Select, Space } from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../../Common/Button/button\";\r\n\r\n/**\r\n * This file contains the add customer view/form from select customer panel of create order\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 10 June 2020\r\n *\r\n * @module order\r\n */\r\nexport default class AddCustomer extends React.Component {\r\n /**\r\n * The state varibale holds the information to be displayed on add customer form\r\n *\r\n * Please verify the details with the designs.\r\n */\r\n state = {\r\n requestID: \"$XXXXXX\",\r\n customerName: \"Arjun Makam\",\r\n addresses: [\r\n {\r\n addressType: \"Home\",\r\n addressText:\r\n \"B1, Shantiniketan Apartment, EEC Road, Bengaluru - 560066\",\r\n },\r\n {\r\n addressType: \"Office\",\r\n addressText:\r\n \"B1, Shantiniketan Apartment, EEC Road, Bengaluru - 560066\",\r\n },\r\n {\r\n addressType: \"Custom\",\r\n addressText:\r\n \"B1, Shantiniketan Apartment, EEC Road, Bengaluru - 560066\",\r\n },\r\n ],\r\n serviceTypes: [\r\n {\r\n title: \"Normal\",\r\n subtitle: \"Delivery in xx hours\",\r\n },\r\n {\r\n title: \"Express\",\r\n subtitle: \"Delivery in xx hours at 2 x Normal Price\",\r\n },\r\n {\r\n title: \"Semi Express\",\r\n subtitle: \"\",\r\n },\r\n ],\r\n };\r\n render() {\r\n /**\r\n * an array of colors to be displayed for address type chips/labels\r\n */\r\n const addressTypeColors = [\"#ffb9d6\", \"#FDDB97\", \"#A1D1F5\"];\r\n return (\r\n
\r\n
\r\n \r\n \r\n Request ID\r\n \r\n \r\n {this.state.requestID}\r\n \r\n \r\n \r\n \r\n Customer Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Customer Address
\r\n (Select any one Option)\r\n \r\n \r\n {/**\r\n * Please go through this documentation regarding radio groups\r\n * https://ant.design/components/radio/\r\n * https://ant.design/components/radio/#API\r\n * https://ant.design/components/radio/#components-radio-demo-radiobutton-solid\r\n */}\r\n \r\n \r\n {/**\r\n * Looping through array of addresses.\r\n */}\r\n {this.state.addresses.map((singleAddress, index) => {\r\n return (\r\n \r\n \r\n
\r\n \r\n {singleAddress.addressType}\r\n
\r\n
\r\n {singleAddress.addressText}\r\n
\r\n
\r\n \r\n \r\n );\r\n })}\r\n {/**\r\n * Add Address option in the address panel\r\n */}\r\n \r\n \r\n Add Address\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Type of Service
\r\n (Select any one Option)\r\n \r\n \r\n \r\n \r\n {/**\r\n * Looping through service types available.\r\n */}\r\n {this.state.serviceTypes.map((singleService, index) => {\r\n return (\r\n \r\n \r\n
\r\n
\r\n {singleService.title}\r\n
\r\n
\r\n {singleService.subtitle}\r\n
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n B2B Customer\r\n \r\n \r\n {/**\r\n * Please go through below documentation for Select Component\r\n * https://ant.design/components/select/\r\n * https://ant.design/components/select/#API\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 \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport moment from \"moment\";\r\nimport Common from \"./common\";\r\nvar jwt = require(\"jsonwebtoken\");\r\nexport default class FactoryService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n // this.handleError = (error) => {\r\n // console.error(error);\r\n // };\r\n }\r\n\r\n async getOrderRequestStatusList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SYSTEME_NUMS,\r\n });\r\n let append = \"?EnumNames=RequestStatus\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getOrderRequestStatusList();\r\n });\r\n }\r\n return itemArray;\r\n }\r\n async getAddOnServicesList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_ADDON_SERVICES });\r\n let states = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_ADDON_SERVICES]\r\n .getAll()\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getAddOnServicesList();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n async getRewashReason() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_REWASH_REASON_LIST,\r\n });\r\n \r\n let states = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_REWASH_REASON_LIST]\r\n .getAll()\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getRewashReason();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n async getRewashRequestedBy() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_SYSTEME_NUMS });\r\n let states = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getById(\"?EnumNames=RewashRequestBy\")\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getRewashRequestedBy();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n async getServiceTypeList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_DELIVERY_TYPE });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_DELIVERY_TYPE]\r\n .getAll()\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getServiceTypeList();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async searchCustomer(value) {\r\n const stateListAPI = new API({ url: this.config.ITEM_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_SEARCH_CUSTOMER });\r\n let serviceTypes = [];\r\n let append = \"?SearchString=\" + value;\r\n await stateListAPI.endpoints[this.endpoint.GET_SEARCH_CUSTOMER]\r\n .getOne(append)\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.searchCustomer(value);\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getCustomerAddresses(id) {\r\n const stateListAPI = new API({ url: this.config.ITEM_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_CUSTOMER_ADDRESSES });\r\n let addresses = [];\r\n let append = \"?CustomerId=\" + id;\r\n await stateListAPI.endpoints[this.endpoint.GET_CUSTOMER_ADDRESSES]\r\n .getOne(append)\r\n .then((response) => {\r\n addresses = response.data;\r\n })\r\n .catch((err) => {\r\n addresses = this.common.handleError(err);\r\n });\r\n if (addresses.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n addresses = this.getCustomerAddresses(id);\r\n });\r\n }\r\n return Promise.resolve(addresses);\r\n }\r\n\r\n async getGarmentsList(service = null, uom = null,storeID) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_GARMENTS_WITH_SERVICES,\r\n });\r\n let returnVal = [];\r\n let params = {\r\n garmentID: null,\r\n serviceID: parseInt(service),\r\n uom: parseInt(uom),\r\n storeID:storeID\r\n };\r\n await stateListAPI.endpoints[this.endpoint.GET_GARMENTS_WITH_SERVICES]\r\n .getAllPost(params)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n let garments = response.data;\r\n let services = [];\r\n\r\n garments.data.map((garment, index) => {\r\n if (\r\n services.filter(\r\n (x) =>\r\n x.serviceID === garment.serviceID &&\r\n x.serviceName === garment.serviceName\r\n ).length === 0\r\n ) {\r\n services.push({\r\n serviceID: garment.serviceID,\r\n serviceName: garment.serviceName,\r\n serviceUOM: garment.serviceUOM,\r\n serviceIsAddOn: garment.isAddOn,\r\n });\r\n }\r\n return true;\r\n });\r\n services.map((service, index) => {\r\n let serviceWiseGarments = garments.data\r\n .filter(\r\n (x) =>\r\n x.serviceID === service.serviceID &&\r\n x.serviceName === service.serviceName\r\n )\r\n .map((garment, index) => {\r\n return {\r\n id: garment.garmentID,\r\n name: garment.garmentName,\r\n icon: garment.garmentImage,\r\n garmentDeliveryType:garment.garmentDeliveryType //Added by rashmi for L177728 - 20/02/23\r\n };\r\n });\r\n returnVal.push({\r\n serviceId: service.serviceID.toString(),\r\n title: service.serviceName,\r\n UOM: service.serviceUOM,\r\n isAddOn: service.serviceIsAddOn,\r\n garments: serviceWiseGarments,\r\n });\r\n return true;\r\n });\r\n } else {\r\n returnVal = response;\r\n }\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getGarmentsList(service, uom);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getRateCardForStore(\r\n store,\r\n uom,\r\n delivery,\r\n service,\r\n garment,\r\n date = moment().format(\"YYYY-MM-DD\"),\r\n isCorporate = false\r\n ) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n let callObj = null;\r\n if (isCorporate === true) {\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_RATE_CARD_FOR_CORPORATE,\r\n });\r\n callObj =\r\n stateListAPI.endpoints[this.endpoint.GET_RATE_CARD_FOR_CORPORATE];\r\n } else {\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_RATE_CARD_FOR_STORE,\r\n });\r\n callObj = stateListAPI.endpoints[this.endpoint.GET_RATE_CARD_FOR_STORE];\r\n }\r\n\r\n let returnVal = [];\r\n let params = {\r\n corporateID: parseInt(store),\r\n storeID: parseInt(store),\r\n uom: parseInt(uom),\r\n effectiveDate: date,\r\n deliveryType: parseInt(delivery),\r\n serviceID: parseInt(service),\r\n garmentID: parseInt(garment),\r\n };\r\n await callObj\r\n .getAllPost(params)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getRateCardForStore(\r\n store,\r\n uom,\r\n delivery,\r\n service,\r\n garment,\r\n date,\r\n isCorporate\r\n );\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getRateCardForStore1(\r\n store,\r\n uom,\r\n delivery,\r\n service,\r\n garment,\r\n date = moment().format(\"YYYY-MM-DD\"),\r\n isCorporate = false\r\n ) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n let callObj = null;\r\n if (isCorporate === true) {\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_RATE_CARD_FOR_CORPORATE,\r\n });\r\n callObj =\r\n stateListAPI.endpoints[this.endpoint.GET_RATE_CARD_FOR_CORPORATE];\r\n } else {\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_RATE_CARD_FOR_STORE,\r\n });\r\n callObj = stateListAPI.endpoints[this.endpoint.GET_RATE_CARD_FOR_STORE];\r\n }\r\n\r\n let returnVal = [];\r\n let params = {\r\n corporateID: parseInt(store),\r\n storeID: parseInt(store),\r\n uom: parseInt(uom),\r\n effectiveDate: date,\r\n deliveryType: parseInt(delivery),\r\n serviceID: parseInt(service),\r\n garmentID: parseInt(garment),\r\n };\r\n await callObj\r\n .getAllPost(params)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getRateCardForStore(\r\n store,\r\n uom,\r\n delivery,\r\n service,\r\n garment,\r\n date,\r\n isCorporate\r\n );\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getUOMList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_GARMENTUOM_LIST });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_GARMENTUOM_LIST]\r\n .getAll()\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getUOMList();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getBrandsList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_BRAND_DROPDOWN });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_BRAND_DROPDOWN]\r\n .getAll()\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getBrandsList();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getSizeList() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_SIZE_DROPDOWN });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_SIZE_DROPDOWN]\r\n .getAll()\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getSizeList();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n async getDyeingColors() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_SYSTEME_NUMS });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getById(\"?EnumNames=DyeingColors\")\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getDyeingColors();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getOpeartionInstructions() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_OPERATION_INSTRUCT_LIST,\r\n });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_OPERATION_INSTRUCT_LIST]\r\n .getAll()\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getOpeartionInstructions();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getTimeCard(store, date, isCorporate = false, deliveryType = null) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n let callObj = null;\r\n if (isCorporate !== true) {\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_TIME_CARD_FOR_STORE,\r\n });\r\n callObj = stateListAPI.endpoints[this.endpoint.GET_TIME_CARD_FOR_STORE];\r\n } else {\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_TIME_CARD_FOR_CORPORATE,\r\n });\r\n callObj =\r\n stateListAPI.endpoints[this.endpoint.GET_TIME_CARD_FOR_CORPORATE];\r\n }\r\n let serviceTypes = [];\r\n let params = {\r\n corporateID: parseInt(store),\r\n storeID: store,\r\n effectiveDate: date.format(\"YYYY-MM-DD\"),\r\n deliveryType: deliveryType,\r\n serviceID: null,\r\n garmentID: null,\r\n };\r\n await callObj\r\n .getAllPost(params)\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getTimeCard(store, date, isCorporate, deliveryType);\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async getPackagingCharges(service = null, date = moment()) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_EFFECTIVE_PACKAGING_CHARGES,\r\n });\r\n let returnVal = [];\r\n let params = {\r\n serviceID: service,\r\n effectiveDate: date.format(\"YYYY-MM-DD\"),\r\n };\r\n await stateListAPI.endpoints[this.endpoint.GET_EFFECTIVE_PACKAGING_CHARGES]\r\n .getAllPost(params)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getPackagingCharges(service, date);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getDeliveryCharges(company = 1, date = moment()) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_EFFECTIVE_DELIVERY_CHARGES,\r\n });\r\n let returnVal = [];\r\n let params = {\r\n companyID: company,\r\n effectiveDate: date.format(\"YYYY-MM-DD\"),\r\n };\r\n await stateListAPI.endpoints[this.endpoint.GET_EFFECTIVE_DELIVERY_CHARGES]\r\n .getAllPost(params)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.getDeliveryCharges(company, date);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async createOrder(postData) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.CREATE_ORDER,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.CREATE_ORDER]\r\n .getAllPost(postData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n })\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.createOrder(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async updateOrder(postData) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.UPDATE_ORDER,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.UPDATE_ORDER]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.updateOrder(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getOrderList(\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null,\r\n selectedBranch = null,\r\n selectedOrderRequestStatusFilter = null,\r\n orderFromDate = null,\r\n orderToDate = null\r\n ) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ORDER_LIST });\r\n let factories = [];\r\n let payload = {\r\n storeIDs: [null, undefined, \"\"].includes(selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : selectedBranch,\r\n // storeIDs: localStorage.getItem(\"branchID\").toString(),\r\n orderID: 0,\r\n customerID: 0,\r\n orderFromDate: orderFromDate,\r\n orderToDate: orderToDate,\r\n orderStatus: selectedOrderRequestStatusFilter,\r\n assignedToUserID: null,\r\n\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n };\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ORDER_LIST]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getOrderList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async getOrderByID(id) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n allFactoriesAPI.createEntity({ name: this.endpoint.GET_ORDER_BY_ID });\r\n let factories = [];\r\n let payload = \"?OrderID=\" + parseInt(id);\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_ORDER_BY_ID]\r\n .getById(payload)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getOrderByID(id);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async cancelOrder(orderID, reason) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.CANCEL_ORDER,\r\n });\r\n let postData = {\r\n orderID: parseInt(orderID),\r\n cancelOrderRemark: reason,\r\n };\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.CANCEL_ORDER]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.cancelOrder(orderID, reason);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async generateTags(orderID) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GENERATE_TAGS,\r\n });\r\n let postData = {\r\n orderID: parseInt(orderID),\r\n userID: parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n ),\r\n };\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.GENERATE_TAGS]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.generateTags(orderID);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async validatePromocode(postData) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.VALIDATE_PROMOCODE,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.VALIDATE_PROMOCODE]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.validatePromocode(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getPickupInformation(value) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_PICKUP_REQUEST_BY_PICKUPID,\r\n });\r\n let serviceTypes = [];\r\n let append = \"?PickupId=\" + value;\r\n await stateListAPI.endpoints[this.endpoint.GET_PICKUP_REQUEST_BY_PICKUPID]\r\n .getOne(append)\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getPickupInformation(value);\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n\r\n async GetTagToPrint(OrderID) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_TAG_TO_PRINT });\r\n let itemArray = [];\r\n var payload = \"?OrderID=\" + OrderID;\r\n await myApi.endpoints[this.endpoint.GET_TAG_TO_PRINT]\r\n .getById(payload)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetTagToPrint(OrderID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetRewashTagToPrint(OrderID) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_REWASh_TAG_TO_PRINT });\r\n let itemArray = [];\r\n var payload = \"?OrderID=\" + OrderID;\r\n await myApi.endpoints[this.endpoint.GET_REWASh_TAG_TO_PRINT]\r\n .getById(payload)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetTagToPrint(OrderID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getPDFStoreEstimatedOrder(OrderID) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_ESTIMATED_ORDER });\r\n let itemArray = [];\r\n var param = \"?OrderID=\" + OrderID;\r\n await myApi.endpoints[this.endpoint.GET_STORE_ESTIMATED_ORDER]\r\n .getOne(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPDFStoreEstimatedOrder(OrderID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getEstimatedOrderPrintByOrderID(id) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_ESTIMATED_PDF_BY_ORDER_ID,\r\n });\r\n let states = [];\r\n let append = \"?OrderID=\" + parseInt(id);\r\n await stateListAPI.endpoints[this.endpoint.GET_ESTIMATED_PDF_BY_ORDER_ID]\r\n .getById(append)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getEstimatedOrderPrintByOrderID(id);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n //partial order received screen method\r\n async getPartialOrderReceivedList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n selectedBranch\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PARTIAL_ORDER_RECEIVED_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_PARTIAL_ORDER_RECEIVED_LIST]\r\n .getAllPost({\r\n storeIDs: [null, undefined, \"\"].includes(selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : selectedBranch,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPartialOrderReceivedList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async ADDAltNumberForCustomer(postData) {\r\n const stateListAPI = new API({ url: this.config.CDA_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.CDA_ADD_ALT_NUMBER_FOR_CUSTOMER,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.CDA_ADD_ALT_NUMBER_FOR_CUSTOMER]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.ADDAltNumberForCustomer(postData);\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async SendCustomerOTPForCreateOrder(postData) {\r\n const stateListAPI = new API({ url: this.config.CDA_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.CDA_SEND_RESEND_CUSTOMEROTP,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.CDA_SEND_RESEND_CUSTOMEROTP]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.SendCustomerOTPForCreateOrder();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n\r\n\r\n async UpdateVerifiedOTPDateTime(postData) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.UPDATE_VERIFIED_OTP_DATETIME,\r\n });\r\n let returnVal = [];\r\n await stateListAPI.endpoints[this.endpoint.UPDATE_VERIFIED_OTP_DATETIME]\r\n .getAllPost(postData)\r\n .then((response) => {\r\n returnVal = response.data;\r\n })\r\n .catch((err) => {\r\n returnVal = this.common.handleError(err);\r\n });\r\n if (returnVal.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n returnVal = this.UpdateVerifiedOTPDateTime();\r\n });\r\n }\r\n return Promise.resolve(returnVal);\r\n }\r\n\r\n async getGarmentDefect() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_SYSTEME_NUMS });\r\n let serviceTypes = [];\r\n await stateListAPI.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getById(\"?EnumNames=GarmentDefect\")\r\n .then((response) => {\r\n serviceTypes = response.data;\r\n })\r\n .catch((err) => {\r\n serviceTypes = this.common.handleError(err);\r\n });\r\n if (serviceTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n serviceTypes = this.getGarmentDefect();\r\n });\r\n }\r\n return Promise.resolve(serviceTypes);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./createorder.module.css\";\r\nimport {\r\n Row,\r\n Col,\r\n AutoComplete,\r\n Input,\r\n Space,\r\n Dropdown,\r\n Menu,\r\n Modal,\r\n Form,\r\n notification,\r\n} from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport AddCustomer from \"./addcustomer.component\";\r\nimport CreateOrderService from \"../../../../services/createorderservice\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faPlus,\r\n faHome,\r\n faPhoneAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport Common from \"../../../../services/common\";\r\nimport moment from \"moment\";\r\n\r\n/**\r\n * This file contains the component responsible for customer selection in create order screen\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 5 June 2020\r\n */\r\nclass CustomerSelection extends React.Component {\r\n createOrderService = new CreateOrderService();\r\n common = new Common();\r\n /**\r\n * state varibale to hold information regarding the perticular selection\r\n * @var isAddressModal : is address modal is open or not\r\n * @var isAddForm : is Add Customer Form is open or not\r\n * @var customerInfo.name : Name of the selected Customer\r\n * @var customerInfo.selectedAddress : selected address of the customer\r\n * @var customerInfo.serviceType : service type for the order\r\n * @var customerInfo.pickupRequest : pickup request number if order is created from pickup\r\n * @var customerInfo.customerType : type of the customer new/old.\r\n * @var customerInfo.walletBalance : Laundrokart Wallet Balance\r\n * @var cusotmerInfo.b2bCustomer: b2b customer infromation\r\n * @var customerInfo.addresses: list of address for selected customer\r\n */\r\n state = {\r\n isAddressModal: false,\r\n isAddForm: false,\r\n serviceType: {\r\n disabled: true,\r\n data: [],\r\n },\r\n searchAutoComplete: {\r\n value: \"\",\r\n selected: \"\",\r\n data: [],\r\n },\r\n addressSelection: {\r\n data: [],\r\n },\r\n customerInfo: {\r\n systemDateTimeApiValue: moment(), // added by pb for solving DeliveryDate issue [L15549]\r\n id: \"\",\r\n name: \"\",\r\n selectedAddress: {\r\n name: \"\",\r\n id: \"\",\r\n },\r\n serviceType: {\r\n name: null,\r\n id: null,\r\n },\r\n pickupRequest: 0,\r\n customerType: \"\",\r\n walletBalance: \"\",\r\n lkCreditAmt: 0,\r\n b2bCustomer: \"\",\r\n corporateID: \"\",\r\n customerID: 0,\r\n mobileNo:\"\",\r\n alterNativeMobileNo:\"\"\r\n },\r\n isEdit: false,\r\n disableAll: false,\r\n isServiceTypes: false,\r\n };\r\n componentDidMount() {\r\n this.props.getCustomerInfo(this.state.customerInfo);\r\n if ([ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") === this.props.match.path) {\r\n this.setState({ isEdit: true });\r\n }\r\n if (!this.state.isServiceTypes) this.getServiceTypes();\r\n }\r\n componentDidUpdate() {\r\n if ([ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") !== this.props.match.path) {\r\n if (\r\n this.props.location.state !== undefined &&\r\n this.props.location.state !== null\r\n ) {\r\n if (\r\n this.props.location.state.pickupID !== undefined &&\r\n this.props.location.state.pickupID !== null\r\n ) {\r\n if (this.state.customerInfo.id !== this.props.customerInfo.id) {\r\n this.setState({ customerInfo: this.props.customerInfo });\r\n this.getCustomerAddresses(this.props.customerInfo.id);\r\n this.setState({ isEdit: true });\r\n }\r\n }\r\n } else if (this.state.customerInfo !== this.props.customerInfo) {\r\n this.props.getCustomerInfo(this.state.customerInfo);\r\n }\r\n } else {\r\n if (\r\n this.state.customerInfo.id !== this.props.customerInfo.id ||\r\n this.state.customerInfo.walletBalance !==\r\n this.props.customerInfo.walletBalance\r\n ) {\r\n this.setState({ customerInfo: this.props.customerInfo });\r\n this.getCustomerAddresses(this.props.customerInfo.id);\r\n }\r\n }\r\n if (\r\n (parseInt(this.props.orderStatus) >= 2 || this.props.orderType === 2) &&\r\n this.state.disableAll === false\r\n ) {\r\n this.setState({ disableAll: true });\r\n }\r\n // if (\r\n // this.props.storeInfo.deliveryTypes.length > 0 &&\r\n // this.state.serviceType.data.length === 0 &&\r\n // this.state.customerInfo.serviceType.id === null\r\n // ) {\r\n // debugger;\r\n // if (!this.state.isServiceTypes)\r\n // this.getServiceTypes();\r\n // }\r\n }\r\n getServiceTypes = () => {\r\n this.createOrderService.getServiceTypeList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n serviceType: {\r\n ...this.state.serviceType,\r\n data: response.data.filter((x) =>\r\n this.props.storeInfo.deliveryTypes.includes(x.value.toString())\r\n ),\r\n },\r\n isServiceTypes: true,\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n serviceType: {\r\n name:\r\n this.state.customerInfo.serviceType.name === null\r\n ? response.data.filter((x) =>\r\n this.props.storeInfo.deliveryTypes.includes(\r\n x.value.toString()\r\n )\r\n ).length > 0\r\n ? response.data.filter((x) =>\r\n this.props.storeInfo.deliveryTypes.includes(\r\n x.value.toString()\r\n )\r\n )[0].text\r\n : null\r\n : this.state.customerInfo.serviceType.name,\r\n id:\r\n this.state.customerInfo.serviceType.id === null\r\n ? parseInt(\r\n response.data.filter((x) =>\r\n this.props.storeInfo.deliveryTypes.includes(\r\n x.value.toString()\r\n )\r\n ).length > 0\r\n ? response.data.filter((x) =>\r\n this.props.storeInfo.deliveryTypes.includes(\r\n x.value.toString()\r\n )\r\n )[0].value\r\n : null\r\n )\r\n : this.state.customerInfo.serviceType.id,\r\n },\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_SERVICES,\r\n });\r\n }\r\n });\r\n };\r\n searchCustomer = (value, callback = () => null) => {\r\n this.createOrderService.searchCustomer(value).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n searchAutoComplete: {\r\n ...this.state.searchAutoComplete,\r\n data: response.data.map((customer) => {\r\n return {\r\n value: customer.customerID.toString(),\r\n label: this.renderOption(\r\n customer.customerID,\r\n customer.customerName,\r\n customer.address,\r\n customer.customerType,\r\n customer.corporateID,\r\n customer.mobileNo,\r\n customer.walletBalance,\r\n customer.lkCreditAmt,\r\n customer.alterNativeMobileNo,\r\n ),\r\n };\r\n }),\r\n },\r\n },\r\n callback()\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n });\r\n };\r\n getCustomerAddresses(customerID) {\r\n this.setState({ customerID: customerID });\r\n this.createOrderService\r\n .getCustomerAddresses(customerID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n addressSelection: {\r\n ...this.state.addressSelection,\r\n data: response.data,\r\n },\r\n });\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n selectedAddress: {\r\n name: \"\",\r\n id: \"\",\r\n },\r\n // added by pb for solving DeliveryDate issue [L15549]\r\n systemDateTimeApiValue: response.data[0].systemDateTimeValue, //\"2021-03-26T17:10:16.5519372+05:30\",\r\n },\r\n });\r\n\r\n let isAddressSet = false;\r\n response.data.map((address, index) => {\r\n if (!isAddressSet && address.addressType === \"Home\") {\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n selectedAddress: {\r\n name: address.fullAddress,\r\n id: address.customerAddressID,\r\n },\r\n },\r\n });\r\n isAddressSet = true;\r\n }\r\n if (!isAddressSet) {\r\n if (response.data.length > 0) {\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n selectedAddress: {\r\n name: response.data[0].fullAddress,\r\n id: response.data[0].customerAddressID,\r\n },\r\n },\r\n });\r\n isAddressSet = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n bringBack = () => {\r\n this.setState({ isAddForm: false });\r\n };\r\n\r\n openModal = () => {\r\n this.setState({ isAddressModal: true });\r\n };\r\n\r\n closeModal = () => {\r\n this.setState({ isAddressModal: false });\r\n };\r\n\r\n customerAutoCompleteOptions = () => {\r\n let returnArray = [];\r\n this.state.searchAutoComplete.data.map((customer) => {\r\n returnArray.push({\r\n value: customer.customerID.toString(),\r\n label: this.renderOption(\r\n customer.customerID,\r\n customer.customerName,\r\n customer.address,\r\n customer.customerType,\r\n customer.corporateID\r\n ),\r\n });\r\n });\r\n return returnArray;\r\n };\r\n renderOption = (\r\n customerID,\r\n customerName,\r\n customerAddress,\r\n customerMembership = null,\r\n corporateID = 0,\r\n mobileNo = null,\r\n walletBalance = 0,\r\n lkCreditAmt = 0,\r\n alterNativeMobileNo=null\r\n ) => {\r\n return (\r\n {\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n id: customerID,\r\n name: customerName,\r\n corporateID: corporateID,\r\n mobileNo:mobileNo,\r\n alterNativeMobileNo:alterNativeMobileNo,\r\n // serviceType: {\r\n // ...this.state.customerInfo.serviceType,\r\n // name: this.state.serviceType.data.filter(\r\n // (x) => x.text === \"Normal\"\r\n // )[0].text,\r\n // id: parseInt(\r\n // this.state.serviceType.data.filter(\r\n // (x) => x.text === \"Normal\"\r\n // )[0].value\r\n // ),\r\n // },\r\n customerType: customerMembership,\r\n walletBalance: walletBalance,\r\n lkCreditAmt: lkCreditAmt,\r\n },\r\n });\r\n this.getCustomerAddresses(customerID);\r\n }}\r\n >\r\n
\r\n
\r\n
{customerName}
\r\n {customerMembership !== null && customerMembership !== \"Regular\" ? (\r\n
\r\n {customerMembership}\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{mobileNo}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{customerAddress}
\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n NavigateToAddCustomer() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n /**\r\n * A function to render the customer selection dropdown option\r\n *\r\n * @param {string/JSX} customerName : name of the customer\r\n * @param {string/JSX} customerAddress : address of the customer\r\n * @param {string/JSX} customerMembership : membership - optional\r\n */\r\n\r\n /**\r\n * Dropdown/Selection render for address selection\r\n *\r\n * @uses state.customerInfo\r\n */\r\n const customerAddressSelect = (\r\n \r\n {this.state.addressSelection.data.map((singleAddress, index) => {\r\n return (\r\n {\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n selectedAddress: {\r\n ...this.state.customerInfo.singleAddress,\r\n id: singleAddress.customerAddressID,\r\n name: singleAddress.fullAddress,\r\n },\r\n },\r\n searchAutoComplete: {\r\n ...this.state.searchAutoComplete,\r\n value: \"\",\r\n },\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
\r\n {singleAddress.addressType}\r\n
\r\n
\r\n {singleAddress.fullAddress}\r\n
\r\n
\r\n \r\n \r\n );\r\n })}\r\n {/* \r\n
\r\n New Address\r\n
\r\n
*/}\r\n
\r\n );\r\n\r\n /**\r\n * Dropdown/Selection render for service type select\r\n */\r\n const serviceTypeSelect = (\r\n \r\n {this.state.serviceType.data.map((service) => {\r\n return parseInt(service.value) !== -1 ? (\r\n this.props.storeInfo.deliveryTypes.includes(\r\n service.value.toString()\r\n ) ? (\r\n {\r\n this.props.recalculateRates();\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n serviceType: {\r\n ...this.state.customerInfo.serviceType,\r\n name: service.text,\r\n id: parseInt(service.value),\r\n },\r\n },\r\n });\r\n }}\r\n >\r\n
\r\n \r\n
{service.text}
\r\n {/*
Delivery in xx hours
*/}\r\n
\r\n \r\n \r\n ) : null\r\n ) : null;\r\n })}\r\n
\r\n );\r\n const addCustomerPlaceholder = (\r\n this.setState({ isAddForm: true })}\r\n >\r\n Add Customer\r\n \r\n );\r\n\r\n /**\r\n * Data to generate options for customer autocomplete.\r\n */\r\n let refrence = React.createRef();\r\n return (\r\n \r\n {/* {JSON.stringify(this.state.searchAutoComplete.data)} */}\r\n {!this.state.isAddForm ? (\r\n
\r\n \r\n {!this.state.isEdit ? (\r\n \r\n \r\n {/**\r\n * Please go through below documentation related to autocomplete\r\n * https://ant.design/components/auto-complete/\r\n * https://ant.design/components/auto-complete/#API\r\n */}\r\n 0}\r\n dropdownMatchSelectWidth={340}\r\n defaultOpen={\r\n this.state.searchAutoComplete.data.length > 0\r\n }\r\n options={this.state.searchAutoComplete.data}\r\n onSelect={(event, options) => {\r\n options.label.props.onClick();\r\n this.setState({\r\n searchAutoComplete: {\r\n ...this.state.searchAutoComplete,\r\n value: \"\",\r\n },\r\n });\r\n }}\r\n onSearch={() => null}\r\n onChange={(value) => {\r\n this.setState({\r\n searchAutoComplete: {\r\n ...this.state.searchAutoComplete,\r\n value: value,\r\n },\r\n });\r\n this.searchCustomer(value);\r\n }}\r\n filterOption={(inputValue, option) => {\r\n return 1;\r\n }}\r\n value={this.state.searchAutoComplete.value}\r\n >\r\n {/**\r\n * Please go through below documentation before starting\r\n * https://ant.design/components/input/\r\n * https://ant.design/components/input/#API\r\n */}\r\n \r\n \r\n {/* }\r\n className={styles.AddButton}\r\n variant=\"whitePink\"\r\n onClick={() => this.setState({ isAddForm: true })}\r\n > */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n {this.state.customerInfo.id !== \"\" ? (\r\n \r\n \r\n
\r\n {labels.NAME}\r\n
\r\n
\r\n {this.state.customerInfo.name}\r\n
\r\n \r\n \r\n \r\n \r\n {this.state.disableAll || this.state.isEdit ? (\r\n
\r\n
\r\n {labels.ADDRESS}\r\n
\r\n
\r\n {this.state.customerInfo.selectedAddress.name !=\r\n undefined &&\r\n this.state.customerInfo.selectedAddress.name\r\n .length > 32\r\n ? this.state.customerInfo.selectedAddress.name.substr(\r\n 0,\r\n 32\r\n ) + \"...\"\r\n : this.state.customerInfo.selectedAddress\r\n .name != undefined\r\n ? this.state.customerInfo.selectedAddress.name\r\n : \"\"}\r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n
\r\n {labels.ADDRESS}\r\n
\r\n
\r\n {this.state.customerInfo.selectedAddress.name\r\n .length > 32\r\n ? this.state.customerInfo.selectedAddress.name.substr(\r\n 0,\r\n 32\r\n ) + \"...\"\r\n : this.state.customerInfo.selectedAddress\r\n .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 * Please go through below documentation for Dropdown Component\r\n * https://ant.design/components/dropdown/\r\n * https://ant.design/components/dropdown/#API\r\n *\r\n */}\r\n \r\n {this.state.disableAll || this.state.isEdit \r\n || this.props.orderArray.length > 0 //Added by rashmi for L177728 - 21/02/23\r\n ? (\r\n
\r\n
\r\n {labels.TYPE_OF_SERVICE}\r\n
\r\n
\r\n {this.state.customerInfo.serviceType.name}\r\n
\r\n
\r\n ) : \r\n (\r\n \r\n
\r\n
\r\n {labels.TYPE_OF_SERVICE}\r\n
\r\n
\r\n {this.state.customerInfo.serviceType.name}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n {this.state.customerInfo.pickupRequest !== 0 ? (\r\n \r\n
\r\n {labels.PICKUP_REQUEST}\r\n
\r\n
\r\n {this.state.customerInfo.pickupRequest}\r\n
\r\n \r\n ) : null}\r\n \r\n
\r\n {labels.TYPE_OF_CUSTOMER}\r\n
\r\n
\r\n {this.state.customerInfo.customerType}\r\n
\r\n \r\n {this.state.customerInfo.customerType !==\r\n \"B2B/Corporate\" ? (\r\n \r\n \r\n
\r\n {labels.WALLET_CASH}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.customerInfo.walletBalance\r\n ).toFixed(2)}\r\n
\r\n \r\n \r\n
\r\n {labels.WALLET_CREDIT}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.customerInfo.lkCreditAmt\r\n ).toFixed(2)}\r\n
\r\n \r\n
\r\n ) : null}\r\n {/* \r\n
\r\n B2B Customer\r\n
\r\n
\r\n {this.state.customerInfo.b2bCustomer}\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 * Add Address Modal\r\n * Please go through below documents\r\n * https://ant.design/components/modal/\r\n * https://ant.design/components/modal/#API\r\n */}\r\n \r\n {/**\r\n * Please go through below documentation\r\n * https://ant.design/components/form/\r\n * https://ant.design/components/form/#API\r\n */}\r\n
\r\n \r\n \r\n \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 \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\nexport default withRouter(CustomerSelection);\r\n","import React from \"react\";\r\nimport { Alert, Badge, Spin } from \"antd\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus, faMinus } from \"@fortawesome/free-solid-svg-icons\";\r\nimport styles from \"./createorder.module.css\";\r\nimport Placeholder from \"../../../../images/Order/placeholder.png\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { withRouter } from \"react-router-dom\";\r\n/**\r\n * This file holds the view of single garment block with plus, minus button and count\r\n *\r\n * Please check the garmentObj passed in garment selection file.\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 8 June 2020\r\n */\r\nclass GarmentBlock extends React.Component {\r\n state = {\r\n count: 0,\r\n loading: false,\r\n };\r\n componentDidMount() {\r\n this.getCount();\r\n }\r\n getCount = () => {\r\n let count = this.props.getCountFunction(\r\n this.props.service.toString(),\r\n this.props.garmentObj.id.toString()\r\n );\r\n this.setState({ count: count });\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n let count = props.getCountFunction(\r\n props.service.toString(),\r\n props.garmentObj.id.toString()\r\n );\r\n state.count = count;\r\n return state;\r\n }\r\n\r\n revertCount = (prev) => {\r\n this.setState({ count: prev });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/**\r\n * Please check Badge documentation\r\n * https://ant.design/components/badge/\r\n * https://ant.design/components/badge/#API\r\n */}\r\n\r\n \r\n \r\n
\r\n \r\n
{this.props.garmentObj.name}
\r\n {[ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") !==\r\n this.props.match.path ? (\r\n { \r\n let tmparr= this.props.garmentObj.garmentDeliveryType.split(\",\"); \r\n this.setState({ loading: true }); \r\n this.props.updateOrder(\r\n this.props.service,\r\n this.props.garmentObj.id,\r\n this.state.count - 1,\r\n tmparr,\r\n () => {\r\n this.revertCount(this.state.count - 1);\r\n this.setState({ loading: false });\r\n },\r\n () => this.setState({ loading: false })\r\n );\r\n }}\r\n >\r\n \r\n \r\n ) : null}\r\n {\r\n\r\n // this.setState({ loading: true });\r\n // this.props.updateOrder(\r\n // this.props.service,\r\n // this.props.garmentObj.id,\r\n // this.state.count + 1,\r\n // () => {\r\n // this.revertCount(this.state.count - 1);\r\n // this.setState({ loading: false });\r\n // },\r\n // () => this.setState({ loading: false })\r\n // );\r\n\r\n //Added by rashmi for L177728 - 20/02/23\r\n\r\n this.setState({ loading: true });\r\n let tmparr= this.props.garmentObj.garmentDeliveryType.split(\",\");\r\n this.props.updateOrder(\r\n this.props.service,\r\n this.props.garmentObj.id,\r\n this.state.count + 1,\r\n tmparr,\r\n () => {\r\n this.revertCount(this.state.count - 1);\r\n this.setState({ loading: false });\r\n },\r\n () => this.setState({ loading: false })\r\n );\r\n\r\n //End..\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(GarmentBlock);\r\n","import React from \"react\";\r\nimport {\r\n Collapse,\r\n Input,\r\n Badge,\r\n notification,\r\n Select,\r\n Space,\r\n InputNumber,\r\n} from \"antd\";\r\nimport styles from \"./createorder.module.css\";\r\nimport AccordinIcon from \"../../../../images/Order/accordianHandler.svg\";\r\nimport Garment from \"./garmentblock.component\";\r\nimport CreateOrderService from \"../../../../services/createorderservice\";\r\nimport { labels } from \"../../../../shared/language\";\r\nconst { Panel } = Collapse;\r\nconst { Option } = Select;\r\n/**\r\n * This holds the view of collapsible panels to add garments in the order\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 8 June 2020\r\n */\r\nexport default class GarmentSelection extends React.Component {\r\n createOrderService = new CreateOrderService();\r\n state = {\r\n garmentList: this.props.garmentList,\r\n uom: {\r\n data: [],\r\n disabled: true,\r\n },\r\n };\r\n\r\n componentDidMount() {\r\n this.createOrderService.getUOMList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n uom: {\r\n ...this.state.uom,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_UOM_LIST,\r\n });\r\n }\r\n });\r\n \r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n // state.garmentList = props.garmentList;\r\n return state;\r\n }\r\n\r\n render() {\r\n /**\r\n * A varibale that holds the filter input and toggle icon for each collapsible panel\r\n *\r\n */\r\n const panelRightContent = (serviceId, serviceIndex, UOM) => {\r\n let widthRef = React.createRef();\r\n let heightRef = React.createRef();\r\n return (\r\n
\r\n
\r\n \"toggle\"\r\n
\r\n event.stopPropagation()}\r\n >\r\n \r\n {UOM === 2 ? (\r\n
\r\n Kg:\r\n {\r\n this.props.updateOrder(\r\n serviceId, \r\n -1, \r\n value,\r\n [this.props.serviceType.toString()] //Added by rashmi for L177728 - 22/02/23\r\n );\r\n let filteredLength = this.props.orderArray.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(serviceId)\r\n ).length;\r\n if (filteredLength !== 0) {\r\n let updatedArray = this.props.orderArray.map(\r\n (single) => {\r\n if (\r\n parseInt(single.serviceId) === parseInt(serviceId)\r\n ) {\r\n single.price =\r\n (value * single.rate) / filteredLength;\r\n }\r\n return single;\r\n }\r\n );\r\n this.props.updateArray(updatedArray);\r\n }\r\n }} \r\n disabled={this.props.order[serviceId] !== undefined ? false : true} //Added by rashmi for L177728 - 22/02/23\r\n />\r\n
\r\n ) : null}\r\n\r\n {/* {UOM === 3 ? (\r\n \r\n
\r\n Width:\r\n {\r\n console.log(heightRef);\r\n this.props.updateOrder(\r\n serviceId,\r\n -1,\r\n parseFloat(value) *\r\n parseFloat(heightRef.current.input.value)\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n Height:\r\n \r\n this.props.updateOrder(\r\n serviceId,\r\n -1,\r\n parseFloat(value) *\r\n parseFloat(widthRef.current.input.value)\r\n )\r\n }\r\n />\r\n
\r\n
\r\n ) : null} */}\r\n {/* this.props.setUOM(serviceId, value)}\r\n disabled={this.state.uom.disabled}\r\n >\r\n {this.state.uom.data.map((option, index) => {\r\n return option.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n */}\r\n event.stopPropagation()}\r\n onChange={(event) => {\r\n let updatedGarments = this.props.garmentList[\r\n serviceIndex\r\n ].garments.filter((garment) => {\r\n return (\r\n garment.name\r\n .toLowerCase()\r\n .indexOf(event.target.value.toLowerCase()) >= 0\r\n );\r\n });\r\n const updatedList = [...this.state.garmentList];\r\n updatedList[serviceIndex] = {\r\n ...this.props.garmentList[serviceIndex],\r\n garments: updatedGarments,\r\n };\r\n this.setState({ garmentList: updatedList });\r\n }}\r\n />\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n /**\r\n * A function to generate the panel header with count\r\n * @param {String} panelHeadText\r\n * @param {Number} count\r\n */\r\n const getPanelHeader = (panelHeadText, serviceId = 0) => {\r\n let total = 0;\r\n // let res = this.props.orderArray.filter(x => x.serviceId == serviceId).length;\r\n\r\n for (let key in this.props.order[serviceId]) {\r\n if (\r\n key !== undefined &&\r\n parseInt(key) !== -1 &&\r\n this.props.order[serviceId][key] !== undefined\r\n ) {\r\n total = total + this.props.order[serviceId][key];\r\n }\r\n }\r\n return (\r\n \r\n {panelHeadText}\r\n \r\n \r\n );\r\n };\r\n\r\n /**\r\n * Please go through below documentation for Collapse component\r\n * https://ant.design/components/collapse/\r\n * https://ant.design/components/collapse/#API\r\n */\r\n return (\r\n null}\r\n className={styles.GarmentSelectionCollapse}\r\n accordion\r\n >\r\n {this.state.garmentList.map((singleCategory, index) => { \r\n return this.props.storeInfo.services.includes(\r\n singleCategory.serviceId.toString()\r\n ) ? (\r\n \r\n
\r\n {singleCategory.garments.map((singleGarment, index) => { \r\n return (\r\n \r\n );\r\n })}\r\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((v, i) => {\r\n return (\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","import React from \"react\";\r\nimport styles from \"./createorder.module.css\";\r\nimport { Input, Empty, Popconfirm, Spin, Tooltip } from \"antd\";\r\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n// import { faGift } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport infoIcon from \"../../../../images/Order/info.svg\";\r\nimport CreateOrderService from \"../../../../services/createorderservice\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { labels } from \"../../../../shared/language\";\r\n\r\n/**\r\n * Holds the view of order summary placed at the right of create order screen\r\n *\r\n * @prop isInvoice : boolean : to determine if the summary is displayed for order or invoice\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 9 June 2020\r\n */\r\nclass OrderSummary extends React.Component {\r\n createOrderService = new CreateOrderService();\r\n /**\r\n * Information to be displayed is placed in state object\r\n */\r\n state = {\r\n displayDiscountInfo: false,\r\n displayTaxInfo: false,\r\n orderNumber: \"#256795\",\r\n orderSummary: [],\r\n tableLoading: false,\r\n };\r\n\r\n componentDidUpdate() {\r\n // console.log(this.props);\r\n }\r\n // static getDerivedStateFromProps(props, state) {\r\n // let summary = [];\r\n // props.garmentList.map((singleCategory, index) => {\r\n // if (props.order[singleCategory.serviceId] !== undefined) {\r\n // let garmentsObj = [];\r\n // let categoryRate = \"0\";\r\n // let categoryQty = \"0\";\r\n // if (props.packagingCharges.length > 0) {\r\n // let filteredPackagingCharges = props.packagingCharges.filter(\r\n // (x) => parseInt(x.serviceID) === parseInt(singleCategory.serviceId)\r\n // );\r\n\r\n // if (filteredPackagingCharges.length > 0) {\r\n // let chargesObj = filteredPackagingCharges[0];\r\n // let categorySubtotal = 0;\r\n\r\n // if (singleCategory.garments !== undefined) {\r\n // if (singleCategory.UOM === 1) {\r\n // singleCategory.garments.map((garment, index) => {\r\n // let qty =\r\n // props.order[singleCategory.serviceId] !== undefined\r\n // ? props.order[singleCategory.serviceId][garment.id] !==\r\n // undefined\r\n // ? props.order[singleCategory.serviceId][garment.id]\r\n // : 0\r\n // : 0;\r\n // let rate =\r\n // props.rates[singleCategory.serviceId] !== undefined\r\n // ? props.rates[singleCategory.serviceId][garment.id] !==\r\n // undefined\r\n // ? props.rates[singleCategory.serviceId][garment.id]\r\n // : 0\r\n // : 0;\r\n // let add =\r\n // parseFloat(qty) * parseFloat(parseFloat(rate).toFixed(2));\r\n // categorySubtotal = categorySubtotal + add;\r\n // });\r\n // } else {\r\n // let add =\r\n // parseFloat(singleCategory.categoryQty) *\r\n // parseFloat(singleCategory.categoryRate);\r\n // categorySubtotal = categorySubtotal + add;\r\n // }\r\n // }\r\n // let ratePackaging =\r\n // (categorySubtotal * chargesObj.perCharges) / 100;\r\n // state.packagingCharge = {\r\n // ...state.packagingCharge,\r\n // [singleCategory.serviceId]:\r\n // ratePackaging > chargesObj.fixedCharges\r\n // ? ratePackaging\r\n // : chargesObj.fixedCharges,\r\n // };\r\n // state.packagingChargeTotal =\r\n // state.packagingChargeTotal + ratePackaging >\r\n // chargesObj.fixedCharges\r\n // ? ratePackaging\r\n // : chargesObj.fixedCharges;\r\n // }\r\n // }\r\n // for (const key in props.order[singleCategory.serviceId]) {\r\n // let orderObj = {\r\n // id: null,\r\n // name: null,\r\n // qty: null,\r\n // rate: 0,\r\n // };\r\n // if (parseInt(key) !== -1) {\r\n // const garmentObj = singleCategory.garments.filter((x) => {\r\n // return x.id === parseInt(key);\r\n // });\r\n\r\n // if (\r\n // props.order[singleCategory.serviceId].hasOwnProperty(key) &&\r\n // props.order[singleCategory.serviceId][parseInt(key)] !== undefined\r\n // ) {\r\n // orderObj.id = parseInt(key);\r\n // orderObj.name = garmentObj[0].name;\r\n // orderObj.qty =\r\n // props.order[singleCategory.serviceId][parseInt(key)];\r\n // let rateToCheck = singleCategory.serviceId;\r\n // if (parseInt(singleCategory.seviceId) === 9) {\r\n // rateToCheck = 11;\r\n // } else if (parseInt(singleCategory.serviceId) === 8) {\r\n // rateToCheck = 21;\r\n // }\r\n // if (props.rates[rateToCheck] !== undefined) {\r\n // state.tableLoading = false;\r\n // orderObj.rate = props.rates[rateToCheck][parseInt(key)];\r\n // garmentsObj.push(orderObj);\r\n // } else {\r\n // state.tableLoading = true;\r\n // }\r\n // }\r\n // } else {\r\n // if (props.rates[singleCategory.serviceId] !== undefined) {\r\n // categoryRate =\r\n // props.rates[singleCategory.serviceId][parseInt(key)];\r\n // state.tableLoading = false;\r\n // } else {\r\n // state.tableLoading = true;\r\n // }\r\n // categoryQty = props.order[singleCategory.serviceId][parseInt(key)];\r\n // }\r\n // }\r\n\r\n // summary.push({\r\n // id: singleCategory.serviceId,\r\n // title: singleCategory.title,\r\n // categoryQty: categoryQty,\r\n // categoryRate: categoryRate,\r\n // UOM: singleCategory.UOM,\r\n // data: garmentsObj,\r\n // });\r\n // }\r\n // });\r\n // const calculateTax = (type) => {\r\n // let total = 0;\r\n // for (let service in props.order) {\r\n // if (\r\n // props.cgst[service] !== undefined &&\r\n // props.order[service] !== undefined &&\r\n // props.sgst[service] !== undefined &&\r\n // props.igst[service] !== undefined\r\n // ) {\r\n // let filteredUOM = props.garmentList.filter(\r\n // (x) => x.serviceId == service\r\n // )[0].UOM;\r\n // if (parseInt(filteredUOM) === 1) {\r\n // for (let garment in props.order[service]) {\r\n // if (type === \"CGST\") {\r\n // total =\r\n // total +\r\n // parseFloat(props.cgst[service][garment]) *\r\n // parseInt(props.order[service][garment]);\r\n // } else if (type === \"SGST\") {\r\n // total =\r\n // total +\r\n // parseFloat(props.sgst[service][garment]) *\r\n // parseInt(props.order[service][garment]);\r\n // } else if (type === \"IGST\") {\r\n // total =\r\n // total +\r\n // parseFloat(props.sgst[service][garment]) *\r\n // parseInt(props.order[service][garment]);\r\n // }\r\n // }\r\n // } else {\r\n // if (type === \"CGST\") {\r\n // total =\r\n // total +\r\n // parseFloat(props.cgst[service][-1]) *\r\n // parseInt(props.order[service][-1]);\r\n // } else if (type === \"SGST\") {\r\n // total =\r\n // total +\r\n // parseFloat(props.sgst[service][-1]) *\r\n // parseInt(props.order[service][-1]);\r\n // } else if (type === \"IGST\") {\r\n // total =\r\n // total +\r\n // parseFloat(props.sgst[service][-1]) *\r\n // parseInt(props.order[service][-1]);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // return total;\r\n // };\r\n // state.cgst = calculateTax(\"CGST\");\r\n // state.sgst = calculateTax(\"SGST\");\r\n // state.igst = calculateTax(\"IGST\");\r\n // return { ...state, orderSummary: summary };\r\n // }\r\n\r\n calculateCount = (serviceId = null) => {\r\n return this.props.orderArray.length;\r\n };\r\n calculateTotal = () => {\r\n let subtotal = this.calculateSubtotal();\r\n let total =\r\n parseFloat(subtotal.toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"CGST\").toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"SGST\").toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"IGST\").toFixed(2)) +\r\n parseFloat(this.calculatePackagingCharges().toFixed(2)) +\r\n parseFloat(this.calculateDeliveryCharges().toFixed(2)) -\r\n parseFloat(parseFloat(this.props.discount).toFixed(2));\r\n return total.toFixed(2);\r\n };\r\n calculateSubtotal = (service = null, type = \"whole\") => {\r\n // console.log(\"service->\",service);\r\n // console.log(\"type->\",type);\r\n let total = 0;\r\n if (service === null) {\r\n this.props.orderArray.map((record) => {\r\n let addAmt =\r\n type === \"whole\"\r\n ? parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n )\r\n : type === \"service\"\r\n ? parseFloat(record.price.toFixed(2))\r\n : type === \"addon\"\r\n ? parseFloat(\r\n (\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n )\r\n : parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n );\r\n total = total + addAmt;\r\n });\r\n } else {\r\n // console.log(\"order->\",this.props.orderArray);\r\n let filtered = this.props.orderArray.filter(\r\n (x) => x.serviceId === service\r\n );\r\n if (filtered.length > 0) {\r\n filtered.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n );\r\n });\r\n }\r\n }\r\n return total;\r\n };\r\n calculateTaxes(type) {\r\n let tax = 0;\r\n let total = 0;\r\n if (type === \"CGST\") {\r\n this.props.orderArray.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n ).toFixed(2)\r\n );\r\n });\r\n total =\r\n total +\r\n this.calculatePackagingCharges() +\r\n this.calculateDeliveryCharges() -\r\n this.props.discount;\r\n tax =\r\n (total *\r\n (this.props.orderArray.length > 0\r\n ? this.props.orderArray[0].cgst\r\n : 0)) /\r\n 100;\r\n }\r\n if (type === \"SGST\") {\r\n this.props.orderArray.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n ).toFixed(2)\r\n );\r\n });\r\n total =\r\n total +\r\n this.calculatePackagingCharges() +\r\n this.calculateDeliveryCharges() -\r\n this.props.discount;\r\n tax =\r\n (total *\r\n (this.props.orderArray.length > 0\r\n ? this.props.orderArray[0].sgst\r\n : 0)) /\r\n 100;\r\n }\r\n if (type === \"IGST\") {\r\n this.props.orderArray.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n ).toFixed(2)\r\n );\r\n });\r\n total =\r\n total +\r\n this.calculatePackagingCharges() +\r\n this.calculateDeliveryCharges() -\r\n this.props.discount;\r\n tax =\r\n (total *\r\n (this.props.orderArray.length > 0\r\n ? this.props.orderArray[0].igst\r\n : 0)) /\r\n 100;\r\n }\r\n return tax;\r\n }\r\n calculatePackagingCharges = (shouldReturnTax = false) => {\r\n let total = 0;\r\n let serviceIDs = [];\r\n this.props.orderArray.map((record) => {\r\n if (!serviceIDs.includes(record.serviceId)) {\r\n serviceIDs.push(record.serviceId);\r\n }\r\n });\r\n for (let serviceId in serviceIDs) {\r\n if (![8, 9].includes(parseInt(serviceId))) {\r\n let filtered = this.props.packagingCharges.filter(\r\n (x) => parseInt(x.serviceID) === parseInt(serviceIDs[serviceId])\r\n );\r\n if (filtered.length > 0) {\r\n let filteredObj = filtered[0];\r\n let categorySubtotal = this.calculateSubtotal(serviceIDs[serviceId]);\r\n let rateCharges = (categorySubtotal * filteredObj.perCharges) / 100;\r\n if (shouldReturnTax) {\r\n total = {\r\n cgst: filteredObj.cgst,\r\n sgst: filteredObj.sgst,\r\n igst: filteredObj.igst,\r\n };\r\n } else {\r\n if (rateCharges > filteredObj.fixedCharges) {\r\n total = total + rateCharges;\r\n } else {\r\n total = total + filteredObj.fixedCharges;\r\n }\r\n }\r\n }\r\n } else {\r\n if (shouldReturnTax) {\r\n total = {\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n };\r\n } else {\r\n total = total;\r\n }\r\n }\r\n }\r\n return total;\r\n };\r\n calculateDeliveryCharges = (shouldReturnTax = false) => {\r\n let subtotal = this.calculateSubtotal();\r\n let finalCharges = 0;\r\n if (subtotal < this.props.deliveryCharges.minBillAmount) {\r\n finalCharges = this.props.deliveryCharges.fixedCharges;\r\n } else {\r\n let percentageCharges =\r\n (subtotal * this.props.deliveryCharges.perCharges) / 100;\r\n\r\n if (percentageCharges > this.props.deliveryCharges.fixedCharges) {\r\n finalCharges = percentageCharges;\r\n } else {\r\n finalCharges = this.props.deliveryCharges.fixedCharges;\r\n }\r\n if (finalCharges > this.props.deliveryCharges.maxCharges) {\r\n finalCharges = this.props.deliveryCharges.maxCharges;\r\n }\r\n }\r\n\r\n if (shouldReturnTax) {\r\n if (this.props.isFromPickup || this.props.isOnDemand) {\r\n return {\r\n cgst: this.props.deliveryCharges.cgst,\r\n sgst: this.props.deliveryCharges.sgst,\r\n igst: this.props.deliveryCharges.igst,\r\n };\r\n } else {\r\n return {\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n };\r\n }\r\n } else {\r\n if (this.props.isFromPickup || this.props.isOnDemand) {\r\n return parseFloat(finalCharges.toFixed(2));\r\n } else {\r\n return 0;\r\n }\r\n }\r\n };\r\n render() {\r\n /**\r\n * An array of colors for the labels for different categories\r\n */\r\n const labelColors = [\r\n \"#FF8EB1\",\r\n \"#FCC350\",\r\n \"#6ABEFF\",\r\n \"#7AE473\",\r\n \"#FF6A6A\",\r\n \"#8F56F3\",\r\n \"#E162E5\",\r\n \"#B2C12C\",\r\n \"#3C76EB\",\r\n ];\r\n\r\n var Cancel_order_by_admin_show = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Cancel Order By Admin\";\r\n }); \r\n\r\n return (\r\n \r\n {/*
{JSON.stringify(this.state.orderSummary)}
*/}\r\n {/**\r\n * Added condition for isInvoice\r\n * if this summary is displayed in invoice then order number wont be displayed\r\n *\r\n * @author Niraj Gohel\r\n * @added 11 June 2016\r\n */}\r\n {!this.props.isInvoice ? (\r\n
\r\n {labels.ORDER_SUMMARY}\r\n {/* {this.state.orderNumber} */}\r\n
\r\n ) : null}\r\n\r\n {/**\r\n * additional class if the summary is displayed in invoice screen\r\n * styles.SummaryTableInvoice\r\n *\r\n * @author Niraj Gohel\r\n * @added 11 June 2016\r\n */}\r\n\r\n {this.props.orderArray.length === 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Do not display gear if summary is displayed in invoice\r\n *\r\n * @author Niraj Gohel\r\n * @added 11 June 2016\r\n */}\r\n {!this.props.isInvoice ? : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {this.state.orderSummary.map((category, index) => {\r\n return (\r\n \r\n \r\n \r\n {category.categoryQty !== undefined &&\r\n category.categoryQty !== \"\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n\r\n {category.data.map((item, index) => {\r\n return (\r\n \r\n {!this.props.isInvoice ? : 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 {this.props.garmentList.map((service, index) => {\r\n let serviceId = parseInt(service.serviceId);\r\n let title = service.title;\r\n let uom = service.UOM;\r\n let filteredRecords = this.props.orderArray.filter(\r\n (record) =>\r\n parseInt(record.serviceId) === parseInt(serviceId)\r\n );\r\n let returnVal = [];\r\n if (filteredRecords.length > 0) {\r\n returnVal.push(\r\n \r\n \r\n {parseInt(uom) === 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 service.garments.map((garment) => { \r\n let garmentId = parseInt(garment.id);\r\n let garmentFilteredRecords =\r\n this.props.orderArray.filter( \r\n (record) => \r\n parseInt(record.serviceId) === parseInt(serviceId) &&\r\n parseInt(record.garmentId) === parseInt(garmentId) \r\n );\r\n if (garmentFilteredRecords.length > 0) {\r\n returnVal.push(\r\n \r\n \r\n \r\n \r\n {parseInt(uom) !== 3\r\n ? garmentFilteredRecords.length\r\n : parseFloat(\r\n garmentFilteredRecords.reduce(\r\n (prev, obj) => {\r\n return (\r\n parseFloat(prev) +\r\n parseFloat(\r\n obj[\"width\"] * obj[\"length\"]\r\n )\r\n );\r\n },\r\n\r\n 0\r\n )\r\n ).toFixed(2)}\r\n \r\n {parseInt(uom) === 2 ? (\r\n \r\n ) : (\r\n \r\n \r\n ₹{\" \"}\r\n {parseFloat(\r\n garmentFilteredRecords[0].rate\r\n ).toFixed(2)}\r\n \r\n \r\n \r\n \r\n
Service Charges
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n garmentFilteredRecords.reduce(\r\n (prev, obj) =>\r\n prev + obj.price,\r\n 0\r\n )\r\n ).toFixed(2)}\r\n
\r\n \r\n \r\n
Add-on Service Charges
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n garmentFilteredRecords.reduce(\r\n (prev, obj) =>\r\n prev +\r\n obj.darningPrice +\r\n obj.dyingPrice +\r\n obj.ucPrice,\r\n 0\r\n )\r\n ).toFixed(2)}\r\n
\r\n \r\n
\r\n }\r\n >\r\n ₹{\" \"}\r\n {parseInt(uom) !== 3\r\n ? parseFloat(\r\n garmentFilteredRecords.reduce(\r\n (prev, obj) =>\r\n prev +\r\n obj.price +\r\n obj.darningPrice +\r\n obj.dyingPrice +\r\n obj.ucPrice,\r\n 0\r\n )\r\n ).toFixed(2)\r\n : parseFloat(\r\n parseFloat(\r\n parseFloat(\r\n garmentFilteredRecords.reduce(\r\n (prev, obj) => {\r\n return (\r\n parseFloat(prev) +\r\n parseFloat(\r\n parseFloat(\r\n obj[\"width\"] *\r\n obj[\"length\"]\r\n ) * obj.rate\r\n ) +\r\n obj.darningPrice +\r\n obj.dyingPrice +\r\n obj.ucPrice\r\n );\r\n },\r\n\r\n 0\r\n )\r\n ).toFixed(2)\r\n )\r\n ).toFixed(2)}{\" \"}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n });\r\n return returnVal;\r\n })}\r\n \r\n
{labels.DETAILS}{labels.QTY}{labels.RATES}{labels.FEES}
\r\n \r\n {category.title}\r\n \r\n \r\n
\r\n {category.UOM !== 1 ? (\r\n \r\n {parseFloat(\r\n category.categoryQty\r\n ).toFixed(2)}\r\n {category.UOM === 2\r\n ? \"Kg\"\r\n : category.UOM === 3\r\n ? \"Sqft\"\r\n : null}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n {category.UOM !== 1 ? (\r\n \r\n ₹\r\n {parseFloat(\r\n category.categoryRate\r\n ).toFixed(2)}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n {category.UOM !== 1 ? (\r\n \r\n ₹\r\n {(\r\n category.categoryQty *\r\n category.categoryRate\r\n ).toFixed(2)}\r\n \r\n ) : null}\r\n
\r\n
{item.name}{item.qty}\r\n {category.UOM === 1 ? (\r\n \r\n ₹{parseFloat(item.rate).toFixed(2)}\r\n \r\n ) : null}\r\n \r\n {category.UOM === 1 ? (\r\n \r\n ₹{(item.qty * item.rate).toFixed(2)}\r\n \r\n ) : null}\r\n
\r\n \r\n {title}\r\n \r\n \r\n \r\n {this.props.order[serviceId] !== undefined\r\n ? this.props.order[serviceId][\"-1\"] !==\r\n undefined &&\r\n this.props.order[serviceId][\"-1\"] !==\r\n null &&\r\n this.props.order[serviceId][\"-1\"] !== \"\"\r\n ? parseFloat(\r\n this.props.order[serviceId][\"-1\"]\r\n ).toFixed(2)\r\n : parseFloat(0).toFixed(2)\r\n : parseFloat(0).toFixed(2)}\r\n \r\n \r\n \r\n ₹{\" \"}\r\n {parseFloat(\r\n filteredRecords[0].rate\r\n ).toFixed(2)}\r\n \r\n \r\n \r\n ₹{\" \"}\r\n {this.props.order[serviceId] !== undefined\r\n ? this.props.order[serviceId][\"-1\"] !==\r\n undefined &&\r\n this.props.order[serviceId][\"-1\"] !==\r\n null &&\r\n this.props.order[serviceId][\"-1\"] !== \"\"\r\n ? parseFloat(\r\n this.props.order[serviceId][\"-1\"] *\r\n filteredRecords[0].rate\r\n ).toFixed(2)\r\n : 0\r\n : 0}\r\n \r\n
\r\n {garment.name}\r\n {[null, undefined, \"\"].includes(\r\n this.props.customer\r\n )\r\n ? null\r\n : this.props.customer.serviceType.id === 2\r\n ? \" \" + labels.SEMI_EXPRESS_RATE\r\n : this.props.customer.serviceType.id === 3\r\n ? \" \" + labels.EXPRESS_RATE\r\n : null}\r\n
\r\n
\r\n \r\n\r\n
\r\n
{labels.SUBTOTAL}
\r\n
\r\n \r\n \r\n
Service Charges
\r\n
\r\n ₹ {this.calculateSubtotal(null, \"service\").toFixed(2)}\r\n
\r\n
\r\n \r\n
Add-on Service Charges
\r\n
\r\n ₹ {this.calculateSubtotal(null, \"addon\").toFixed(2)}\r\n
\r\n
\r\n
\r\n }\r\n >\r\n ₹ {this.calculateSubtotal().toFixed(2)}\r\n \r\n \r\n \r\n
\r\n
\r\n {labels.DISCOUNT}\r\n \r\n this.setState({\r\n displayDiscountInfo: !this.state.displayDiscountInfo,\r\n })\r\n }\r\n >\r\n \"i\"\r\n \r\n
\r\n
\r\n ₹ {parseFloat(this.props.discount).toFixed(2)}\r\n
\r\n
\r\n {this.state.displayDiscountInfo ? (\r\n
\r\n
\r\n
\r\n {labels.PROMO_DISCOUNT}\r\n
\r\n
\r\n ₹ {parseFloat(this.props.discount).toFixed(2)}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n {labels.TAXES_AND_CHARGES}\r\n \r\n this.setState({\r\n displayTaxInfo: !this.state.displayTaxInfo,\r\n })\r\n }\r\n >\r\n \"i\"\r\n \r\n
\r\n\r\n
\r\n ₹{\" \"}\r\n {(\r\n parseFloat(this.calculateTaxes(\"CGST\").toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"SGST\").toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"IGST\").toFixed(2)) +\r\n parseFloat(this.calculatePackagingCharges().toFixed(2)) +\r\n parseFloat(this.calculateDeliveryCharges().toFixed(2))\r\n ).toFixed(2)}\r\n
\r\n
\r\n\r\n {this.state.displayTaxInfo ? (\r\n
\r\n
\r\n
\r\n {labels.PACKAGING_CHARGES}\r\n
\r\n
\r\n ₹ {this.calculatePackagingCharges().toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.DELIVERY_CHARGES}\r\n
\r\n
\r\n ₹ {this.calculateDeliveryCharges().toFixed(2)}\r\n
\r\n
\r\n
\r\n
{labels.CGST}
\r\n
\r\n ₹ {this.calculateTaxes(\"CGST\").toFixed(2)}\r\n
\r\n
\r\n
\r\n
{labels.SGST}
\r\n
\r\n ₹ {this.calculateTaxes(\"SGST\").toFixed(2)}\r\n
\r\n
\r\n
\r\n
{labels.IGST}
\r\n
\r\n ₹ {this.calculateTaxes(\"IGST\").toFixed(2)}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n {labels.TOTAL}\r\n {this.calculateCount()}\r\n ₹ {this.calculateTotal()}\r\n
\r\n {/**\r\n * Hide Notes and Review Button if displayed in invoice\r\n * @author Niraj Gohel\r\n * @added 12 June 2016\r\n */}\r\n {!this.props.isInvoice ? (\r\n \r\n \r\n this.props.updateOrderRemarks(e.target.value)\r\n }\r\n />\r\n
\r\n this.props.order[x] !== undefined\r\n // ).length ===\r\n // Object.keys(this.props.order)\r\n // .filter((x) => this.props.order[x] !== undefined)\r\n // .filter((x) => parseInt(x) === 8 || parseInt(x) === 9)\r\n // .length\r\n // }\r\n disabled={this.disableRevireOrder()}\r\n >\r\n
\r\n {labels.REVIEW_ORDER}\r\n ₹ {this.calculateTotal()}\r\n
\r\n \r\n {[ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") ===\r\n this.props.match.path &&\r\n parseInt(this.props.orderStatus) < 2 ? (\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {labels.CANCEL_ORDER}\r\n \r\n \r\n ) : null}\r\n\r\n {/* localStorage\r\n .getItem(\"roleNames\")\r\n .split(\",\")\r\n .indexOf(\"Admin\") > -1 && */}\r\n\r\n {Cancel_order_by_admin_show.length > 0 &&\r\n [ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") ===\r\n this.props.match.path &&\r\n parseInt(this.props.orderStatus) < 4 ? (\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {labels.CANCEL_ORDER_BY_ADMIN}\r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n ) : null}\r\n \r\n )}\r\n \r\n );\r\n }\r\n disableRevireOrder = () => {\r\n // debugger;\r\n var orderArrayLength =\r\n this.props.orderArray.length > 0\r\n ? this.props.orderArray.filter(\r\n (x) =>\r\n !x.serviceIsAddOn ||\r\n (parseInt(x.serviceId) != 8 && parseInt(x.serviceId) != 9)\r\n ).length\r\n : 0;\r\n return orderArrayLength > 0 ? false : true;\r\n };\r\n}\r\nexport default withRouter(OrderSummary);\r\n","import React from \"react\";\r\nimport Box from \"../../../Common/Box/box\";\r\nimport {\r\n Table,\r\n PageHeader,\r\n Select,\r\n notification,\r\n Input,\r\n Row,\r\n Col,\r\n Space,\r\n Popconfirm,\r\n Form,\r\n InputNumber,\r\n Upload,\r\n Popover,\r\n Modal,\r\n Checkbox,\r\n Spin,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faArrowLeft,\r\n faTrash,\r\n faGift,\r\n faCamera,\r\n faPencilAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport styles from \"./createorder.module.css\";\r\nimport ColorPicker from \"../../../Common/ColorPicker/colorpicker\";\r\nimport CreateOrderService from \"../../../../services/createorderservice\";\r\nimport moment from \"moment\";\r\nimport infoIcon from \"../../../../images/Order/info.svg\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport WalletIcon from \"../../../../images/Billing/wallet.svg\";\r\nimport { getPDFEstimatedOrder } from \"./estimatedorderpdf.component\";\r\nimport InvoiceService from \"../../../../services/invoiceservice\";\r\nimport PickupService from \"../../../../services/pickupservice\";\r\nimport PaytmTransService from \"../../../../services/PaytmTransService\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport Common from \"../../../../services/common\";\r\n\r\nconst { Option } = Select;\r\nconst confirm = Modal.confirm;\r\n\r\nclass ReviewOrder extends React.Component {\r\n PaytmTransService = new PaytmTransService();\r\n common = new Common();\r\n state = {\r\n disablegenerateOTP: false,\r\n TimerValue: 0,\r\n isResendOtp: false,\r\n ALTmobileNo: \"\",\r\n InputOTP: \"\",\r\n ReceivedOTP: \"\",\r\n ISVerified: false,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isTransFail: false,\r\n showAdvancePaymentPopup: false,\r\n HolidayList: [],\r\n paymentMethods: {\r\n data: [],\r\n disabled: true,\r\n selected: 1,\r\n },\r\n orderSummary: [],\r\n orderDate: this.props.orderDate,\r\n dataSource: [],\r\n addOnServices: {\r\n data: [],\r\n disabled: true,\r\n },\r\n brands: {\r\n data: [],\r\n disabled: true,\r\n },\r\n operationInstructions: {\r\n selected: [],\r\n data: [],\r\n disabled: true,\r\n },\r\n sizes: {\r\n data: [],\r\n disabled: true,\r\n },\r\n timeCard: null,\r\n dyeingColors: {\r\n data: [],\r\n disabled: true,\r\n },\r\n disableAll: false,\r\n shouldConfirm: false,\r\n orderSummaryDefined: false,\r\n rewashMode: false,\r\n rewashData: [],\r\n rewashReason: {\r\n data: [],\r\n disabled: true,\r\n },\r\n rewashRequestedBy: {\r\n data: [],\r\n disabled: true,\r\n },\r\n thisIsRewashOrder: false,\r\n garmentDefectOptions: {\r\n data: [],\r\n disabled: true,\r\n },\r\n // isConfirmBtnLoading: false,\r\n columns: [\r\n {\r\n title: \"No\",\r\n dataIndex: \"no\",\r\n key: \"no\",\r\n render: (text, record) => parseInt(text),\r\n },\r\n parseInt(this.props.orderStatus) > 2\r\n ? {\r\n title: labels.TAG,\r\n dataIndex: \"tagNo\",\r\n key: \"tagNo\",\r\n }\r\n : {},\r\n {\r\n title: labels.GARMENT,\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n
\r\n \r\n {record.serviceName}\r\n {record.splitOrderNumber !== \"\"\r\n ? \"-\" + record.splitOrderNumber\r\n : null}\r\n \r\n
{record.garmentName}
\r\n
\r\n {record.UOM === 3 ? (\r\n \r\n \r\n \r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index].width = value;\r\n updated[index].price =\r\n updated[index].width *\r\n updated[index].length *\r\n updated[index].rate;\r\n this.setState({ dataSource: updated }, () =>\r\n this.props.updateArray(updated)\r\n );\r\n }}\r\n disabled={this.state.disableAll}\r\n />\r\n \r\n \r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index].length = value;\r\n updated[index].price =\r\n updated[index].width *\r\n updated[index].length *\r\n updated[index].rate;\r\n this.setState({ dataSource: updated }, () =>\r\n this.props.updateArray(updated)\r\n );\r\n }}\r\n disabled={this.state.disableAll}\r\n />\r\n \r\n \r\n {/* */}\r\n \r\n ) : null}\r\n {record.UOM === 2 ? (\r\n \r\n
\r\n \r\n {\r\n let updated = { ...this.props.order };\r\n updated[record.serviceId] = {\r\n ...updated[record.serviceId],\r\n [\"-1\"]: value,\r\n };\r\n this.props.updateOrder(updated);\r\n this.props.updateOrderFunc(\r\n record.serviceId,\r\n -1,\r\n value,\r\n this.props.GarmentDeliveryType //Added by rashmi for L177728 - 22/02/23\r\n );\r\n let filteredLength = this.state.dataSource.filter(\r\n (x) =>\r\n parseInt(x.serviceId) ===\r\n parseInt(record.serviceId)\r\n ).length;\r\n if (filteredLength !== 0) {\r\n let updatedArray = this.state.dataSource.map(\r\n (single) => {\r\n if (\r\n parseInt(single.serviceId) ===\r\n parseInt(record.serviceId)\r\n ) {\r\n single.price =\r\n (value * single.rate) / filteredLength;\r\n }\r\n return single;\r\n }\r\n );\r\n this.setState({ dataSource: updatedArray });\r\n this.props.updateArray(updatedArray);\r\n }\r\n }}\r\n disabled={this.state.disableAll}\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 title: labels.GARMENT_DEFECT,\r\n key: \"garmentDefect\",\r\n render: (text, record, index) => (\r\n \r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index] = {\r\n ...this.state.dataSource[index],\r\n garmentDefect: value,\r\n };\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () => this.props.updateArray(updated)\r\n );\r\n // console.log(this.state.garmentDefectOptions)\r\n }}\r\n value={this.state.dataSource[index].garmentDefect}\r\n disabled={this.state.garmentDefectOptions.disabled || this.state.disableAll}\r\n\r\n >\r\n {this.state.garmentDefectOptions.data.map((option, index) => (\r\n \r\n \r\n {option.enumDetailName}\r\n \r\n \r\n ))}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: labels.ADD_ON_SERVICES,\r\n key: \"addon\",\r\n width: \"18%\",\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {record.UOM !== 2 ? (\r\n \r\n {![8, 9].includes(parseInt(record.serviceId)) ? (\r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n key={record.no}\r\n value={record.addOnServices}\r\n onChange={(value) => {\r\n if (value.length > 0) {\r\n value.map((singleService) => {\r\n if (\r\n parseInt(singleService) !== 8 &&\r\n parseInt(singleService) !== 9\r\n ) {\r\n this.props.getRateForGarment(\r\n this.props.storeID,\r\n record.UOM,\r\n null,\r\n parseInt(singleService),\r\n record.garmentId,\r\n () => null,\r\n (response) => {\r\n let updated = [...this.state.dataSource];\r\n updated[index].addOnServices = value;\r\n // updated[index].deliveryDate = moment(\r\n // this.props.orderDate\r\n // ).add(\r\n // this.props.calculateDeliveryDateAdd(\r\n // record.serviceId,\r\n // value,\r\n // record.garmentId\r\n // ),\r\n // \"d\"\r\n // );\r\n let DeliveryDateAfterAdd = moment(\r\n this.props.orderDate\r\n ).add(\r\n this.props.calculateDeliveryDateAdd(\r\n record.serviceId,\r\n value,\r\n record.garmentId\r\n ),\r\n \"d\"\r\n );\r\n let weekDayName = JSON.parse(\r\n localStorage.getItem(\"StoreSlots\")\r\n ).map((dayName) => {\r\n return dayName.weekDayName;\r\n });\r\n\r\n updated[index].deliveryDate =\r\n weekDayName.includes(\r\n DeliveryDateAfterAdd.format(\"ddd\")\r\n )\r\n ? DeliveryDateAfterAdd\r\n : DeliveryDateAfterAdd.add(1, \"d\");\r\n updated[index].deliveryDate =\r\n weekDayName.includes(\r\n updated[index].deliveryDate.format(\r\n \"ddd\"\r\n )\r\n )\r\n ? updated[index].deliveryDate\r\n : updated[index].deliveryDate.add(\r\n 1,\r\n \"d\"\r\n );\r\n\r\n if (!value.includes(\"8\")) {\r\n updated[index].dyingColorsUOM = null;\r\n updated[index].dyingColorsValue = null;\r\n }\r\n if (!value.includes(\"9\")) {\r\n updated[index].darningSize = null;\r\n }\r\n if (value.includes(\"10\")) {\r\n updated[index].ucPrice = response.rate;\r\n }\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () =>\r\n this.props.updateArray(\r\n this.state.dataSource\r\n )\r\n );\r\n }\r\n );\r\n } else {\r\n let updated = [...this.state.dataSource];\r\n updated[index].addOnServices = value;\r\n // updated[index].deliveryDate = moment(\r\n // this.props.orderDate\r\n // ).add(\r\n // this.props.calculateDeliveryDateAdd(\r\n // record.serviceId,\r\n // value,\r\n // record.garmentId\r\n // ),\r\n // \"d\"\r\n // );\r\n\r\n let DeliveryDateAfterAdd = moment(\r\n this.props.orderDate\r\n ).add(\r\n this.props.calculateDeliveryDateAdd(\r\n record.serviceId,\r\n value,\r\n record.garmentId\r\n ),\r\n \"d\"\r\n );\r\n let weekDayName = JSON.parse(\r\n localStorage.getItem(\"StoreSlots\")\r\n ).map((dayName) => {\r\n return dayName.weekDayName;\r\n });\r\n\r\n updated[index].deliveryDate =\r\n weekDayName.includes(\r\n DeliveryDateAfterAdd.format(\"ddd\")\r\n )\r\n ? DeliveryDateAfterAdd\r\n : DeliveryDateAfterAdd.add(1, \"d\");\r\n\r\n updated[index].deliveryDate =\r\n weekDayName.includes(\r\n updated[index].deliveryDate.format(\"ddd\")\r\n )\r\n ? updated[index].deliveryDate\r\n : updated[index].deliveryDate.add(1, \"d\");\r\n if (!value.includes(\"8\")) {\r\n updated[index].dyingColorsUOM = null;\r\n updated[index].dyingColorsValue = null;\r\n updated[index].dyingPrice = 0;\r\n }\r\n if (!value.includes(\"9\")) {\r\n updated[index].darningSize = null;\r\n updated[index].darningPrice = 0;\r\n }\r\n if (!value.includes(\"10\")) {\r\n updated[index].ucPrice = 0;\r\n }\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () =>\r\n this.props.updateArray(\r\n this.state.dataSource\r\n )\r\n );\r\n }\r\n });\r\n } else {\r\n let updated = [...this.state.dataSource];\r\n // updated[index].deliveryDate = moment(\r\n // this.props.orderDate\r\n // ).add(\r\n // this.props.calculateDeliveryDateAdd(\r\n // record.serviceId,\r\n // [],\r\n // record.garmentId\r\n // ),\r\n // \"d\"\r\n // );\r\n let DeliveryDateAfterAdd = moment(\r\n this.props.orderDate\r\n ).add(\r\n this.props.calculateDeliveryDateAdd(\r\n record.serviceId,\r\n value,\r\n record.garmentId\r\n ),\r\n \"d\"\r\n );\r\n let weekDayName = JSON.parse(\r\n localStorage.getItem(\"StoreSlots\")\r\n ).map((dayName) => {\r\n return dayName.weekDayName;\r\n });\r\n\r\n updated[index].deliveryDate = weekDayName.includes(\r\n DeliveryDateAfterAdd.format(\"ddd\")\r\n )\r\n ? DeliveryDateAfterAdd\r\n : DeliveryDateAfterAdd.add(1, \"d\");\r\n\r\n updated[index].deliveryDate = weekDayName.includes(\r\n updated[index].deliveryDate.format(\"ddd\")\r\n )\r\n ? updated[index].deliveryDate\r\n : updated[index].deliveryDate.add(1, \"d\");\r\n\r\n updated[index].addOnServices = [];\r\n updated[index].darningSize = null;\r\n updated[index].dyingColorsUOM = null;\r\n updated[index].dyingColorsValue = null;\r\n updated[index].darningPrice = 0;\r\n updated[index].dyingPrice = 0;\r\n updated[index].ucPrice = 0;\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () =>\r\n this.props.updateArray(this.state.dataSource)\r\n );\r\n }\r\n }}\r\n disabled={\r\n this.state.addOnServices.disabled ||\r\n this.state.disableAll\r\n }\r\n >\r\n {this.state.addOnServices.data.length !== 0\r\n ? this.state.addOnServices.data.map((service) => {\r\n return service.value !== \"-1\" ? (\r\n \r\n {service.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n ) : null}\r\n {record.addOnServices.includes(\"9\") ||\r\n parseInt(record.serviceId) == 9 ? (\r\n
\r\n \r\n {\r\n if (value.length > 0) {\r\n this.props.getRateForGarment(\r\n this.props.storeID,\r\n value,\r\n null,\r\n 9,\r\n record.garmentId,\r\n () => null,\r\n (response) => {\r\n let updated = [...this.state.dataSource];\r\n updated[index].darningSize = value;\r\n updated[index].darningPrice = response.rate;\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () => this.props.updateArray(updated)\r\n );\r\n }\r\n );\r\n } else {\r\n let updated = [...this.state.dataSource];\r\n updated[index].darningSize = value;\r\n updated[index].darningPrice = 0;\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () =>\r\n this.props.updateArray(this.state.dataSource)\r\n );\r\n }\r\n }}\r\n disabled={this.state.disableAll}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n {record.addOnServices.includes(\"8\") ||\r\n parseInt(record.serviceId) == 8 ? (\r\n
\r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) => {\r\n if (value.length > 0) {\r\n let passUOM = 0;\r\n if (value.length === 1) {\r\n passUOM = 21;\r\n } else if (value.length > 1) {\r\n passUOM = 22;\r\n }\r\n this.props.getRateForGarment(\r\n this.props.storeID,\r\n passUOM,\r\n null,\r\n 8,\r\n record.garmentId,\r\n () => null,\r\n (response) => {\r\n let updated = [...this.state.dataSource];\r\n updated[index].dyingColorsValue = value;\r\n updated[index].dyingColorsUOM = passUOM;\r\n updated[index].dyingPrice = response.rate;\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () =>\r\n this.props.updateArray(\r\n this.state.dataSource\r\n )\r\n );\r\n }\r\n );\r\n } else {\r\n let updated = [...this.state.dataSource];\r\n updated[index].dyingColorsValue = \"\";\r\n updated[index].dyingColorsUOM = null;\r\n updated[index].dyingPrice = 0;\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () =>\r\n this.props.updateArray(this.state.dataSource)\r\n );\r\n }\r\n }}\r\n disabled={this.state.disableAll}\r\n >\r\n {this.state.dyeingColors.data.map((object) => {\r\n return (\r\n \r\n {object.enumDetailName}\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n
\r\n );\r\n },\r\n },\r\n {\r\n title: labels.COLOR,\r\n dataIndex: \"color\",\r\n key: \"color\",\r\n align: \"center\",\r\n render: (text, record, index) => (\r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index].color = value.hex.toString();\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () => this.props.updateArray(updated)\r\n );\r\n }}\r\n disabled={this.state.disableAll}\r\n />\r\n ),\r\n },\r\n {\r\n title: labels.BRAND,\r\n dataIndex: \"brand\",\r\n key: \"brand\",\r\n render: (text, record, index) => (\r\n \r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index] = {\r\n ...this.state.dataSource[index],\r\n brand: value,\r\n };\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () => this.props.updateArray(this.state.dataSource)\r\n );\r\n }}\r\n disabled={this.state.brands.disabled || this.state.disableAll}\r\n >\r\n {this.state.brands.data.length !== 0\r\n ? this.state.brands.data.map((brand) => {\r\n return brand.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: labels.SIZE,\r\n dataIndex: \"size\",\r\n key: \"size\",\r\n width: \"50px\",\r\n render: (text, record, index) => (\r\n \r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index] = {\r\n ...this.state.dataSource[index],\r\n size: value,\r\n };\r\n this.setState(\r\n {\r\n dataSource: updated,\r\n },\r\n () => this.props.updateArray(this.state.dataSource)\r\n );\r\n }}\r\n disabled={this.state.sizes.disabled || this.state.disableAll}\r\n >\r\n {this.state.sizes.data.length !== 0\r\n ? this.state.sizes.data.map((size) => {\r\n return size.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n render: (text, record) => {\r\n this.skip_Holiday(record.deliveryDate);\r\n return record.deliveryDate !== null\r\n ? record.deliveryDate.format(\"DD-MM-YYYY\")\r\n : null;\r\n },\r\n width: \"100px\",\r\n },\r\n {\r\n title: labels.PRICE,\r\n dataIndex: \"price\",\r\n key: \"price\",\r\n render: (text, record) => {\r\n return (\r\n \r\n ₹{\" \"}\r\n {this.state.thisIsRewashOrder || this.state.rewashMode ? (\r\n 0\r\n ) : (\r\n \r\n \r\n
Service Charges
\r\n
₹ {parseFloat(record.price).toFixed(2)}
\r\n \r\n \r\n
Add-on Service Charges
\r\n
\r\n ₹{\" \"}\r\n {(\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)}\r\n
\r\n \r\n \r\n }\r\n >\r\n {(\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)}\r\n \r\n )}\r\n
\r\n );\r\n },\r\n },\r\n {\r\n title: labels.NOTES,\r\n dataIndex: \"notes\",\r\n key: \"notes\",\r\n width: \"30px\",\r\n render: (text, record, index) => {\r\n let shouldDisplay = true;\r\n if (this.state.disableAll && this.state.rewashMode) {\r\n shouldDisplay = false;\r\n if (\r\n ![null, undefined, \"\"].includes(record.notes) ||\r\n this.state.rewashMode\r\n ) {\r\n shouldDisplay = true;\r\n }\r\n }\r\n return shouldDisplay ? (\r\n {\r\n let updated = [...this.state.dataSource];\r\n updated[index].notes = event.target.value;\r\n this.setState({\r\n dataSource: updated,\r\n });\r\n this.props.updateArray(updated);\r\n }}\r\n disabled={\r\n this.state.disableAll && !this.state.rewashMode\r\n ? true\r\n : false\r\n }\r\n />\r\n }\r\n // title=\"Notes\"\r\n trigger=\"click\"\r\n >\r\n \r\n \r\n ) : null;\r\n },\r\n },\r\n {\r\n title: labels.IMAGES,\r\n dataIndex: \"images\",\r\n key: \"images\",\r\n width: \"30px\",\r\n render: (text, record, index) => {\r\n return (\r\n x !== null)}\r\n onChange={({ fileList }) => {\r\n if (fileList.length > 3) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.ONLY_3_IMAGES_ARE_ALLOWED,\r\n });\r\n return false;\r\n }\r\n var file1 = fileList[fileList.length - 1];\r\n\r\n if (\r\n ![\"image/jpeg\", \"image/png\", \"image/jpg\"].includes(file1.type)\r\n ) {\r\n notification[\"error\"]({\r\n message: \"Orders\",\r\n description: \"You can only upload JPG/PNG/JPEG file\",\r\n });\r\n return false;\r\n }\r\n let isLt3M = file1.size / 1024 / 1024 < 5;\r\n if (!isLt3M) {\r\n notification[\"error\"]({\r\n message: \"Orders\",\r\n description: \"Image must be smaller than 5 MB\",\r\n });\r\n return false;\r\n }\r\n\r\n let updated = [...this.state.dataSource];\r\n for (let i = 0; i < 3; i++) {\r\n if (fileList.length > i) {\r\n fileList[i].status = \"done\";\r\n updated[index].images[i] = fileList[i];\r\n } else {\r\n updated[index].images[i] = null;\r\n }\r\n }\r\n this.setState({ dataSource: updated });\r\n this.props.updateArray(updated);\r\n }}\r\n customRequest={({ file, onSuccess, onError }) => {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n \r\n \r\n );\r\n },\r\n },\r\n [ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") === this.props.match.path\r\n ? parseInt(this.props.orderStatus) >= 2\r\n ? {}\r\n : {\r\n title: labels.ACTIONS,\r\n key: \"addon\",\r\n width: \"30px\",\r\n render: (text, record, index) => (\r\n
\r\n {\r\n this.state.dataSource.splice(index, 1);\r\n this.props.deleteGarments(record.orderGarmentID);\r\n this.props.updateArray(\r\n this.state.dataSource,\r\n record.serviceId,\r\n record.garmentId\r\n );\r\n }}\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n \r\n
\r\n ),\r\n }\r\n : {},\r\n ],\r\n };\r\n formInstance = React.createRef();\r\n rewashFormInstance = React.createRef();\r\n createOrderService = new CreateOrderService();\r\n invoiceService = new InvoiceService();\r\n pickupService = new PickupService();\r\n\r\n skip_Holiday = (deliveryDate) => {\r\n let temparr = this.state.HolidayList;\r\n var HolidayArr = [];\r\n var delivery_date = moment(deliveryDate).format(\"YYYY-MM-DD\");\r\n HolidayArr = temparr.filter((a) => {\r\n var holiday_date = moment(a.holidayDate).format(\"YYYY-MM-DD\");\r\n return delivery_date == holiday_date;\r\n });\r\n let len = HolidayArr.length;\r\n var new_deliveryDate;\r\n if (len > 0) {\r\n new_deliveryDate = deliveryDate.add(len, \"d\");\r\n this.skip_Holiday(new_deliveryDate);\r\n } else {\r\n new_deliveryDate = deliveryDate;\r\n }\r\n };\r\n\r\n componentWillMount() {\r\n this.getRewashReason();\r\n this.getRewashRequestedBy();\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"detail\", this.props.customerInfo);\r\n // this.generateDataSource();\r\n this.getPaymentMethods();\r\n this.getAddOnServices();\r\n this.getBrandsList();\r\n this.getSizeList();\r\n this.getOpeartionInstructions();\r\n this.getDyeingColors();\r\n this.getHolidayList();\r\n this.getGarmentDefect();\r\n this.setState({ dataSource: this.props.orderArray });\r\n if (parseInt(this.props.orderStatus) >= 2) {\r\n this.setState({ disableAll: true });\r\n this.setState({ orderSummaryDefined: true });\r\n }\r\n if (parseInt(this.props.orderType) == 2) {\r\n this.setState({ thisIsRewashOrder: true });\r\n }\r\n if (![null, undefined, \"\"].includes(this.props.view)) {\r\n this.setState({ disableAll: true });\r\n }\r\n }\r\n\r\n getGarmentDefect = () => {\r\n this.createOrderService.getGarmentDefect().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n garmentDefectOptions: {\r\n ...this.state.garmentDefectOptions,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_COLORS,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getHolidayList = () => {\r\n var postData = parseInt(localStorage.getItem(\"branchID\"));\r\n this.pickupService.retriveHolidaylist(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n HolidayList: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_HOLIDAYLIST,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getPaymentMethods = () => {\r\n this.invoiceService.getPaymentMethods().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: parseInt(single.enumDetailID),\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n data: data,\r\n disabled: false,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n // CheckPaytmEDCMachineTransData = (values) => {\r\n // if (this.state.paymentMethods.selected == 3) {\r\n // this.setState({ modalLoading: true });\r\n\r\n // this.PaytmTransService.PaytmEDCTransInfo(this.props.orderID).then(\r\n // (res) => {\r\n // if (\r\n // res != null &&\r\n // res.length > 0 &&\r\n // res.data.id == 0 &&\r\n // res.data.merchantTransactionId == null\r\n // ) {\r\n // this.addAdvanceAmountToWalletRemoteRequest(values);\r\n // } else {\r\n // var res = JSON.parse(res.data.response);\r\n // if (res != null && res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n // notification[\"success\"]({\r\n // message: \"Transaction has been successfully processed.\",\r\n // });\r\n // this.addAdvanceAmountToWallet(values);\r\n // return false;\r\n // }\r\n // this.addAdvanceAmountToWalletRemoteRequest(values);\r\n // }\r\n // this.setState({ modalLoading: false });\r\n // }\r\n // );\r\n // } else {\r\n // this.addAdvanceAmountToWalletRemoteRequest(values);\r\n // }\r\n // };\r\n\r\n CheckPaytmEDCMachineTransData = (values) => {\r\n if (this.state.paymentMethods.selected == 3) {\r\n this.EDCRequest(values);\r\n } else if (this.state.paymentMethods.selected == 4) {\r\n this.QRCodeRequest(values);\r\n } else {\r\n this.addAdvanceAmountToWallet(values);\r\n }\r\n };\r\n\r\n QRCodeRequest = (values) => {\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n let transID = this.common.PaytmTransNumber(\r\n this.props.orderID.toString(),\r\n \"Advance Payment\"\r\n );\r\n this.setState({ modalLoading: true, transID: transID });\r\n this.setState({ showAddPopup: true });\r\n\r\n var postdata = {\r\n mid: \"LAUNDR39826025976613\",\r\n orderId: transID,\r\n amount: values.amount.toString(),\r\n businessType: \"UPI_QR_CODE\",\r\n posId: localStorage.getItem(\"branchID\"),\r\n clientId: \"Mr9HS8Zd1lClTaJO\",\r\n channelId: \"WEB\",\r\n version: \"V1\",\r\n versionNumber: \"\",\r\n transactionType: 0,\r\n response: \"\",\r\n createdBy: 0,\r\n id: this.props.orderID.toString(),\r\n callFrom: \"revieworder\",\r\n platform: \"web-QR\",\r\n };\r\n this.setState({ modalLoading: true });\r\n this.PaytmTransService.QRCodeRequest(postdata).then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n this.setState({\r\n isShowQRCode: true,\r\n base64Image: res.body.image,\r\n isQRCodeShow: true,\r\n });\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(() => {\r\n this.PaytmTransService.QRCodeStatusCheck(postdata).then(\r\n (response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"TXN_SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.addAdvanceAmountToWallet(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n this.setState({ modalLoading: false });\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"TXN_FAILURE\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n // debugger;\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }, 15000);\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus == \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n } else {\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n\r\n // } else {\r\n // this.setState({ showAddPopup: false, modalLoading: false });\r\n // notification[\"error\"]({\r\n // message: labels.BUY_PACKAGE,\r\n // description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n // });\r\n // }\r\n this.setState({ modalLoading: true, isQRCodeShow: false });\r\n //});\r\n };\r\n\r\n EDCRequest = (values) => {\r\n if (this.state.paymentMethods.selected == 3) {\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n this.setState({ modalLoading: true });\r\n this.PaytmTransService.getEDCMachineInfo(this.props.orderID).then(\r\n (response) => {\r\n if (response.statusCode == 200) {\r\n if ([undefined, \"\", null].includes(response.data.machineKey)) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.EDC_CONFIGURATION,\r\n });\r\n this.setState({ modalLoading: false });\r\n return false;\r\n }\r\n let transID = this.common.PaytmTransNumber(\r\n this.props.orderID.toString(),\r\n \"Advance Payment\"\r\n );\r\n\r\n this.setState({\r\n showAddPopup: true,\r\n EDCmachineInfo: response.data,\r\n transID: transID,\r\n });\r\n\r\n var postdata = {\r\n paytmMid: response.data.paytmMid,\r\n paytmTid: response.data.paytmTid,\r\n transactionDateTime: \"\",\r\n merchantTransactionId: \"\",\r\n merchantReferenceNo: \"\",\r\n transactionAmount: (values.amount * 100).toString(),\r\n callbackUrl: \"\",\r\n machineKey: response.data.machineKey,\r\n json: 0,\r\n response: \"\",\r\n transactionType: 0,\r\n requestParams: \"\",\r\n createdBy: 0,\r\n status: \"\",\r\n id: this.props.orderID.toString(),\r\n callFrom: \"revieworder\",\r\n platform: \"web\",\r\n transctionId: transID,\r\n versionNumber: response.data.versionNumber,\r\n };\r\n this.PaytmTransService.EDCMachineRequest(postdata).then(\r\n (response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"ACCEPTED_SUCCESS\") {\r\n postdata.merchantTransactionId = this.state.transID;\r\n postdata.transactionDateTime =\r\n response.data.transactionDateTime;\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(\r\n () =>\r\n this.PaytmTransService.EDCMachineStatus(postdata).then(\r\n (response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (\r\n res.body.resultInfo.resultStatus == \"SUCCESS\"\r\n ) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.addAdvanceAmountToWallet(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n return false;\r\n } else {\r\n if (\r\n res.body.resultInfo.resultStatus != \"PENDING\"\r\n ) {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus ==\r\n // \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n }\r\n }\r\n }\r\n }\r\n ),\r\n 10000\r\n );\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description:\r\n labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n }\r\n );\r\n } else {\r\n this.addAdvanceAmountToWallet(values);\r\n }\r\n };\r\n\r\n addAdvanceAmountToWallet = (values) => {\r\n const postData = {\r\n customerID: parseInt(this.props.customerInfo.id),\r\n orderID: this.props.orderID === 0 ? null : this.props.orderID.toString(),\r\n invoiceID: null,\r\n storeID: localStorage.getItem(\"branchID\"),\r\n advanceAmount: values.amount,\r\n isExcessAmount: false,\r\n paymentMode: parseInt(this.state.paymentMethods.selected),\r\n chequeNo: null,\r\n chequeDate: null,\r\n cardNo: null,\r\n transactionNo: this.state.transID,\r\n remark: \"Advance Amount Added For Order \" + this.props.orderID,\r\n sourceFrom: 1,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.invoiceService.addExcessAmountToWallet(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.ADVANCE_COLLECTED_SUCCESSFULLY,\r\n });\r\n this.setState({ showAdvancePaymentPopup: false });\r\n this.invoiceService\r\n .getWalletBalance({\r\n customerID: this.props.customerInfo.id,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.props.setWalletBalance(\r\n response.data.totalCashAmount,\r\n response.data.totalBonusAmount\r\n );\r\n }\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_ADD_AMOUNT_TO_LKWALLET,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n componentDidUpdate() {\r\n if (this.state.dataSource !== this.props.orderArray) {\r\n this.setState({ dataSource: this.props.orderArray });\r\n }\r\n if (this.props.orderType === 2 && this.state.disableAll !== true) {\r\n this.setState({ disableAll: true });\r\n }\r\n }\r\n setRewashMode = () => {\r\n this.setState({ rewashMode: true });\r\n this.getRewashReason();\r\n this.getRewashRequestedBy();\r\n let tableData = [...this.state.dataSource];\r\n let updated = tableData.map((single) => {\r\n single.deliveryDate = moment().add(\r\n this.props.calculateDeliveryDateAdd(\r\n single.serviceId,\r\n single.addOnServices,\r\n single.garmentId\r\n ),\r\n \"d\"\r\n );\r\n single.price = 0;\r\n return single;\r\n });\r\n\r\n // console.log(\"updated->\",updated);\r\n\r\n this.setState({ dataSource: updated });\r\n this.props.updateArray(updated);\r\n };\r\n createRewashOrder = () => {\r\n this.rewashFormInstance.current\r\n .validateFields()\r\n .then(() =>\r\n this.props.createOrder(\r\n this.state.rewashData,\r\n this.calculateFinalDeliveryDate(),\r\n false,\r\n true\r\n )\r\n )\r\n .catch(() => null);\r\n };\r\n\r\n validatePromocode = () => {\r\n if (ROUTES.CREATE_ORDER === this.props.match.path) {\r\n this.props.createOrder(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate(),\r\n true\r\n );\r\n } else if (\r\n [ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.props.updateOrderAPI(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate(),\r\n false,\r\n true\r\n );\r\n }\r\n };\r\n confirmOrder = () => {\r\n // console.log(\"confirmOrder\");\r\n if (!this.state.thisIsRewashOrder) {\r\n this.setState({ shouldConfirm: true });\r\n // this.setState({ isConfirmBtnLoading: true });\r\n this.formInstance.current\r\n .validateFields()\r\n .then(() => {\r\n //update order\r\n this.props.updateOrderAPI(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate(),\r\n true\r\n );\r\n\r\n // this.setState({ isConfirmBtnLoading: false });\r\n })\r\n .catch(() => null);\r\n } else {\r\n //rewash order\r\n this.props.updateOrderAPI(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate(),\r\n true\r\n );\r\n }\r\n };\r\n\r\n calculateCount = (serviceId = null) => {\r\n let total = 0;\r\n if (serviceId === null) {\r\n this.state.orderSummary.map((singleCategory, index) => {\r\n singleCategory.data.map((garment, index) => {\r\n total = total + garment.qty;\r\n });\r\n });\r\n } else {\r\n this.state.orderSummary\r\n .filter((x) => x.serviceId === serviceId)[0]\r\n .data.map((garment, index) => {\r\n total = total + garment.qty;\r\n });\r\n }\r\n return total;\r\n };\r\n calculateTotal = () => {\r\n let total = parseFloat(this.state.subtotal);\r\n let add = parseFloat(\r\n this.state.cgst +\r\n this.state.sgst +\r\n this.state.igst +\r\n this.state.packagingChargeTotal\r\n ).toFixed(2);\r\n let updated = total + parseFloat(add);\r\n return parseFloat(updated).toFixed(2);\r\n };\r\n calculateSubtotal = (service = null, type = \"whole\") => {\r\n let total = 0;\r\n if (service === null) {\r\n this.state.dataSource.map((record) => {\r\n let addAmt =\r\n type === \"whole\"\r\n ? parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n )\r\n : type === \"service\"\r\n ? parseFloat(record.price.toFixed(2))\r\n : type === \"addon\"\r\n ? parseFloat(\r\n (\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n )\r\n : parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n );\r\n total = total + addAmt;\r\n });\r\n } else {\r\n let filtered = this.state.dataSource.filter(\r\n (x) => x.serviceId === service\r\n );\r\n if (filtered.length > 0) {\r\n filtered.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n );\r\n });\r\n }\r\n }\r\n return total;\r\n };\r\n calculateTaxes(type) {\r\n let tax = 0;\r\n let total = 0;\r\n if (type === \"CGST\") {\r\n this.props.orderArray.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n ).toFixed(2)\r\n );\r\n });\r\n total =\r\n total +\r\n this.calculatePackagingCharges() +\r\n this.calculateDeliveryCharges() -\r\n this.props.discount;\r\n tax =\r\n (total *\r\n (this.props.orderArray.length > 0\r\n ? this.props.orderArray[0].cgst\r\n : 0)) /\r\n 100;\r\n }\r\n if (type === \"SGST\") {\r\n this.props.orderArray.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n ).toFixed(2)\r\n );\r\n });\r\n total =\r\n total +\r\n this.calculatePackagingCharges() +\r\n this.calculateDeliveryCharges() -\r\n this.props.discount;\r\n tax =\r\n (total *\r\n (this.props.orderArray.length > 0\r\n ? this.props.orderArray[0].sgst\r\n : 0)) /\r\n 100;\r\n }\r\n if (type === \"IGST\") {\r\n this.props.orderArray.map((record) => {\r\n total =\r\n total +\r\n parseFloat(\r\n parseFloat(\r\n (\r\n record.price +\r\n record.darningPrice +\r\n record.dyingPrice +\r\n record.ucPrice\r\n ).toFixed(2)\r\n ).toFixed(2)\r\n );\r\n });\r\n total =\r\n total +\r\n this.calculatePackagingCharges() +\r\n this.calculateDeliveryCharges() -\r\n this.props.discount;\r\n tax =\r\n (total *\r\n (this.props.orderArray.length > 0\r\n ? this.props.orderArray[0].igst\r\n : 0)) /\r\n 100;\r\n }\r\n return tax;\r\n }\r\n getAddOnServices = () => {\r\n this.createOrderService.getAddOnServicesList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n addOnServices: {\r\n ...this.state.addOnServices,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_ADD_ON_SERVICES,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n getRewashReason = () => {\r\n this.createOrderService.getRewashReason().then((response) => {\r\n // console.log(\"response->\", response);\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n rewashReason: {\r\n ...this.state.rewashReason,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_REWASH_REASONS,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n getRewashRequestedBy = () => {\r\n this.createOrderService.getRewashRequestedBy().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n rewashRequestedBy: {\r\n ...this.state.rewashRequestedBy,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_REWASH_REQUESTED_BY_LIST,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getOpeartionInstructions = () => {\r\n this.createOrderService.getOpeartionInstructions().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n operationInstructions: {\r\n ...this.state.operationInstructions,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_OPERATION_INSTRUCTIONS,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getBrandsList = () => {\r\n this.createOrderService.getBrandsList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n brands: {\r\n ...this.state.brands,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_BRANDS,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n getSizeList = () => {\r\n this.createOrderService.getSizeList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n sizes: {\r\n ...this.state.sizes,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_SIZES,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n getDyeingColors = () => {\r\n this.createOrderService.getDyeingColors().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n dyeingColors: {\r\n ...this.state.dyeingColors,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_COLORS,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n calculateFinalDeliveryDate = () => {\r\n let finalDeliveryDate = moment();\r\n this.state.dataSource.map((single) => {\r\n if (finalDeliveryDate.isBefore(single.deliveryDate)) {\r\n finalDeliveryDate = single.deliveryDate;\r\n }\r\n });\r\n return finalDeliveryDate;\r\n };\r\n\r\n calculatePackagingCharges = (shouldReturnTax = false) => {\r\n let total = 0;\r\n let serviceIDs = [];\r\n this.state.dataSource.map((record) => {\r\n if (!serviceIDs.includes(record.serviceId)) {\r\n serviceIDs.push(record.serviceId);\r\n }\r\n });\r\n for (let serviceId in serviceIDs) {\r\n if (![8, 9].includes(parseInt(serviceId))) {\r\n let filtered = this.props.packagingCharges.filter(\r\n (x) => parseInt(x.serviceID) === parseInt(serviceIDs[serviceId])\r\n );\r\n if (filtered.length > 0) {\r\n let filteredObj = filtered[0];\r\n let categorySubtotal = this.calculateSubtotal(serviceIDs[serviceId]);\r\n let rateCharges = (categorySubtotal * filteredObj.perCharges) / 100;\r\n if (shouldReturnTax) {\r\n total = {\r\n cgst: filteredObj.cgst,\r\n sgst: filteredObj.sgst,\r\n igst: filteredObj.igst,\r\n };\r\n } else {\r\n if (rateCharges > filteredObj.fixedCharges) {\r\n total = total + rateCharges;\r\n } else {\r\n total = total + filteredObj.fixedCharges;\r\n }\r\n }\r\n }\r\n } else {\r\n if (shouldReturnTax) {\r\n total = {\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n };\r\n } else {\r\n total = 0;\r\n }\r\n }\r\n }\r\n return total;\r\n };\r\n calculateDeliveryCharges = (shouldReturnTax = false) => {\r\n let subtotal = this.calculateSubtotal();\r\n let finalCharges = 0;\r\n if (subtotal < this.props.deliveryCharges.minBillAmount) {\r\n finalCharges = this.props.deliveryCharges.fixedCharges;\r\n } else {\r\n let percentageCharges =\r\n (subtotal * this.props.deliveryCharges.perCharges) / 100;\r\n\r\n if (percentageCharges > this.props.deliveryCharges.fixedCharges) {\r\n finalCharges = percentageCharges;\r\n } else {\r\n finalCharges = this.props.deliveryCharges.fixedCharges;\r\n }\r\n if (finalCharges > this.props.deliveryCharges.maxCharges) {\r\n finalCharges = this.props.deliveryCharges.maxCharges;\r\n }\r\n }\r\n\r\n if (shouldReturnTax) {\r\n if (this.props.isFromPickup || this.props.isOnDemand) {\r\n return {\r\n cgst: this.props.deliveryCharges.cgst,\r\n sgst: this.props.deliveryCharges.sgst,\r\n igst: this.props.deliveryCharges.igst,\r\n };\r\n } else {\r\n return {\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n };\r\n }\r\n } else {\r\n if (this.props.isFromPickup || this.props.isOnDemand) {\r\n return parseFloat(finalCharges.toFixed(2));\r\n } else {\r\n return 0;\r\n }\r\n }\r\n };\r\n calculateTotal = () => {\r\n let subtotal = this.calculateSubtotal();\r\n let total =\r\n parseFloat(subtotal.toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"CGST\").toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"SGST\").toFixed(2)) +\r\n parseFloat(this.calculateTaxes(\"IGST\").toFixed(2)) +\r\n parseFloat(this.calculatePackagingCharges().toFixed(2)) +\r\n parseFloat(this.calculateDeliveryCharges().toFixed(2)) -\r\n parseFloat(parseFloat(this.props.discount).toFixed(2));\r\n return total.toFixed(2);\r\n };\r\n\r\n formInstanceforALTNO = React.createRef();\r\n formInstanceforOTP = React.createRef();\r\n AddAltNumberForCustomer = () => {\r\n if (this.state.ALTmobileNo.length > 0) {\r\n const postData = {\r\n CustomerID: parseInt(this.props.customerInfo.id),\r\n AlterNativeMobileNo: this.state.ALTmobileNo.toString(),\r\n };\r\n this.setState({ modalLoading: true });\r\n this.createOrderService\r\n .ADDAltNumberForCustomer(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: labels.ALT_NUMBER_ADDED_SUCCESSFULLY,\r\n });\r\n this.setState({ modalLoading: false, ALTmobileNo: \"\" });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_ADD_ALT_NUMBER,\r\n });\r\n }\r\n this.setState({ modalLoading: false, ALTmobileNo: \"\" });\r\n // this.formInstanceforALTNO.current.setFieldsValue({\r\n // mobileNo: \"\",\r\n // });\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: \"Please Enter Alternative Mobile Number\",\r\n });\r\n }\r\n };\r\n\r\n SendCustomerOTPForCreateOrder = () => {\r\n let Garment_Count =\r\n this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined && !this.state.rewashMode\r\n ? this.props.orderSummaryObject.count\r\n : this.props.orderArray.length;\r\n\r\n let Estimated_Amount = parseFloat(\r\n this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined && !this.state.rewashMode\r\n ? this.props.orderSummaryObject.total\r\n : this.calculateTotal()\r\n ).toFixed(2);\r\n\r\n const postData = {\r\n CustomerID: parseInt(this.props.customerInfo.id),\r\n MobileNo: this.props.customerInfo.mobileNo.toString(),\r\n AlterNativeMobileNo:\r\n this.props.customerInfo.alterNativeMobileNo.toString(),\r\n ISPickup: true,\r\n GarmentCount: Garment_Count,\r\n SplitOrderIDGarmentCount: \"\",\r\n Amount: Estimated_Amount,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.createOrderService\r\n .SendCustomerOTPForCreateOrder(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: labels.OTP_SENT_SUCCESSFULLY,\r\n });\r\n this.setState({ modalLoading: false, disablegenerateOTP: true });\r\n this.setState({\r\n ReceivedOTP: response.data.otp,\r\n });\r\n var timeleft = 0;\r\n var downloadTimer = setInterval(() => {\r\n if (timeleft >= 30) {\r\n clearInterval(downloadTimer);\r\n }\r\n var time = 30 - timeleft;\r\n this.setState({\r\n TimerValue: time,\r\n });\r\n\r\n timeleft += 1;\r\n this.setState({\r\n isResendOtp: true,\r\n });\r\n\r\n if (timeleft >= 31) {\r\n this.setState({\r\n isResendOtp: false,\r\n });\r\n }\r\n }, 1000);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_SENT_OTP,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n ValidateOTP = () => {\r\n if (this.state.ReceivedOTP != this.state.InputOTP) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: \"Please Enter Valid OTP\",\r\n });\r\n this.setState({ ISVerified: false });\r\n this.formInstanceforOTP.current.setFieldsValue({\r\n OTP: \"\",\r\n });\r\n } else {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: \"OTP Varified Successfully\",\r\n });\r\n this.setState({ ISVerified: true });\r\n this.formInstanceforOTP.current.setFieldsValue({\r\n OTP: \"\",\r\n });\r\n this.UpdateVerifiedOTPDateTime(this.state.InputOTP);\r\n }\r\n };\r\n\r\n UpdateVerifiedOTPDateTime = (OTP) => {\r\n const postData = {\r\n OTP: OTP,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.createOrderService\r\n .UpdateVerifiedOTPDateTime(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ modalLoading: false });\r\n } else {\r\n this.setState({ modalLoading: false });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n confirmOrder1 = () => {\r\n if (ROUTES.CREATE_ORDER === this.props.match.path) {\r\n this.props.createOrder(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate()\r\n );\r\n } else if (\r\n [ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.props.updateOrderAPI(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate()\r\n );\r\n }\r\n };\r\n\r\n DeleteAltNumberForCustomer = () => {\r\n const postData = {\r\n CustomerID: parseInt(this.props.customerInfo.id),\r\n AlterNativeMobileNo: \"\",\r\n };\r\n this.setState({ modalLoading: true });\r\n this.createOrderService\r\n .ADDAltNumberForCustomer(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: labels.ALT_NUMBER_DELETED_SUCCESSFULLY,\r\n });\r\n this.setState({ modalLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_DELETE_ALT_NUMBER,\r\n });\r\n }\r\n this.setState({ modalLoading: false, ALTmobileNo: \"\" });\r\n this.formInstanceforALTNO.current.setFieldsValue({\r\n mobileNo: \"\",\r\n });\r\n });\r\n };\r\n render() {\r\n const { isShowQRCode, base64Image, isQRCodeShow } = this.state;\r\n const mobileNo = this.props.customerInfo.alterNativeMobileNo;\r\n\r\n var Cancel_order_by_admin_show = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Cancel Order By Admin\";\r\n });\r\n // console.log(\"access-?\", localStorage.getItem(\"buttonAccess\"));\r\n // console.log(\"Cancel_order_by_admin_show->\",Cancel_order_by_admin_show);\r\n\r\n var Create_Order_Without_OTP = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Create Order Without OTP\";\r\n });\r\n\r\n return (\r\n \r\n this.props.backFunction()\r\n : undefined\r\n }\r\n backIcon={}\r\n title={labels.REVIEW_ORDER}\r\n />\r\n {\r\n if (ROUTES.CREATE_ORDER === this.props.match.path) {\r\n this.props.createOrder(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate(),\r\n false,\r\n false,\r\n true,\r\n this.state.InputOTP\r\n );\r\n } else if (\r\n [ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.props.updateOrderAPI(\r\n this.state.dataSource,\r\n this.calculateFinalDeliveryDate()\r\n );\r\n }\r\n }}\r\n >\r\n \r\n record.no}\r\n pagination={false}\r\n className=\"w-100 review-order-table\"\r\n rowSelection={\r\n this.state.rewashMode\r\n ? {\r\n type: \"checkbox\",\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rewashData: selectedRows });\r\n },\r\n getCheckboxProps: (record) => {\r\n let shouldDisable = false;\r\n // console.log(\"record->\", record);\r\n if (record.finalQCStatus == 3 && record.price == 0)\r\n shouldDisable = true;\r\n else shouldDisable = false;\r\n return { disabled: shouldDisable };\r\n },\r\n }\r\n : null\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n this.props.updateOperationInstruction(value);\r\n }}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n disabled={this.state.disableAll}\r\n >\r\n {this.state.operationInstructions.data.length !== 0\r\n ? this.state.operationInstructions.data.map((inst) => {\r\n return inst.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n {\r\n this.props.updateLogisticInstruction(event.target.value);\r\n }}\r\n disabled={this.state.disableAll}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {labels.DELIVERY_DATE}\r\n
\r\n
\r\n {this.state.orderSummaryDefined && !this.state.rewashMode\r\n ? moment(\r\n this.props.orderSummaryObject.deliveryDate\r\n ).format(\"DD-MM-YYYY\")\r\n : this.calculateFinalDeliveryDate().format(\"DD-MM-YYYY\")}\r\n
\r\n \r\n {this.props.isFromPickup ? null : (\r\n
\r\n {\r\n this.props.changeIsOnDemand(e.target.checked);\r\n }}\r\n >\r\n {labels.ON_DEMAND_DELIVERY}\r\n \r\n
\r\n )}\r\n \r\n this.props.updateOrderRemarks(e.target.value)\r\n }\r\n disabled={this.state.disableAll}\r\n />\r\n \r\n {parseInt(this.props.orderStatus) >= 3 &&\r\n parseInt(this.props.orderStatus) < 7 ? (\r\n \r\n {labels.REPRINT_TAGS}\r\n \r\n ) : null}\r\n {parseInt(this.props.orderStatus) >= 2 &&\r\n parseInt(this.props.orderStatus) < 7 ? (\r\n \r\n getPDFEstimatedOrder(this.props.match.params.orderID)\r\n }\r\n >\r\n {[6, 7].includes(parseInt(this.props.orderStatus))\r\n ? labels.REPRINT_TAX_INVOICE\r\n : labels.REPRINT_ESTIMATED_ORDER}\r\n \r\n ) : null}\r\n \r\n {/* \r\n {parseInt(this.props.orderType) == 2 && parseInt(this.props.orderStatus) >= 3 &&\r\n parseInt(this.props.orderStatus) < 7 ? (\r\n \r\n Print Rewash Tags\r\n \r\n ) : null}\r\n \r\n */}\r\n
\r\n \r\n \r\n \r\n {this.state.rewashMode || this.state.thisIsRewashOrder ? (\r\n \r\n {this.state.rewashMode ? (\r\n \r\n \r\n {\r\n this.props.updateRewashReason(value);\r\n }}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n disabled={\r\n !this.state.rewashMode ||\r\n this.state.rewashReason.disabled\r\n }\r\n >\r\n {this.state.rewashReason.data.length !== 0\r\n ? this.state.rewashReason.data.map((inst) => {\r\n return inst.value !== \"-1\" ? (\r\n \r\n {inst.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n {\r\n this.props.updateRewashRequestedBy(value);\r\n }}\r\n disabled={\r\n !this.state.rewashMode ||\r\n this.state.rewashRequestedBy.disabled\r\n }\r\n >\r\n {this.state.rewashRequestedBy.data.length !== 0\r\n ? this.state.rewashRequestedBy.data.map(\r\n (inst) => {\r\n return (\r\n \r\n {inst.enumDetailName}\r\n \r\n );\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {\" \"}\r\n \r\n {\r\n this.props.updateRewashReason(value);\r\n }}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n disabled={\r\n !this.state.rewashMode ||\r\n this.state.rewashReason.disabled\r\n }\r\n >\r\n {this.state.rewashReason.data.length !== 0\r\n ? this.state.rewashReason.data.map((inst) => {\r\n return inst.value !== \"-1\" ? (\r\n \r\n {inst.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n {\r\n this.props.updateRewashRequestedBy(value);\r\n }}\r\n disabled={\r\n !this.state.rewashMode ||\r\n this.state.rewashRequestedBy.disabled\r\n }\r\n >\r\n {this.state.rewashRequestedBy.data.length !== 0\r\n ? this.state.rewashRequestedBy.data.map(\r\n (inst) => {\r\n return (\r\n \r\n {inst.enumDetailName}\r\n \r\n );\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {/* \r\n\r\n {\r\n this.props.updateRewashReason(value);\r\n }}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n disabled={\r\n !this.state.rewashMode ||\r\n this.state.rewashReason.disabled\r\n }\r\n >\r\n {this.state.rewashReason.data.length !== 0\r\n ? this.state.rewashReason.data.map((inst) => {\r\n return (\r\n \r\n {inst.enumDetailName}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n */}\r\n {/* \r\n {\r\n this.props.updateRewashRequestedBy(value);\r\n }}\r\n disabled={\r\n !this.state.rewashMode ||\r\n this.state.rewashRequestedBy.disabled\r\n }\r\n >\r\n {this.state.rewashRequestedBy.data.length !== 0\r\n ? this.state.rewashRequestedBy.data.map((inst) => {\r\n return (\r\n \r\n {inst.enumDetailName}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n */}\r\n \r\n ) : null}\r\n\r\n {!this.props.isCorporate() &&\r\n !this.state.rewashMode &&\r\n this.props.orderType !== 2 ? (\r\n }\r\n suffix={\r\n \r\n {labels.ADD}\r\n \r\n }\r\n onPressEnter={this.validatePromocode}\r\n className={styles.PromocodeInput}\r\n placeholder={labels.PROMOCODE}\r\n value={\r\n this.props.promocode === \"\" ? null : this.props.promocode\r\n }\r\n disabled={this.state.disableAll}\r\n onChange={(e) => this.props.updatePromocode(e.target.value)}\r\n />\r\n ) : null}\r\n
\r\n
\r\n
\r\n {labels.SUBTOTAL}\r\n
\r\n
\r\n \r\n \r\n
Service Charges
\r\n
\r\n ₹{\" \"}\r\n {this.calculateSubtotal(\r\n null,\r\n \"service\"\r\n ).toFixed(2)}\r\n
\r\n
\r\n \r\n
Add-on Service Charges
\r\n
\r\n ₹{\" \"}\r\n {this.calculateSubtotal(null, \"addon\").toFixed(\r\n 2\r\n )}\r\n
\r\n
\r\n \r\n }\r\n >\r\n ₹\r\n {parseFloat(\r\n this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.subtotal\r\n : this.calculateSubtotal().toFixed(2)\r\n ).toFixed(2)}\r\n \r\n
\r\n \r\n
\r\n
\r\n {labels.DISCOUNT}\r\n \r\n this.setState({\r\n displayDiscountInfo:\r\n !this.state.displayDiscountInfo,\r\n })\r\n }\r\n >\r\n \"i\"\r\n \r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.discount\r\n : this.props.discount\r\n ).toFixed(2)}\r\n
\r\n
\r\n {this.state.displayDiscountInfo ? (\r\n
\r\n
\r\n
\r\n {labels.PROMO_DISCOUNT}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode ||\r\n this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.discount\r\n : this.props.discount\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n {labels.TAXES_AND_CHARGES}\r\n \r\n this.setState({\r\n displayTaxInfo: !this.state.displayTaxInfo,\r\n })\r\n }\r\n >\r\n \"i\"\r\n \r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? (\r\n this.props.orderSummaryObject.cgst +\r\n this.props.orderSummaryObject.sgst +\r\n this.props.orderSummaryObject.igst +\r\n this.props.orderSummaryObject.deliveryCharges +\r\n this.props.orderSummaryObject.packagingCharges\r\n ).toFixed(2)\r\n : (\r\n parseFloat(\r\n this.calculateTaxes(\"CGST\").toFixed(2)\r\n ) +\r\n parseFloat(\r\n this.calculateTaxes(\"SGST\").toFixed(2)\r\n ) +\r\n parseFloat(\r\n this.calculateTaxes(\"IGST\").toFixed(2)\r\n ) +\r\n parseFloat(\r\n this.calculatePackagingCharges().toFixed(2)\r\n ) +\r\n parseFloat(\r\n this.calculateDeliveryCharges().toFixed(2)\r\n )\r\n ).toFixed(2)\r\n ).toFixed(2)}\r\n
\r\n
\r\n {this.state.displayTaxInfo ? (\r\n
\r\n
\r\n
\r\n {labels.PACKAGING_CHARGES}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode ||\r\n this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.packagingCharges\r\n : this.calculatePackagingCharges().toFixed(2)\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.DELIVERY_CHARGES}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode ||\r\n this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.deliveryCharges\r\n : this.calculateDeliveryCharges().toFixed(2)\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.CGST}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode ||\r\n this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.cgst\r\n : this.calculateTaxes(\"CGST\").toFixed(2)\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.SGST}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode ||\r\n this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.sgst\r\n : this.calculateTaxes(\"SGST\").toFixed(2)\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.IGST}\r\n
\r\n
\r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode ||\r\n this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined\r\n ? this.props.orderSummaryObject.igst\r\n : this.calculateTaxes(\"IGST\").toFixed(2)\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n ) : null}\r\n \r\n\r\n
\r\n {this.props.orderArray.length > 0 &&\r\n [2, 3].includes(this.props.orderArray[0].deliveryType)\r\n ? \"Note : \" +\r\n this.props.orderArray[0].deliveryTypeName +\r\n \" - You have been charged \" +\r\n this.props.orderArray[0].rateRatio +\r\n \"x of Standard price.\"\r\n : null}\r\n
\r\n
\r\n
\r\n {labels.TOTAL}\r\n \r\n {this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined &&\r\n !this.state.rewashMode\r\n ? this.props.orderSummaryObject.count\r\n : this.props.orderArray.length}\r\n \r\n \r\n ₹{\" \"}\r\n {parseFloat(\r\n this.state.rewashMode || this.state.thisIsRewashOrder\r\n ? 0\r\n : this.state.orderSummaryDefined &&\r\n !this.state.rewashMode\r\n ? this.props.orderSummaryObject.total\r\n : this.calculateTotal()\r\n ).toFixed(2)}\r\n \r\n
\r\n\r\n {ROUTES.CREATE_ORDER === this.props.match.path &&\r\n Create_Order_Without_OTP.length > 0 &&\r\n parseInt(this.props.orderStatus) < 2 ? (\r\n \r\n \r\n Note: Cross check the order details before confirming.\r\n \r\n\r\n {/* null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n > */}\r\n \r\n {labels.CONFIRM_ORDER}\r\n \r\n {/* */}\r\n
\r\n ) : null}\r\n\r\n {/* Added BY HT - Start */}\r\n {ROUTES.CREATE_ORDER === this.props.match.path &&\r\n Create_Order_Without_OTP.length === 0 ? (\r\n
\r\n
\r\n Request OTP\r\n
\r\n
\r\n Registered number \r\n {this.props.customerInfo.mobileNo}\r\n
\r\n\r\n {/* Comment By Hasti - L16815 */}\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n
\r\n
\r\n 0\r\n }\r\n >\r\n Submit\r\n \r\n
\r\n \r\n }\r\n className={styles.PromocodeInput}\r\n placeholder=\"Alternative Number\"\r\n // value={\r\n // this.props.customerInfo.altmobileNo === \"\"\r\n // ? null\r\n // :this.props.customerInfo.altmobileNo\r\n // }\r\n onChange={(e) =>\r\n this.setState({\r\n ALTmobileNo: e.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n */}\r\n\r\n \r\n
\r\n {labels.GENERATE_OTP}\r\n
\r\n \r\n \r\n OTP will be sent to Registered mobile number\r\n \r\n {/* \r\n OTP will be sent to both Registered and Alternative\r\n mobile number\r\n */}\r\n \r\n \r\n \r\n \r\n this.setState({\r\n InputOTP: e.target.value,\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 0:{this.state.TimerValue}\r\n \r\n \r\n\r\n \r\n {/* null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n > */}\r\n \r\n {labels.CONFIRM_ORDER}\r\n \r\n {/* */}\r\n {\r\n this.formInstanceforOTP.current.setFieldsValue({\r\n OTP: \"\",\r\n });\r\n }}\r\n style={{ width: \"40%\", marginRight: 20 }}\r\n variant=\"pink\"\r\n size=\"small\"\r\n block\r\n >\r\n {labels.CANCEL}\r\n \r\n \r\n
\r\n \r\n Note: Cross check the order details before confirming.\r\n \r\n
\r\n \r\n ) : null}\r\n {/* End */}\r\n\r\n {/* Comment By HT for Change in Create ORder Flow */}\r\n {/* {ROUTES.CREATE_ORDER === this.props.match.path ? (\r\n \r\n
\r\n {labels.PLACE_ORDER}\r\n ₹ {this.calculateTotal()}\r\n
\r\n \r\n ) : null} */}\r\n\r\n {/* {[ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") ===\r\n this.props.match.path &&\r\n [undefined, null, \"\"].includes(this.props.view) ? (\r\n ![6, 7].includes(parseInt(this.props.orderStatus)) ? (\r\n \r\n this.setState({ showAdvancePaymentPopup: true })\r\n }\r\n style={{ textAlign: \"center\" }}\r\n block\r\n >\r\n {labels.COLLECT_ADVANCE_PAYMENT}\r\n \r\n ) : null\r\n ) : null} */}\r\n\r\n {[ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") ===\r\n this.props.match.path &&\r\n [undefined, null, \"\"].includes(this.props.view) ? (\r\n \r\n {parseInt(this.props.orderStatus) === 1 ? (\r\n \r\n \r\n {this.state.thisIsRewashOrder ? (\r\n labels.UPDATE_ORDER\r\n ) : (\r\n
\r\n {labels.UPDATE_ORDER}\r\n\r\n ₹ {this.calculateTotal()}\r\n
\r\n )}\r\n \r\n {\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {labels.CONFIRM_ORDER}\r\n \r\n
\r\n \r\n Note: Cross check the order details before\r\n confirming.\r\n \r\n
\r\n \r\n }\r\n
\r\n ) : null}\r\n {parseInt(this.props.orderStatus) === 2 ? (\r\n \r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {labels.TAG_IN_GARMENTS}\r\n \r\n \r\n \r\n ) : null}\r\n {parseInt(this.props.orderStatus) < 2 ? (\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {labels.CANCEL_ORDER}\r\n \r\n \r\n ) : null}\r\n\r\n {parseInt(this.props.orderStatus) === 5 ||\r\n parseInt(this.props.orderStatus) === 6 ? (\r\n !this.state.rewashMode ? (\r\n \r\n \r\n {labels.REWASH_ORDER}\r\n \r\n \r\n ) : (\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n null}\r\n disabled={this.state.rewashData.length == 0}\r\n >\r\n {labels.CREATE_REWASH_ORDER}\r\n \r\n \r\n )\r\n ) : null}\r\n {/* localStorage\r\n .getItem(\"roleNames\")\r\n .split(\",\")\r\n .indexOf(\"Admin\") > -1\r\n */}\r\n\r\n {Cancel_order_by_admin_show.length > 0 &&\r\n this.props.AllowCancelOrder ? (\r\n // parseInt(this.props.orderStatus) < 4 ? -- Comment this line for-L17101\r\n null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n {labels.CANCEL_ORDER_BY_ADMIN}\r\n \r\n \r\n ) : null}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n \r\n this.setState({ showAdvancePaymentPopup: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n centered\r\n >\r\n \r\n \r\n

{this.props.customerInfo.name}

\r\n
\r\n \"wallet\"\r\n \r\n ₹{\" \"}\r\n {this.props.customerInfo.walletBalance === \"\"\r\n ? 0\r\n : this.props.customerInfo.walletBalance}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n x.label.toLowerCase() !== \"lk wallet\"\r\n )}\r\n value={this.state.paymentMethods.selected}\r\n onChange={(value) =>\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n selected: 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 this.setState({ showAdvancePaymentPopup: false })\r\n }\r\n >\r\n {labels.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 {labels.PROCESSING}.....\r\n \r\n
\r\n \r\n\r\n {isShowQRCode ? (\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 disableUpdateOrder = () => {\r\n var orderArrayLength =\r\n this.props.orderArray.length > 0\r\n ? this.props.orderArray.filter(\r\n (x) =>\r\n !x.serviceIsAddOn ||\r\n (parseInt(x.serviceId) != 8 && parseInt(x.serviceId) != 9)\r\n ).length\r\n : 0;\r\n return orderArrayLength > 0 ? false : true;\r\n };\r\n\r\n handlePopupCancel = () => {\r\n confirm({\r\n title: \"Do you want to kill these payment process?\",\r\n content: \"When clicked the OK button, Stop the payment process\",\r\n onOk() {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(Math.random() > 0.5 ? resolve : reject, 3000);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 4000);\r\n }).catch(() => console.log(\"Oops errors!\"));\r\n },\r\n onCancel() {},\r\n });\r\n };\r\n}\r\n\r\nexport default withRouter(ReviewOrder);\r\n","import html2pdf from \"html2pdf.js\";\r\nimport moment from \"moment\";\r\nimport CreateOrderService from \"../../../../services/createorderservice\";\r\nimport React from \"react\";\r\nimport { renderToString } from \"react-dom/server\";\r\nimport { notification } from \"antd\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport { faWindowRestore } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst getPDFEstimatedOrder = (orderID) => {\r\n let orderService = new CreateOrderService();\r\n orderService.getEstimatedOrderPrintByOrderID(orderID).then((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data.length > 0) {\r\n window.open(response.data[0].location, \"_blank\");\r\n window.location.reload();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GENERATE_ESTIMATED_ORDER,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GENERATE_ESTIMATED_ORDER,\r\n });\r\n }\r\n window.location.reload();\r\n });\r\n};\r\n\r\nexport { getPDFEstimatedOrder };\r\n","import React from \"react\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport Box from \"../../../Common/Box/box\";\r\nimport Logo from \"../../../../images/Common/Logo.png\";\r\nimport styles from \"./printtag.module.css\";\r\nvar Barcode = require(\"react-barcode\");\r\n\r\nexport default class PrintTag extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n console.log(\"In Print->\", this.props.printInfo);\r\n const hh = this.props.printInfo;\r\n return (\r\n
\r\n {\r\n // NOTE: could just as easily return . Do NOT pass an `onClick` prop\r\n // to the root node of the returned component as it will be overwritten.\r\n return (\r\n \r\n Print this out!\r\n \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n pnintInfo={this.props}\r\n onAfterPrint={() => window.location.reload()}\r\n />\r\n (this.componentRef = el)}\r\n printInfo={this.props.printInfo}\r\n // stickerID={this.props.stickerID}\r\n // customerID={this.props.customerID}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass ComponentToPrint extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n //
\r\n render() {\r\n // const hh = this.props\r\n const data = this.props.printInfo.map((element, index) => {\r\n return element.storeName != \"\" ? (\r\n \r\n \r\n o\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {element.splitOrderNumber}\r\n {\" (\"}\r\n {element.totalOrderPlacedByCustomer}\r\n {\") \"}\r\n
\r\n \r\n {element.storeName}\r\n \r\n \r\n\r\n
{element.garmentName}
\r\n
\r\n {element.garmentDefect\r\n ? element.garmentDefect.replace(/,/g, \" & \")\r\n : \"\\u00A0\"}\r\n
\r\n
\r\n {element.pickupDate.split(\" \").slice(0, 2).join(\"-\")} /{\" \"}\r\n {element.deliveryDate.split(\" \").slice(0, 2).join(\"-\")}\r\n
\r\n
\r\n {element.sequenceNumber}/{element.noOfGarment} -{\" \"}\r\n {element.deliveryTypeName}\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.splitOrderNumber}\r\n \r\n \r\n\r\n \r\n {element.garmentName}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n {/* //repeat this in case of multiple stickers */}\r\n {data}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport Box from \"../../../Common/Box/box\";\r\nimport Logo from \"../../../../images/Common/Logo.png\";\r\nimport styles from \"./printtag.module.css\";\r\nvar Barcode = require(\"react-barcode\");\r\n\r\nexport default class printrewashtag extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n console.log(\"In Print->\", this.props.printInfo);\r\n const hh = this.props.printInfo;\r\n return (\r\n
\r\n {\r\n // NOTE: could just as easily return . Do NOT pass an `onClick` prop\r\n // to the root node of the returned component as it will be overwritten.\r\n return (\r\n \r\n Print this out!\r\n \r\n );\r\n }}\r\n content={() => this.componentRef}\r\n pnintInfo={this.props}\r\n // onAfterPrint={() => window.location.reload()}\r\n />\r\n (this.componentRef = el)}\r\n printInfo={this.props.printInfo}\r\n // stickerID={this.props.stickerID}\r\n // customerID={this.props.customerID}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass ComponentToPrint extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n // const hh = this.props\r\n const data = this.props.printInfo.map((element, index) => {\r\n return (\r\n //
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {element.splitOrderNumber}\r\n \r\n \r\n \r\n {element.rewashReason}\r\n \r\n \r\n \r\n {/* */}\r\n
\r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n {/* //repeat this in case of multiple stickers */}\r\n {data}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n notification,\r\n Spin,\r\n Modal,\r\n Form,\r\n Input,\r\n Space,\r\n Alert,\r\n} from \"antd\";\r\nimport CustomerSelection from \"./customerselection.component\";\r\nimport GarmentSelection from \"./garmentselection.component\";\r\nimport OrderSummary from \"./ordersummary.component\";\r\nimport ReviewOrder from \"./revieworder.component\";\r\n// import JeansIcon from \"../../../../images/Order/jeans.svg\";\r\n// import BabyShirtIcon from \"../../../../images/Order/babyshirt.svg\";\r\n// import BabySuitIcon from \"../../../../images/Order/babysuit.svg\";\r\n// import CapIcon from \"../../../../images/Order/cap.svg\";\r\n// import DressIcon from \"../../../../images/Order/dress.svg\";\r\n// import ShirtIcon from \"../../../../images/Order/shirt.svg\";\r\n// import ShortsIcon from \"../../../../images/Order/shorts.svg\";\r\n// import SocksIcon from \"../../../../images/Order/socks.svg\";\r\n// import TopIcon from \"../../../../images/Order/top.svg\";\r\n// import TshirtIcon from \"../../../../images/Order/tshirt.svg\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport CreateOrderService from \"../../../../services/createorderservice\";\r\nimport moment from \"moment\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport GeneratePrintInfo from \"./printtag\";\r\nimport GenerateRewashTagPrintInfo from \"./printrewashtag\";\r\nimport { getPDFEstimatedOrder } from \"./estimatedorderpdf.component\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport StoreService from \"../../../../services/storeservice\";\r\nimport Common from \"../../../../services/common\";\r\nimport PickupService from \"../../../../services//pickupservice\";\r\n\r\n/**\r\n * Create Order Screen\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 5 June 2020\r\n */\r\nvar inc = 1;\r\nclass CreateOrder extends React.Component {\r\n storeservice = new StoreService();\r\n createOrderService = new CreateOrderService();\r\n common = new Common();\r\n pickupService = new PickupService();\r\n state = {\r\n cancelPopupLoading: false,\r\n spinning: false,\r\n showCancelPopup: false,\r\n isFromPickup: false,\r\n isOnDemand: false,\r\n order: {},\r\n GarmentDeliveryType: [], //Added by rashmi for L177728 - 22/02/23\r\n // order: {\r\n // \"1\": {\r\n // \"1\": 1,\r\n // \"2\": 1,\r\n // \"3\": 1,\r\n // },\r\n // \"2\": {\r\n // \"-1\": 2,\r\n // \"2\": 1,\r\n // },\r\n // },\r\n HolidayList: [],\r\n orderArray: [],\r\n isReview: false,\r\n rates: {},\r\n uoms: {},\r\n garmentList: [],\r\n customerInfo: {},\r\n garmentSelectionShouldUpdate: false,\r\n timeCard: null,\r\n cgst: {},\r\n sgst: {},\r\n igst: {},\r\n packagingCharges: [],\r\n deliveryCharges: {\r\n minBillAmount: 0,\r\n fixedCharges: 0,\r\n perCharges: 0,\r\n maxCharges: 0,\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n },\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n orderDate: moment(),\r\n orderNumber: 0,\r\n orderStatus: 0,\r\n logisticInstruction: \"\",\r\n operationInstruction: [],\r\n deletedGarmentIDs: [],\r\n orderSummaryObject: {},\r\n promocode: \"\",\r\n isPromocodeValid: false,\r\n discount: 0,\r\n rewashOrderID: 0,\r\n rewashReason: null,\r\n rewashRequestedBy: 0,\r\n orderType: 1,\r\n storeInfo: {\r\n services: [],\r\n status: 1,\r\n deliveryTypes: [],\r\n onDemandWalkIn: [],\r\n },\r\n isRender: true,\r\n rateCard: [],\r\n showrewashtag: false,\r\n AllowCancelOrder: false,\r\n };\r\n\r\n shouldComponentUpdate() {\r\n if (!this.state.isReview) return true;\r\n else return this.state.isRender ? true : false;\r\n }\r\n\r\n componentDidMount() {\r\n // getPDFEstimatedOrder(\"203\");\r\n this.getStore(parseInt(localStorage.getItem(\"branchID\")), () => {\r\n this.getGarmentsList(null, null);\r\n this.getTimeCard();\r\n this.getPackagingCharges();\r\n this.getDeliveryCharges();\r\n if (\r\n this.props.location.state !== undefined &&\r\n this.props.location.state !== null\r\n ) {\r\n if (\r\n this.props.location.state.pickupID !== undefined &&\r\n this.props.location.state.pickupID !== null\r\n ) {\r\n this.setState({ isFromPickup: true });\r\n this.getPickupInformation(this.props.location.state.pickupID);\r\n }\r\n }\r\n });\r\n this.getHolidayList();\r\n }\r\n\r\n getHolidayList = () => {\r\n var postData = parseInt(localStorage.getItem(\"branchID\"));\r\n this.pickupService.retriveHolidaylist(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n HolidayList: response.data,\r\n });\r\n // console.log(\"HolidayList in reviewOrder->\", this.state.HolidayList);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_HOLIDAYLIST,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStore = (id, callback = () => null) => {\r\n this.setState({ spinning: true });\r\n this.storeservice.getStoreDetailByStoreID(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n storeInfo: {\r\n ...this.state.storeInfo,\r\n services: [null, undefined, \"\"].includes(response.data.serviceIds)\r\n ? []\r\n : response.data.serviceIds.split(\",\"),\r\n status: parseInt(response.data.vMStoreMaster.status),\r\n deliveryTypes: [null, undefined, \"\"].includes(\r\n response.data.vMStoreMaster.deliveryType\r\n )\r\n ? []\r\n : response.data.vMStoreMaster.deliveryType.split(\",\"),\r\n onDemandWalkIn: [null, undefined, \"\"].includes(\r\n response.data.vMStoreMaster.storeServiceType\r\n )\r\n ? []\r\n : response.data.vMStoreMaster.storeServiceType.split(\",\"),\r\n },\r\n },\r\n () => callback()\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GET_STORE_DATA,\r\n\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n this.setState({ spinning: false });\r\n });\r\n };\r\n getPickupInformation = (id) => {\r\n this.createOrderService.getPickupInformation(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n isFromPickup: true,\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n id: response.data.customerID,\r\n name: response.data.customerName,\r\n mobileNo: response.data.contactNumber,\r\n alterNativeMobileNo: response.data.custAltMobileNo,\r\n selectedAddress: {\r\n name: response.data.address,\r\n id: response.data.customerAddressID,\r\n },\r\n serviceType: {\r\n name: response.data.deliveryTypeName,\r\n id: response.data.deliveryType,\r\n },\r\n pickupRequest: response.data.pickupID,\r\n customerType: response.data.customerTypeName,\r\n walletBalance: response.data.walletBalance,\r\n lkCreditAmt: response.data.lkCreditAmt,\r\n },\r\n opeartionInstruction: [null, undefined, \"\"].includes(\r\n response.data.operationInstID\r\n )\r\n ? undefined\r\n : response.data.operationInstID.split(\",\"),\r\n promocode: [null, undefined, \"\"].includes(response.data.promocode)\r\n ? \"\"\r\n : response.data.promocode,\r\n // discount: response.data.discountAmount,\r\n isPromocodeValid: [null, undefined, \"\"].includes(\r\n response.data.promocode\r\n )\r\n ? false\r\n : true,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GET_PICKUP_DATA,\r\n });\r\n }\r\n });\r\n };\r\n showCancelPopup = () => {\r\n this.setState({ showCancelPopup: true });\r\n };\r\n generateTags = () => {\r\n this.createOrderService\r\n .generateTags(this.state.orderID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: labels.TAGS_GENERATED_SUCCESSFULLY,\r\n duration: 1.5,\r\n });\r\n this.printTags();\r\n // this.getOrderByID(this.state.orderID);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GENERATE_TAGS,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n printTags = () => {\r\n this.setState({ spinning: true });\r\n this.createOrderService.GetTagToPrint(this.state.orderID).then((res) => {\r\n this.setState({ spinning: false });\r\n // console.log(\"res->\", res);\r\n this.setState({ showAddPopup: true, printInfo: res.data });\r\n this.printTagRef.current.click();\r\n this.setState({ showAddPopup: false });\r\n });\r\n };\r\n\r\n rewashprintTags = () => {\r\n this.setState({ spinning: true });\r\n this.createOrderService\r\n .GetRewashTagToPrint(this.state.orderID)\r\n .then((res) => {\r\n this.setState({ spinning: false });\r\n // console.log(\"rewash->\", res);\r\n this.setState({ showrewashtag: true, printInfo: res.data });\r\n this.printRewashTagRef.current.click();\r\n this.setState({ showrewashtag: false });\r\n });\r\n };\r\n deleteGarments = (id) => {\r\n if (parseInt(id) !== 0) {\r\n let updated = this.state.deletedGarmentIDs;\r\n updated.push(parseInt(id));\r\n this.setState({ deletedGarmentIDs: updated });\r\n }\r\n };\r\n\r\n // getOrderByID(id) {\r\n // this.setState({ spinning: true });\r\n // this.setState({ order: {}, orderArray: [] });\r\n // this.createOrderService.getOrderByID(id).then((response) => {\r\n // if (response.statusCode === 200) {\r\n // if (parseInt(response.data.orderStatus) >= 2) {\r\n // this.setState({\r\n // orderSummaryObject: {\r\n // subtotal: response.data.serviceBasicAmount,\r\n // cgst: response.data.cgst,\r\n // sgst: response.data.sgst,\r\n // igst: response.data.igst,\r\n // discount: response.data.discountAmount,\r\n // deliveryCharges: response.data.deliveryCharges,\r\n // packagingCharges: response.data.packagingCharges,\r\n // total: response.data.finalOrderAmount,\r\n // count: response.data.noOfGarment,\r\n // deliveryDate: response.data.deliveryDate,\r\n // },\r\n // promocode:\r\n // response.data.promocode === null ? \"\" : response.data.promocode,\r\n // discount: response.data.discountAmount,\r\n // isPromocodeValid: true,\r\n // });\r\n // }\r\n // this.setState({\r\n // promocode: [null, undefined, \"\"].includes(response.data.promocode)\r\n // ? \"\"\r\n // : response.data.promocode,\r\n // discount: response.data.discountAmount,\r\n // isPromocodeValid: [null, undefined, \"\"].includes(\r\n // response.data.promocode\r\n // )\r\n // ? false\r\n // : true,\r\n // isOnDemand: response.data.isOnDemandDelivery,\r\n // isFromPickup: parseInt(response.data.pickupID) === 0 ? false : true,\r\n // customerInfo: {\r\n // ...this.state.customerInfo,\r\n // id: response.data.customerID,\r\n // name: response.data.customerName,\r\n // pickupRequest: response.data.pickupID,\r\n // selectedAddress: {\r\n // ...this.state.customerInfo.selectedAddress,\r\n // id: response.data.customerAddressID,\r\n // name: response.data.customerAddressName,\r\n // },\r\n // serviceType: {\r\n // ...this.state.customerInfo.serviceType,\r\n // id: response.data.deliveryType,\r\n // name: response.data.deliveryTypeName,\r\n // },\r\n // customerType: response.data.customerTypeName,\r\n // corporateID: parseInt(response.data.corporateID),\r\n // walletBalance: response.data.lkCashBlcAmt,\r\n // lkCreditAmt: response.data.lkCreditBlcAmt,\r\n // },\r\n // orderID: response.data.orderID,\r\n // orderDate: moment(response.data.orderDate),\r\n // orderStatus: response.data.orderStatus,\r\n // opeartionInstruction: ![null, undefined, \"\"].includes(\r\n // response.data.operationInstruction\r\n // )\r\n // ? response.data.operationInstruction.split(\",\")\r\n // : [],\r\n // logisticInstruction: response.data.logisticInstruction,\r\n // orderRemarks:\r\n // response.data.orderRemark !== \"undefined\" &&\r\n // response.data.orderRemark !== \"null\"\r\n // ? response.data.orderRemark\r\n // : null,\r\n // // isReview:\r\n // // parseInt(response.data.orderStatus) === 1 &&\r\n // // parseInt(response.data.orderType) !== 2\r\n // // ? false\r\n // // : true,\r\n // isReview: this.props.location.state != undefined ? this.props.location.state.view == 'view' ? true : parseInt(response.data.orderStatus) === 1 &&\r\n // parseInt(response.data.orderType) !== 2\r\n // ? false\r\n // : true : parseInt(response.data.orderStatus) === 1 &&\r\n // parseInt(response.data.orderType) !== 2\r\n // ? false\r\n // : true,\r\n // rewashOrderID: response.data.rewashOrderID,\r\n // // rewashReason: response.data.rewashReason,\r\n // rewashReason: ![null, undefined, \"\"].includes(\r\n // response.data.rewashReason\r\n // )\r\n // ? response.data.rewashReason.split(\",\")\r\n // : [],\r\n\r\n // rewashRequestedBy: response.data.rewashRequestedBy,\r\n // orderType: response.data.orderType,\r\n // });\r\n\r\n // response.data.vMOrderGarmentDetails.map((garmentObj) => {\r\n // let filteredServiceObject = this.state.garmentList.filter(\r\n // (x) => parseInt(x.serviceId) === parseInt(garmentObj.serviceID)\r\n // )[0];\r\n // if (filteredServiceObject !== undefined) {\r\n // let filteredGarmentObject = filteredServiceObject.garments.filter(\r\n // (x) => parseInt(x.id) === parseInt(garmentObj.garmentID)\r\n // )[0];\r\n // this.setState({\r\n // order: {\r\n // ...this.state.order,\r\n // [garmentObj.serviceID]:\r\n // this.state.order[garmentObj.serviceID] === undefined\r\n // ? {\r\n // [garmentObj.garmentID]: 1,\r\n // }\r\n // : this.state.order[garmentObj.serviceID][\r\n // garmentObj.garmentID\r\n // ] === undefined\r\n // ? {\r\n // ...this.state.order[garmentObj.serviceID],\r\n // [garmentObj.garmentID]: 1,\r\n // }\r\n // : {\r\n // ...this.state.order[garmentObj.serviceID],\r\n // [garmentObj.garmentID]:\r\n // this.state.order[garmentObj.serviceID][\r\n // garmentObj.garmentID\r\n // ] + 1,\r\n // },\r\n // },\r\n // });\r\n // response.data.vMSplitOrderDetails.map((splitOrder) => {\r\n // let filteredServiceObject = this.state.garmentList.filter(\r\n // (x) => parseInt(x.serviceId) === parseInt(splitOrder.serviceID)\r\n // )[0];\r\n // if (parseInt(filteredServiceObject.UOM) === 2) {\r\n // this.setState({\r\n // order: {\r\n // ...this.state.order,\r\n // [splitOrder.serviceID]:\r\n // this.state.order[splitOrder.serviceID] !== undefined\r\n // ? {\r\n // ...this.state.order[splitOrder.serviceID],\r\n // \"-1\": splitOrder.weight,\r\n // }\r\n // : { \"-1\": splitOrder.weight },\r\n // },\r\n // });\r\n // }\r\n // if (parseInt(filteredServiceObject.UOM) === 3) {\r\n // let sqftGarments = response.data.vMOrderGarmentDetails.filter(\r\n // (x) => parseInt(x.uom) === 3\r\n // );\r\n // let total = 0;\r\n // sqftGarments.map((single) => {\r\n // total = total + single.width * single.length;\r\n // });\r\n // this.setState({\r\n // order: {\r\n // ...this.state.order,\r\n // [splitOrder.serviceID]:\r\n // this.state.order[splitOrder.serviceID] !== undefined\r\n // ? {\r\n // ...this.state.order[splitOrder.serviceID],\r\n // \"-1\": total,\r\n // }\r\n // : { \"-1\": total },\r\n // },\r\n // });\r\n // }\r\n // });\r\n\r\n // let splitOrderID = response.data.vMSplitOrderDetails.filter(\r\n // (x) => x.splitOrderNumber === garmentObj.splitOrderNumber\r\n // )[0].splitOrderID;\r\n // this.state.orderArray.push({\r\n // no: this.state.orderArray.length + 1,\r\n // orderGarmentID: garmentObj.orderGarmentID,\r\n // tagNo: garmentObj.tagNo,\r\n // splitOrderID: splitOrderID,\r\n // splitOrderNumber: garmentObj.splitOrderNumber,\r\n // serviceId: garmentObj.serviceID,\r\n // garmentId: garmentObj.garmentID,\r\n // garmentName: filteredGarmentObject.name,\r\n // serviceName: filteredServiceObject.title,\r\n // darningSize: garmentObj.darningTypeID,\r\n // dyingColorsUOM:\r\n // garmentObj.dyeingColors === \"\"\r\n // ? 0\r\n // : garmentObj.dyeingColors.split(\",\").length === 1\r\n // ? 21\r\n // : garmentObj.dyeingColors.split(\",\").length > 1\r\n // ? 22\r\n // : 0,\r\n // dyingColorsValue:\r\n // garmentObj.dyeingColors !== \"null\" &&\r\n // garmentObj.dyeingColors !== \"\" &&\r\n // garmentObj.dyeingColors !== null\r\n // ? garmentObj.dyeingColors.split(\",\").length > 0\r\n // ? garmentObj.dyeingColors.split(\",\")\r\n // : []\r\n // : [],\r\n // notes:\r\n // garmentObj.specialInstruction !== \"\" &&\r\n // garmentObj.specialInstruction !== \"null\"\r\n // ? garmentObj.specialInstruction\r\n // : null,\r\n // addOnServices:\r\n // garmentObj.addOnServiceIDs !== \"\" &&\r\n // garmentObj.addOnServiceIDs !== \"null\" &&\r\n // garmentObj.addOnServiceIDs !== null\r\n // ? garmentObj.addOnServiceIDs.split(\",\").length > 0\r\n // ? garmentObj.addOnServiceIDs.split(\",\")\r\n // : []\r\n // : [],\r\n // color:\r\n // garmentObj.colorIDs !== \"null\" && garmentObj.colorIDs !== \"\"\r\n // ? garmentObj.colorIDs\r\n // : null,\r\n // brand: garmentObj.brandID,\r\n // size: garmentObj.sizeID === 0 ? null : garmentObj.sizeID,\r\n // UOM: garmentObj.uom,\r\n // deliveryDate:\r\n // garmentObj.deliveryDate !== \"\"\r\n // ? moment(garmentObj.deliveryDate)\r\n // : parseInt(response.data.orderStatus) < 2\r\n // ? moment()\r\n // : null,\r\n // price: garmentObj.serviceAmount + garmentObj.addOnServiceAmount,\r\n // darningPrice: 0,\r\n // dyingPrice: 0,\r\n // ucPrice: 0,\r\n // rate: garmentObj.serviceAmount,\r\n // cgst: garmentObj.cgst,\r\n // sgst: garmentObj.sgst,\r\n // igst: garmentObj.igst,\r\n // width: garmentObj.width,\r\n // length: garmentObj.length,\r\n // images: [\r\n // garmentObj.garmentImage1 === \"\"\r\n // ? null\r\n // : {\r\n // uid: \"1\",\r\n // name: garmentObj.garmentImage1.split(\"/\")[\r\n // garmentObj.garmentImage1.split(\"/\").length - 1\r\n // ],\r\n // status: \"done\",\r\n // url: garmentObj.garmentImage1,\r\n // },\r\n // garmentObj.garmentImage2 === \"\"\r\n // ? null\r\n // : {\r\n // uid: \"2\",\r\n // name: garmentObj.garmentImage2.split(\"/\")[\r\n // garmentObj.garmentImage2.split(\"/\").length - 1\r\n // ],\r\n // status: \"done\",\r\n // url: garmentObj.garmentImage2,\r\n // },\r\n // garmentObj.garmentImage3 === \"\"\r\n // ? null\r\n // : {\r\n // uid: \"3\",\r\n // name: garmentObj.garmentImage3.split(\"/\")[\r\n // garmentObj.garmentImage3.split(\"/\").length - 1\r\n // ],\r\n // status: \"done\",\r\n // url: garmentObj.garmentImage3,\r\n // },\r\n // ],\r\n // deliveryType: response.data.deliveryType,\r\n // rateRatio: response.data.rateRatio,\r\n // deliveryTypeName: response.data.deliveryTypeName\r\n // });\r\n // }\r\n // });\r\n // this.GetRateCard()\r\n // // this.setState({ spinning: false }, () => {\r\n // // // if (parseInt(response.data.orderStatus) < 2) {\r\n // // this.getRatesForPredefinedOrder();\r\n // // // }\r\n // // });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: response.message\r\n // ? this.common.Message(response.message)\r\n // : labels.UNABLE_TO_GET_ORDER_INFORMATION,\r\n // duration: 1.5,\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n getOrderByID(id) {\r\n // this.setState({ spinning: true });\r\n this.setState({ spinning: true, order: {}, orderArray: [] });\r\n this.createOrderService.getOrderByID(id).then((response) => {\r\n // console.log(\"res->\", response);\r\n if (response.statusCode === 200) {\r\n if (parseInt(response.data.orderStatus) >= 2) {\r\n this.setState({\r\n orderSummaryObject: {\r\n subtotal: response.data.serviceBasicAmount,\r\n cgst: response.data.cgst,\r\n sgst: response.data.sgst,\r\n igst: response.data.igst,\r\n discount: response.data.discountAmount,\r\n deliveryCharges: response.data.deliveryCharges,\r\n packagingCharges: response.data.packagingCharges,\r\n total: response.data.finalOrderAmount,\r\n count: response.data.noOfGarment,\r\n deliveryDate: response.data.deliveryDate,\r\n },\r\n promocode:\r\n response.data.promocode === null ? \"\" : response.data.promocode,\r\n discount: response.data.discountAmount,\r\n isPromocodeValid: true,\r\n });\r\n }\r\n\r\n //Umesh remove infinite rerendering Start\r\n\r\n // this.setState({\r\n // promocode: [null, undefined, \"\"].includes(response.data.promocode)\r\n // ? \"\"\r\n // : response.data.promocode,\r\n // discount: response.data.discountAmount,\r\n // isPromocodeValid: [null, undefined, \"\"].includes(\r\n // response.data.promocode\r\n // )\r\n // ? false\r\n // : true,\r\n // isOnDemand: response.data.isOnDemandDelivery,\r\n // isFromPickup: parseInt(response.data.pickupID) === 0 ? false : true,\r\n // customerInfo: {\r\n // ...this.state.customerInfo,\r\n // id: response.data.customerID,\r\n // name: response.data.customerName,\r\n // pickupRequest: response.data.pickupID,\r\n // selectedAddress: {\r\n // ...this.state.customerInfo.selectedAddress,\r\n // id: response.data.customerAddressID,\r\n // name: response.data.customerAddressName,\r\n // },\r\n // serviceType: {\r\n // ...this.state.customerInfo.serviceType,\r\n // id: response.data.deliveryType,\r\n // name: response.data.deliveryTypeName,\r\n // },\r\n // customerType: response.data.customerTypeName,\r\n // corporateID: parseInt(response.data.corporateID),\r\n // walletBalance: response.data.lkCashBlcAmt,\r\n // lkCreditAmt: response.data.lkCreditBlcAmt,\r\n // },\r\n // orderID: response.data.orderID,\r\n // orderDate: moment(response.data.orderDate),\r\n // orderStatus: response.data.orderStatus,\r\n // opeartionInstruction: ![null, undefined, \"\"].includes(\r\n // response.data.operationInstruction\r\n // )\r\n // ? response.data.operationInstruction.split(\",\")\r\n // : [],\r\n // logisticInstruction: response.data.logisticInstruction,\r\n // orderRemarks:\r\n // response.data.orderRemark !== \"undefined\" &&\r\n // response.data.orderRemark !== \"null\"\r\n // ? response.data.orderRemark\r\n // : null,\r\n // // isReview:\r\n // // parseInt(response.data.orderStatus) === 1 &&\r\n // // parseInt(response.data.orderType) !== 2\r\n // // ? false\r\n // // : true,\r\n // isReview: this.props.location.state != undefined ? this.props.location.state.view == 'view' ? true : parseInt(response.data.orderStatus) === 1 &&\r\n // parseInt(response.data.orderType) !== 2\r\n // ? false\r\n // : true : parseInt(response.data.orderStatus) === 1 &&\r\n // parseInt(response.data.orderType) !== 2\r\n // ? false\r\n // : true,\r\n // rewashOrderID: response.data.rewashOrderID,\r\n // // rewashReason: response.data.rewashReason,\r\n // rewashReason: ![null, undefined, \"\"].includes(\r\n // response.data.rewashReason\r\n // )\r\n // ? response.data.rewashReason.split(\",\")\r\n // : [],\r\n\r\n // rewashRequestedBy: response.data.rewashRequestedBy,\r\n // orderType: response.data.orderType,\r\n // });\r\n\r\n // response.data.vMOrderGarmentDetails.map((garmentObj) => {\r\n // let filteredServiceObject = this.state.garmentList.filter(\r\n // (x) => parseInt(x.serviceId) === parseInt(garmentObj.serviceID)\r\n // )[0];\r\n // if (filteredServiceObject !== undefined) {\r\n // let filteredGarmentObject = filteredServiceObject.garments.filter(\r\n // (x) => parseInt(x.id) === parseInt(garmentObj.garmentID)\r\n // )[0];\r\n // this.setState({\r\n // order: {\r\n // ...this.state.order,\r\n // [garmentObj.serviceID]:\r\n // this.state.order[garmentObj.serviceID] === undefined\r\n // ? {\r\n // [garmentObj.garmentID]: 1,\r\n // }\r\n // : this.state.order[garmentObj.serviceID][\r\n // garmentObj.garmentID\r\n // ] === undefined\r\n // ? {\r\n // ...this.state.order[garmentObj.serviceID],\r\n // [garmentObj.garmentID]: 1,\r\n // }\r\n // : {\r\n // ...this.state.order[garmentObj.serviceID],\r\n // [garmentObj.garmentID]:\r\n // this.state.order[garmentObj.serviceID][\r\n // garmentObj.garmentID\r\n // ] + 1,\r\n // },\r\n // },\r\n // });\r\n // response.data.vMSplitOrderDetails.map((splitOrder) => {\r\n // let filteredServiceObject = this.state.garmentList.filter(\r\n // (x) => parseInt(x.serviceId) === parseInt(splitOrder.serviceID)\r\n // )[0];\r\n // if (parseInt(filteredServiceObject.UOM) === 2) {\r\n // this.setState({\r\n // order: {\r\n // ...this.state.order,\r\n // [splitOrder.serviceID]:\r\n // this.state.order[splitOrder.serviceID] !== undefined\r\n // ? {\r\n // ...this.state.order[splitOrder.serviceID],\r\n // \"-1\": splitOrder.weight,\r\n // }\r\n // : { \"-1\": splitOrder.weight },\r\n // },\r\n // });\r\n // }\r\n // if (parseInt(filteredServiceObject.UOM) === 3) {\r\n // let sqftGarments = response.data.vMOrderGarmentDetails.filter(\r\n // (x) => parseInt(x.uom) === 3\r\n // );\r\n // let total = 0;\r\n // sqftGarments.map((single) => {\r\n // total = total + single.width * single.length;\r\n // });\r\n // this.setState({\r\n // order: {\r\n // ...this.state.order,\r\n // [splitOrder.serviceID]:\r\n // this.state.order[splitOrder.serviceID] !== undefined\r\n // ? {\r\n // ...this.state.order[splitOrder.serviceID],\r\n // \"-1\": total,\r\n // }\r\n // : { \"-1\": total },\r\n // },\r\n // });\r\n // }\r\n // });\r\n // let splitOrderID = response.data.vMSplitOrderDetails.filter(\r\n // (x) => x.splitOrderNumber === garmentObj.splitOrderNumber\r\n // )[0].splitOrderID;\r\n // this.state.orderArray.push({\r\n // no: this.state.orderArray.length + 1,\r\n // orderGarmentID: garmentObj.orderGarmentID,\r\n // tagNo: garmentObj.tagNo,\r\n // splitOrderID: splitOrderID,\r\n // splitOrderNumber: garmentObj.splitOrderNumber,\r\n // serviceId: garmentObj.serviceID,\r\n // garmentId: garmentObj.garmentID,\r\n // garmentName: filteredGarmentObject.name,\r\n // serviceName: filteredServiceObject.title,\r\n // darningSize: garmentObj.darningTypeID,\r\n // dyingColorsUOM:\r\n // garmentObj.dyeingColors === \"\"\r\n // ? 0\r\n // : garmentObj.dyeingColors.split(\",\").length === 1\r\n // ? 21\r\n // : garmentObj.dyeingColors.split(\",\").length > 1\r\n // ? 22\r\n // : 0,\r\n // dyingColorsValue:\r\n // garmentObj.dyeingColors !== \"null\" &&\r\n // garmentObj.dyeingColors !== \"\" &&\r\n // garmentObj.dyeingColors !== null\r\n // ? garmentObj.dyeingColors.split(\",\").length > 0\r\n // ? garmentObj.dyeingColors.split(\",\")\r\n // : []\r\n // : [],\r\n // notes:\r\n // garmentObj.specialInstruction !== \"\" &&\r\n // garmentObj.specialInstruction !== \"null\"\r\n // ? garmentObj.specialInstruction\r\n // : null,\r\n // addOnServices:\r\n // garmentObj.addOnServiceIDs !== \"\" &&\r\n // garmentObj.addOnServiceIDs !== \"null\" &&\r\n // garmentObj.addOnServiceIDs !== null\r\n // ? garmentObj.addOnServiceIDs.split(\",\").length > 0\r\n // ? garmentObj.addOnServiceIDs.split(\",\")\r\n // : []\r\n // : [],\r\n // color:\r\n // garmentObj.colorIDs !== \"null\" && garmentObj.colorIDs !== \"\"\r\n // ? garmentObj.colorIDs\r\n // : null,\r\n // brand: garmentObj.brandID,\r\n // size: garmentObj.sizeID === 0 ? null : garmentObj.sizeID,\r\n // UOM: garmentObj.uom,\r\n // deliveryDate:\r\n // garmentObj.deliveryDate !== \"\"\r\n // ? moment(garmentObj.deliveryDate)\r\n // : parseInt(response.data.orderStatus) < 2\r\n // ? moment()\r\n // : null,\r\n // price: garmentObj.serviceAmount + garmentObj.addOnServiceAmount,\r\n // darningPrice: 0,\r\n // dyingPrice: 0,\r\n // ucPrice: 0,\r\n // rate: garmentObj.serviceAmount,\r\n // cgst: garmentObj.cgst,\r\n // sgst: garmentObj.sgst,\r\n // igst: garmentObj.igst,\r\n // width: garmentObj.width,\r\n // length: garmentObj.length,\r\n // images: [\r\n // garmentObj.garmentImage1 === \"\"\r\n // ? null\r\n // : {\r\n // uid: \"1\",\r\n // name: garmentObj.garmentImage1.split(\"/\")[\r\n // garmentObj.garmentImage1.split(\"/\").length - 1\r\n // ],\r\n // status: \"done\",\r\n // url: garmentObj.garmentImage1,\r\n // },\r\n // garmentObj.garmentImage2 === \"\"\r\n // ? null\r\n // : {\r\n // uid: \"2\",\r\n // name: garmentObj.garmentImage2.split(\"/\")[\r\n // garmentObj.garmentImage2.split(\"/\").length - 1\r\n // ],\r\n // status: \"done\",\r\n // url: garmentObj.garmentImage2,\r\n // },\r\n // garmentObj.garmentImage3 === \"\"\r\n // ? null\r\n // : {\r\n // uid: \"3\",\r\n // name: garmentObj.garmentImage3.split(\"/\")[\r\n // garmentObj.garmentImage3.split(\"/\").length - 1\r\n // ],\r\n // status: \"done\",\r\n // url: garmentObj.garmentImage3,\r\n // },\r\n // ],\r\n // deliveryType: response.data.deliveryType,\r\n // rateRatio: response.data.rateRatio,\r\n // deliveryTypeName: response.data.deliveryTypeName\r\n // });\r\n // }\r\n // });\r\n\r\n // this.setState({ spinning: false }, () => {\r\n // // if (parseInt(response.data.orderStatus) < 2) {\r\n // // this.getRatesForPredefinedOrder();\r\n // // }\r\n // });\r\n // //Umesh remove infinite rerendering End\r\n\r\n /////Umesh Test start from here\r\n\r\n let tmporderArray = [];\r\n let tmporder = {};\r\n response.data.vMOrderGarmentDetails.map((garmentObj) => {\r\n let filteredServiceObject = this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(garmentObj.serviceID)\r\n )[0];\r\n\r\n if (filteredServiceObject !== undefined) {\r\n let filteredGarmentObject = filteredServiceObject.garments.filter(\r\n (x) => parseInt(x.id) === parseInt(garmentObj.garmentID)\r\n )[0];\r\n\r\n //this.setState({\r\n //order: {\r\n tmporder = {\r\n ...tmporder,\r\n [garmentObj.serviceID]:\r\n tmporder[garmentObj.serviceID] === undefined\r\n ? {\r\n [garmentObj.garmentID]: 1,\r\n }\r\n : tmporder[garmentObj.serviceID][garmentObj.garmentID] ===\r\n undefined\r\n ? {\r\n ...tmporder[garmentObj.serviceID],\r\n [garmentObj.garmentID]: 1,\r\n }\r\n : {\r\n ...tmporder[garmentObj.serviceID],\r\n [garmentObj.garmentID]:\r\n tmporder[garmentObj.serviceID][garmentObj.garmentID] +\r\n 1,\r\n },\r\n };\r\n //});\r\n\r\n response.data.vMSplitOrderDetails.map((splitOrder) => {\r\n let filteredServiceObject = this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(splitOrder.serviceID)\r\n )[0];\r\n\r\n if (parseInt(filteredServiceObject.UOM) === 2) {\r\n // this.setState({\r\n // order: {\r\n\r\n tmporder = {\r\n ...tmporder,\r\n [splitOrder.serviceID]:\r\n tmporder[splitOrder.serviceID] !== undefined\r\n ? {\r\n ...tmporder[splitOrder.serviceID],\r\n \"-1\": splitOrder.weight,\r\n }\r\n : { \"-1\": splitOrder.weight },\r\n };\r\n // });\r\n }\r\n if (parseInt(filteredServiceObject.UOM) === 3) {\r\n let sqftGarments = response.data.vMOrderGarmentDetails.filter(\r\n (x) => parseInt(x.uom) === 3\r\n );\r\n let total = 0;\r\n sqftGarments.map((single) => {\r\n total = total + single.width * single.length;\r\n });\r\n // this.setState({\r\n // order: {\r\n tmporder = {\r\n //...this.state.order,\r\n ...tmporder,\r\n [splitOrder.serviceID]:\r\n tmporder[splitOrder.serviceID] !== undefined\r\n ? {\r\n ...tmporder[splitOrder.serviceID],\r\n \"-1\": total,\r\n }\r\n : { \"-1\": total },\r\n };\r\n // });\r\n }\r\n });\r\n\r\n let splitOrderID = response.data.vMSplitOrderDetails.filter(\r\n (x) => x.splitOrderNumber === garmentObj.splitOrderNumber\r\n )[0].splitOrderID;\r\n\r\n // this.state.orderArray.push({\r\n tmporderArray.push({\r\n no: tmporderArray.length + 1,\r\n orderGarmentID: garmentObj.orderGarmentID,\r\n tagNo: garmentObj.tagNo,\r\n splitOrderID: splitOrderID,\r\n splitOrderNumber: garmentObj.splitOrderNumber,\r\n serviceId: garmentObj.serviceID,\r\n garmentId: garmentObj.garmentID,\r\n garmentName: filteredGarmentObject.name,\r\n serviceName: filteredServiceObject.title,\r\n darningSize: garmentObj.darningTypeID,\r\n dyingColorsUOM:\r\n garmentObj.dyeingColors === \"\"\r\n ? 0\r\n : garmentObj.dyeingColors.split(\",\").length === 1\r\n ? 21\r\n : garmentObj.dyeingColors.split(\",\").length > 1\r\n ? 22\r\n : 0,\r\n dyingColorsValue:\r\n garmentObj.dyeingColors !== \"null\" &&\r\n garmentObj.dyeingColors !== \"\" &&\r\n garmentObj.dyeingColors !== null\r\n ? garmentObj.dyeingColors.split(\",\").length > 0\r\n ? garmentObj.dyeingColors.split(\",\")\r\n : []\r\n : [],\r\n notes:\r\n garmentObj.specialInstruction !== \"\" &&\r\n garmentObj.specialInstruction !== \"null\"\r\n ? garmentObj.specialInstruction\r\n : null,\r\n addOnServices:\r\n garmentObj.addOnServiceIDs !== \"\" &&\r\n garmentObj.addOnServiceIDs !== \"null\" &&\r\n garmentObj.addOnServiceIDs !== null\r\n ? garmentObj.addOnServiceIDs.split(\",\").length > 0\r\n ? garmentObj.addOnServiceIDs.split(\",\")\r\n : []\r\n : [],\r\n color:\r\n garmentObj.colorIDs !== \"null\" && garmentObj.colorIDs !== \"\"\r\n ? garmentObj.colorIDs\r\n : null,\r\n brand: garmentObj.brandID,\r\n size: garmentObj.sizeID === 0 ? null : garmentObj.sizeID,\r\n UOM: garmentObj.uom,\r\n deliveryDate:\r\n garmentObj.deliveryDate !== \"\"\r\n ? moment(garmentObj.deliveryDate)\r\n : parseInt(response.data.orderStatus) < 2\r\n ? moment()\r\n : null,\r\n price: garmentObj.serviceAmount + garmentObj.addOnServiceAmount,\r\n darningPrice: 0,\r\n dyingPrice: 0,\r\n ucPrice: 0,\r\n rate: garmentObj.serviceAmount,\r\n cgst: garmentObj.cgst,\r\n sgst: garmentObj.sgst,\r\n igst: garmentObj.igst,\r\n width: garmentObj.width,\r\n length: garmentObj.length,\r\n images: [\r\n garmentObj.garmentImage1 === \"\"\r\n ? null\r\n : {\r\n uid: \"1\",\r\n name: garmentObj.garmentImage1.split(\"/\")[\r\n garmentObj.garmentImage1.split(\"/\").length - 1\r\n ],\r\n status: \"done\",\r\n url: garmentObj.garmentImage1,\r\n },\r\n garmentObj.garmentImage2 === \"\"\r\n ? null\r\n : {\r\n uid: \"2\",\r\n name: garmentObj.garmentImage2.split(\"/\")[\r\n garmentObj.garmentImage2.split(\"/\").length - 1\r\n ],\r\n status: \"done\",\r\n url: garmentObj.garmentImage2,\r\n },\r\n garmentObj.garmentImage3 === \"\"\r\n ? null\r\n : {\r\n uid: \"3\",\r\n name: garmentObj.garmentImage3.split(\"/\")[\r\n garmentObj.garmentImage3.split(\"/\").length - 1\r\n ],\r\n status: \"done\",\r\n url: garmentObj.garmentImage3,\r\n },\r\n ],\r\n deliveryType: response.data.deliveryType,\r\n rateRatio: response.data.rateRatio,\r\n deliveryTypeName: response.data.deliveryTypeName,\r\n finalQCStatus: garmentObj.finalQCStatus,\r\n garmentDefect: garmentObj.garmentDefect,\r\n });\r\n }\r\n });\r\n this.setState({\r\n order: {\r\n ...this.state.order,\r\n ...tmporder,\r\n },\r\n orderArray: [...tmporderArray],\r\n // });\r\n\r\n // this.setState({\r\n promocode: [null, undefined, \"\"].includes(response.data.promocode)\r\n ? \"\"\r\n : response.data.promocode,\r\n discount: response.data.discountAmount,\r\n isPromocodeValid: [null, undefined, \"\"].includes(\r\n response.data.promocode\r\n )\r\n ? false\r\n : true,\r\n isOnDemand: response.data.isOnDemandDelivery,\r\n isFromPickup: parseInt(response.data.pickupID) === 0 ? false : true,\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n id: response.data.customerID,\r\n name: response.data.customerName,\r\n pickupRequest: response.data.pickupID,\r\n selectedAddress: {\r\n ...this.state.customerInfo.selectedAddress,\r\n id: response.data.customerAddressID,\r\n name: response.data.customerAddressName,\r\n },\r\n serviceType: {\r\n ...this.state.customerInfo.serviceType,\r\n id: response.data.deliveryType,\r\n name: response.data.deliveryTypeName,\r\n },\r\n customerType: response.data.customerTypeName,\r\n corporateID: parseInt(response.data.corporateID),\r\n walletBalance: response.data.lkCashBlcAmt,\r\n lkCreditAmt: response.data.lkCreditBlcAmt,\r\n },\r\n orderID: response.data.orderID,\r\n orderDate: moment(response.data.orderDate),\r\n orderStatus: response.data.orderStatus,\r\n opeartionInstruction: ![null, undefined, \"\"].includes(\r\n response.data.operationInstruction\r\n )\r\n ? response.data.operationInstruction.split(\",\")\r\n : [],\r\n logisticInstruction: response.data.logisticInstruction,\r\n orderRemarks:\r\n response.data.orderRemark !== \"undefined\" &&\r\n response.data.orderRemark !== \"null\"\r\n ? response.data.orderRemark\r\n : null,\r\n // isReview:\r\n // parseInt(response.data.orderStatus) === 1 &&\r\n // parseInt(response.data.orderType) !== 2\r\n // ? false\r\n // : true,\r\n isReview:\r\n this.props.location.state != undefined\r\n ? this.props.location.state.view == \"view\"\r\n ? true\r\n : parseInt(response.data.orderStatus) === 1 &&\r\n parseInt(response.data.orderType) !== 2\r\n ? false\r\n : true\r\n : parseInt(response.data.orderStatus) === 1 &&\r\n parseInt(response.data.orderType) !== 2\r\n ? false\r\n : true,\r\n rewashOrderID: response.data.rewashOrderID,\r\n // rewashReason: response.data.rewashReason,\r\n rewashReason: ![null, undefined, \"\"].includes(\r\n response.data.rewashReason\r\n )\r\n ? response.data.rewashReason.split(\",\")\r\n : [],\r\n\r\n rewashRequestedBy: response.data.rewashRequestedBy,\r\n orderType: response.data.orderType,\r\n // });\r\n\r\n // this.setState({\r\n spinning: false,\r\n // },() => {\r\n // if (parseInt(response.data.orderStatus) < 2) {\r\n // this.getRatesForPredefinedOrder();\r\n // }\r\n });\r\n\r\n /////Umesh Test End At here\r\n //*********************************************************************************************************\r\n /********************************************************************* */\r\n let OrderStatusList = [];\r\n\r\n OrderStatusList = response.data.vMSplitOrderDetails.filter(\r\n (x) => parseInt(x.splitOrderStatus) >= 6\r\n );\r\n // console.log(\"OrderStatusList->\", OrderStatusList);\r\n if (OrderStatusList != undefined && OrderStatusList.length > 0) {\r\n this.setState({ AllowCancelOrder: false });\r\n } else {\r\n this.setState({ AllowCancelOrder: true });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_ORDER_INFORMATION,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state.customerInfo.id !== prevState.customerInfo.id) {\r\n this.getTimeCard();\r\n this.getRatesForPredefinedOrder();\r\n }\r\n if (\r\n this.state.customerInfo.serviceType !== undefined &&\r\n prevState.customerInfo.serviceType !== undefined\r\n ) {\r\n if (\r\n this.state.customerInfo.serviceType.id !==\r\n prevState.customerInfo.serviceType.id\r\n ) {\r\n this.getRatesForPredefinedOrder();\r\n }\r\n }\r\n }\r\n calculateDeliveryDatesForOrder = () => {\r\n let orgArray = [...this.state.orderArray];\r\n // let updated = orgArray.map((record) => {\r\n // record.deliveryDate = moment(this.state.orderDate).add(\r\n // this.calculateDeliveryDateAdd(\r\n // record.serviceId,\r\n // record.addOnServices,\r\n // record.garmentId\r\n // ),\r\n // \"d\"\r\n // );\r\n let updated = orgArray.map((record) => {\r\n let DeliveryDateAfterAdd = moment(this.state.orderDate).add(\r\n this.calculateDeliveryDateAdd(\r\n record.serviceId,\r\n record.addOnServices,\r\n record.garmentId\r\n ),\r\n \"d\"\r\n );\r\n let weekDayName = JSON.parse(localStorage.getItem(\"StoreSlots\")).map(\r\n (dayName) => {\r\n return dayName.weekDayName;\r\n }\r\n );\r\n record.deliveryDate = weekDayName.includes(\r\n DeliveryDateAfterAdd.format(\"ddd\")\r\n )\r\n ? DeliveryDateAfterAdd\r\n : DeliveryDateAfterAdd.add(1, \"d\");\r\n\r\n record.deliveryDate = weekDayName.includes(\r\n record.deliveryDate.format(\"ddd\")\r\n )\r\n ? record.deliveryDate\r\n : record.deliveryDate.add(1, \"d\");\r\n\r\n return record;\r\n });\r\n this.setState({ orderArray: updated });\r\n };\r\n isCorporate = () => {\r\n if (this.state.customerInfo.customerType === \"B2B/Corporate\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n calculateDeliveryDateAdd = (\r\n service,\r\n addOnServices = [],\r\n garment = 1,\r\n garmentDeliveryType\r\n ) => {\r\n let days = 0;\r\n if (parseInt(garment) !== -1) {\r\n if (this.state.timeCard !== null && this.state.timeCard.length > 0) {\r\n let filteredArray = this.state.timeCard.filter(\r\n (singleService) =>\r\n parseInt(singleService.serviceID) === parseInt(service) &&\r\n parseInt(singleService.garmentID) === parseInt(garment)\r\n );\r\n if (filteredArray.length > 0) {\r\n let filtered = filteredArray[0];\r\n if (filtered !== undefined) {\r\n if (this.state.customerInfo !== undefined) {\r\n if (this.state.customerInfo.serviceType !== undefined) {\r\n switch (parseInt(this.state.customerInfo.serviceType.id)) {\r\n case 2:\r\n days = days + filtered.semiExpressTAT;\r\n break;\r\n case 3:\r\n days = days + filtered.expressTAT;\r\n break;\r\n default:\r\n days = days + filtered.tat;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n let temparr = this.state.HolidayList;\r\n var pickup_date = moment(this.state.orderDate).format(\"YYYY-MM-DD\");\r\n var delivery_date = moment(this.state.orderDate)\r\n .add(days, \"days\")\r\n .format(\"YYYY-MM-DD\"); //Added By Hasti\r\n // var delivery_date = moment().add(days, \"days\").format(\"YYYY-MM-DD\");\r\n var HolidayArr = [];\r\n // console.log(\"date->\",pickup_date,delivery_date);\r\n\r\n HolidayArr = temparr.filter((a) => {\r\n var holiday_date = moment(a.holidayDate).format(\"YYYY-MM-DD\");\r\n // console.log(\"date->\",pickup_date,holiday_date,delivery_date);\r\n return (\r\n pickup_date <= holiday_date && delivery_date >= holiday_date\r\n );\r\n });\r\n\r\n let len = HolidayArr.length;\r\n days = days + len;\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GET_TIME_CARD,\r\n });\r\n days = false;\r\n }\r\n if (addOnServices.length > 0) {\r\n addOnServices.map((singleService) => {\r\n days =\r\n days + this.calculateDeliveryDateAdd(singleService, [], garment);\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GET_TIME_CARD,\r\n });\r\n days = false;\r\n }\r\n }\r\n return days;\r\n };\r\n getTimeCard = () => {\r\n this.createOrderService\r\n .getTimeCard(\r\n this.isCorporate()\r\n ? this.state.customerInfo.corporateID\r\n : this.state.storeID,\r\n this.state.orderDate,\r\n this.isCorporate(),\r\n this.state.customerInfo.serviceType !== undefined\r\n ? this.state.customerInfo.serviceType.id\r\n : null\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n timeCard: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_ADD_ON_SERVICES,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n getPackagingCharges = () => {\r\n this.createOrderService.getPackagingCharges().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n packagingCharges: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_PACKAGING_CHARGES,\r\n });\r\n }\r\n });\r\n };\r\n getDeliveryCharges = () => {\r\n this.createOrderService.getDeliveryCharges().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n deliveryCharges: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DELIVERY_CHARGES,\r\n });\r\n }\r\n });\r\n };\r\n getRatesForPredefinedOrder() {\r\n if (this.state.isReview && this.state.orderStatus != 0) {\r\n this.setState({ isRender: true });\r\n return false;\r\n }\r\n if (this.state.orderArray.length !== 0) {\r\n for (let key in this.state.orderArray) {\r\n let service = this.state.orderArray[key].serviceId;\r\n let garment = this.state.orderArray[key].garmentId;\r\n // if (![8, 9].includes(parseInt(this.state.orderArray[key].serviceId))) { added By Jalpa\r\n this.getRateForGarment(\r\n this.state.storeID,\r\n this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n )[0].UOM,\r\n this.state.customerInfo.serviceType !== undefined\r\n ? this.state.customerInfo.serviceType.id !== undefined\r\n ? this.state.customerInfo.serviceType.id\r\n : 1\r\n : 1,\r\n service,\r\n garment,\r\n () => null,\r\n (response) => {\r\n let serviceObject = this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n )[0];\r\n let addedGarments = this.state.orderArray.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n );\r\n let price = 0;\r\n if (serviceObject.UOM === 1) {\r\n price = response.rate;\r\n } else if (serviceObject.UOM === 2) {\r\n price =\r\n this.state.order[service][-1] !== undefined\r\n ? (parseInt(this.state.order[service][-1]) * response.rate) /\r\n addedGarments.length\r\n : 0;\r\n }\r\n let orgArray = [...this.state.orderArray];\r\n let newArray = orgArray.map((singleObj, index) => {\r\n let single = { ...singleObj };\r\n if (\r\n parseInt(single.serviceId) === parseInt(service) &&\r\n parseInt(single.garmentId) === parseInt(garment)\r\n ) {\r\n if (parseInt(single.UOM) === 3) {\r\n single.price = single.width * single.length * response.rate;\r\n } else {\r\n single.price = price;\r\n }\r\n single.rate = response.rate;\r\n single.cgst = response.cgst;\r\n single.sgst = response.sgst;\r\n single.igst = response.igst;\r\n }\r\n return single;\r\n });\r\n this.setState({ orderArray: newArray });\r\n }\r\n );\r\n //}\r\n }\r\n }\r\n\r\n let newArray = [...this.state.orderArray].map((oldrecord, index) => {\r\n let record = { ...oldrecord };\r\n // if (record.addOnServices.includes(\"10\")) {\r\n // this.getRateForGarment(\r\n // this.state.storeID,\r\n // record.UOM,\r\n // this.state.customerInfo.serviceType.id,\r\n // 10,\r\n // record.garmentId,\r\n // () => null,\r\n // (response) => {\r\n // record.ucPrice = response.rate;\r\n // let duplicate = [...this.state.orderArray];\r\n // duplicate[index].ucPrice = response.rate;\r\n // this.setState({\r\n // orderArray: duplicate,\r\n // });\r\n // }\r\n // );\r\n // }\r\n if (\r\n record.addOnServices.includes(\"9\") ||\r\n parseInt(record.serviceId) === 9\r\n ) {\r\n if (record.darningSize !== null && record.darningSize !== 0)\r\n this.getRateForGarment(\r\n this.state.storeID,\r\n parseInt(record.darningSize),\r\n this.state.customerInfo.serviceType.id,\r\n 9,\r\n record.garmentId,\r\n () => null,\r\n (response) => {\r\n record.darningPrice = response.rate;\r\n let duplicate = [...this.state.orderArray];\r\n duplicate[index].darningPrice = response.rate;\r\n if (parseInt(record.serviceId) === 9) {\r\n duplicate[index].price = 0;\r\n duplicate[index].rate = response.rate;\r\n }\r\n this.setState({\r\n orderArray: duplicate,\r\n });\r\n }\r\n );\r\n }\r\n if (\r\n record.addOnServices.includes(\"8\") ||\r\n parseInt(record.serviceId) === 8\r\n ) {\r\n if (![null, undefined, \"\"].includes(record.dyingColorsValue)) {\r\n record.dyingColorsUOM =\r\n record.dyingColorsValue.length === 1\r\n ? 21\r\n : record.dyingColorsValue.length > 1\r\n ? 22\r\n : null;\r\n this.getRateForGarment(\r\n this.state.storeID,\r\n record.dyingColorsUOM,\r\n this.state.customerInfo.serviceType.id,\r\n 8,\r\n record.garmentId,\r\n () => null,\r\n (response) => {\r\n record.dyingPrice = response.rate;\r\n let duplicate = [...this.state.orderArray];\r\n duplicate[index].dyingPrice = response.rate;\r\n if (parseInt(record.serviceId) === 8) {\r\n duplicate[index].price = 0;\r\n duplicate[index].rate = response.rate;\r\n }\r\n this.setState({\r\n orderArray: duplicate,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n return record;\r\n });\r\n this.setState({ orderArray: newArray }, () =>\r\n this.calculateDeliveryDatesForOrder()\r\n );\r\n }\r\n getGarmentsList = (service = null, uom = null) => {\r\n let storeID = this.state.storeID;\r\n // debugger;\r\n this.createOrderService\r\n .getGarmentsList(service, uom, storeID)\r\n .then((response) => {\r\n if (response.status === undefined) {\r\n let unchanged = this.state.garmentList.filter((singleService) => {\r\n return (\r\n response.filter(\r\n (updatedService) =>\r\n updatedService.serviceId === singleService.serviceId\r\n ).length === 0\r\n );\r\n });\r\n this.setState(\r\n {\r\n garmentList: [...unchanged, ...response].sort((a, b) => {\r\n return parseInt(a.serviceId) > parseInt(b.serviceId) ? 1 : -1;\r\n }),\r\n garmentSelectionShouldUpdate: true,\r\n },\r\n () => {\r\n if (\r\n [ROUTES.UPDATE_ORDER, \":orderID\"].join(\"/\") ===\r\n this.props.match.path\r\n ) {\r\n this.getOrderByID(this.props.match.params.orderID);\r\n }\r\n this.getRatesForPredefinedOrder();\r\n }\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_GARMENTS,\r\n });\r\n }\r\n });\r\n };\r\n goToReview = () => {\r\n this.setState({ isReview: true });\r\n };\r\n goToOrder = () => {\r\n this.setState({ isReview: false });\r\n };\r\n getCountForGarment = (service, garment) => {\r\n if (this.state.order[service] !== undefined) {\r\n if (this.state.order[service][garment] !== undefined) {\r\n //return this.state.orderArray.filter(x => x.serviceId == service && x.garmentId == garment).length\r\n return this.state.order[service][garment];\r\n } else {\r\n return 0;\r\n }\r\n } else {\r\n return 0;\r\n }\r\n };\r\n\r\n getRateForGarment = (\r\n store,\r\n uom,\r\n delivery = null,\r\n service,\r\n garment,\r\n revert = () => null,\r\n callback = () => null\r\n ) => {\r\n this.createOrderService\r\n .getRateCardForStore(\r\n this.isCorporate() ? this.state.customerInfo.corporateID : store,\r\n [8, 9].includes(parseInt(service)) && uom === 1 ? null : uom,\r\n delivery !== null\r\n ? delivery\r\n : this.state.customerInfo.serviceType !== undefined\r\n ? this.state.customerInfo.serviceType.id\r\n : 1,\r\n service,\r\n parseInt(garment) === -1\r\n ? parseInt(uom) === 3\r\n ? parseInt(garment)\r\n : Object.keys(this.state.order[service])[0]\r\n : // : this.state.garmentList[service].garments[1].id\r\n garment,\r\n this.state.orderDate.format(\"YYYY-MM-DD\"),\r\n this.isCorporate()\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200 && response.data[0] !== undefined) {\r\n if (response.data[0].rate <= 0) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GET_RATES,\r\n });\r\n revert();\r\n return;\r\n }\r\n\r\n if ([11, 12, 13, 21, 22].includes(parseInt(response.data[0].uomid))) {\r\n let uomid = response.data[0].uomid;\r\n\r\n this.setState(\r\n {\r\n rates: {\r\n ...this.state.rates,\r\n [uomid]: {\r\n ...this.state.rates[uomid],\r\n [garment]: parseInt(response.data[0].rate),\r\n },\r\n // [service]: {\r\n // ...this.state.rates[service],\r\n // [garment]: parseInt(response.data[0].rate),\r\n // },\r\n },\r\n // cgst: {\r\n // ...this.state.cgst,\r\n // [uomid]: {\r\n // ...this.state.cgst[uomid],\r\n // [garment]:\r\n // (parseFloat(response.data[0].cgst) *\r\n // parseInt(response.data[0].rate)) /\r\n // 100,\r\n // },\r\n // },\r\n // sgst: {\r\n // ...this.state.sgst,\r\n // [uomid]: {\r\n // ...this.state.sgst[uomid],\r\n // [garment]:\r\n // (parseFloat(response.data[0].sgst) *\r\n // parseInt(response.data[0].rate)) /\r\n // 100,\r\n // },\r\n // },\r\n // igst: {\r\n // ...this.state.igst,\r\n // [uomid]: {\r\n // ...this.state.igst[uomid],\r\n // [garment]:\r\n // (parseFloat(response.data[0].igst) *\r\n // parseInt(response.data[0].rate)) /\r\n // 100,\r\n // },\r\n // },\r\n },\r\n callback(response.data[0])\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n rates: {\r\n ...this.state.rates,\r\n [service]: {\r\n ...this.state.rates[service],\r\n [garment]: parseInt(response.data[0].rate),\r\n },\r\n },\r\n cgst: {\r\n ...this.state.cgst,\r\n [service]: {\r\n ...this.state.cgst[service],\r\n [garment]:\r\n (parseFloat(response.data[0].cgst) *\r\n parseInt(response.data[0].rate)) /\r\n 100,\r\n },\r\n },\r\n sgst: {\r\n ...this.state.sgst,\r\n [service]: {\r\n ...this.state.sgst[service],\r\n [garment]:\r\n (parseFloat(response.data[0].sgst) *\r\n parseInt(response.data[0].rate)) /\r\n 100,\r\n },\r\n },\r\n igst: {\r\n ...this.state.igst,\r\n [service]: {\r\n ...this.state.igst[service],\r\n [garment]:\r\n (parseFloat(response.data[0].igst) *\r\n parseInt(response.data[0].rate)) /\r\n 100,\r\n },\r\n },\r\n },\r\n callback(response.data[0])\r\n );\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_GET_RATES,\r\n });\r\n revert();\r\n }\r\n });\r\n };\r\n\r\n // getRateForGarment = (\r\n // store,\r\n // uom,\r\n // delivery = null,\r\n // service,\r\n // garment,\r\n // revert = () => null,\r\n // callback = () => null\r\n // ) => {\r\n // // this.createOrderService\r\n // // .getRateCardForStore(\r\n // // this.isCorporate() ? this.state.customerInfo.corporateID : store,\r\n // // [8, 9].includes(parseInt(service)) && uom === 1 ? null : uom,\r\n // // delivery !== null\r\n // // ? delivery\r\n // // : this.state.customerInfo.serviceType !== undefined\r\n // // ? this.state.customerInfo.serviceType.id\r\n // // : 1,\r\n // // service,\r\n // // parseInt(garment) === -1\r\n // // ? parseInt(uom) === 3\r\n // // ? parseInt(garment)\r\n // // : Object.keys(this.state.order[service])[0]\r\n // // // : this.state.garmentList[service].garments[1].id\r\n // // : garment,\r\n // // this.state.orderDate.format(\"YYYY-MM-DD\"),\r\n // // this.isCorporate()\r\n // // )\r\n // // .then((response) => {\r\n // if (this.state.orderArray.length == inc) {\r\n // this.setState({ isRender: true, spinning: false })\r\n // }\r\n // inc++\r\n\r\n // if (this.state.rateCard.length > 0) {\r\n // let res = this.state.rateCard.filter(x => x.serviceID == service && x.garmentID == garment && x.uomid == uom)\r\n\r\n // if ([11, 12, 13, 21, 22].includes(parseInt(res[0].uomid))) {\r\n // let uomid = res[0].uomid;\r\n // this.setState(\r\n // {\r\n // rates: {\r\n // ...this.state.rates,\r\n // [uomid]: {\r\n // ...this.state.rates[uomid],\r\n // [garment]: parseInt(res[0].rate),\r\n // },\r\n // // [service]: {\r\n // // ...this.state.rates[service],\r\n // // [garment]: parseInt(response.data[0].rate),\r\n // // },\r\n // },\r\n // // cgst: {\r\n // // ...this.state.cgst,\r\n // // [uomid]: {\r\n // // ...this.state.cgst[uomid],\r\n // // [garment]:\r\n // // (parseFloat(response.data[0].cgst) *\r\n // // parseInt(response.data[0].rate)) /\r\n // // 100,\r\n // // },\r\n // // },\r\n // // sgst: {\r\n // // ...this.state.sgst,\r\n // // [uomid]: {\r\n // // ...this.state.sgst[uomid],\r\n // // [garment]:\r\n // // (parseFloat(response.data[0].sgst) *\r\n // // parseInt(response.data[0].rate)) /\r\n // // 100,\r\n // // },\r\n // // },\r\n // // igst: {\r\n // // ...this.state.igst,\r\n // // [uomid]: {\r\n // // ...this.state.igst[uomid],\r\n // // [garment]:\r\n // // (parseFloat(response.data[0].igst) *\r\n // // parseInt(response.data[0].rate)) /\r\n // // 100,\r\n // // },\r\n // // },\r\n // },\r\n // callback(res[0])\r\n // );\r\n // } else {\r\n // this.setState(\r\n // {\r\n // rates: {\r\n // ...this.state.rates,\r\n // [service]: {\r\n // ...this.state.rates[service],\r\n // [garment]: parseInt(res[0].rate),\r\n // },\r\n // },\r\n // cgst: {\r\n // ...this.state.cgst,\r\n // [service]: {\r\n // ...this.state.cgst[service],\r\n // [garment]:\r\n // (parseFloat(res[0].cgst) *\r\n // parseInt(res[0].rate)) /\r\n // 100,\r\n // },\r\n // },\r\n // sgst: {\r\n // ...this.state.sgst,\r\n // [service]: {\r\n // ...this.state.sgst[service],\r\n // [garment]:\r\n // (parseFloat(res[0].sgst) *\r\n // parseInt(res[0].rate)) /\r\n // 100,\r\n // },\r\n // },\r\n // igst: {\r\n // ...this.state.igst,\r\n // [service]: {\r\n // ...this.state.igst[service],\r\n // [garment]:\r\n // (parseFloat(res[0].igst) *\r\n // parseInt(res[0].rate)) /\r\n // 100,\r\n // },\r\n // },\r\n // },\r\n // callback(res[0])\r\n\r\n // );\r\n\r\n // }\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.UNABLE_TO_GET_RATES,\r\n // });\r\n // revert();\r\n // }\r\n\r\n // // });\r\n // };\r\n updateOrder = (\r\n service,\r\n garment,\r\n count,\r\n garmentDeliveryType, //Added by rashmi for L177728 - 20/02/23\r\n revert = () => null,\r\n callback = () => null\r\n ) => {\r\n this.setState({ GarmentDeliveryType: garmentDeliveryType }); //Added by rashmi for L177728 - 22/02/23\r\n let orderType = this.state.customerInfo.serviceType.id.toString(); //Added by rashmi for L177728 - 20/02/23\r\n let GarOrderType = garmentDeliveryType.includes(orderType);\r\n\r\n if (GarOrderType) {\r\n //Added by rashmi for L177728 - 20/02/23\r\n this.getRateForGarment(\r\n this.state.storeID,\r\n this.state.garmentList.filter(\r\n (serviceFilter) =>\r\n parseInt(serviceFilter.serviceId) === parseInt(service)\r\n )[0].UOM,\r\n parseInt(this.state.customerInfo.serviceType.id) !== undefined ||\r\n parseInt(this.state.customerInfo.serviceType.id) !== 0\r\n ? parseInt(this.state.customerInfo.serviceType.id)\r\n : 1,\r\n service,\r\n garment,\r\n revert,\r\n (response) => {\r\n let deliveryDaysAdd = this.calculateDeliveryDateAdd(\r\n service,\r\n [],\r\n garment\r\n );\r\n if (parseInt(garment) !== -1) {\r\n let filteredObject = this.state.orderArray.filter(\r\n (x) =>\r\n parseInt(x.serviceId) === parseInt(service) &&\r\n parseInt(x.garmentId) === parseInt(garment)\r\n );\r\n let serviceObject = this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n )[0];\r\n let garmentObject = serviceObject.garments.filter(\r\n (x) => parseInt(x.id) === parseInt(garment)\r\n )[0];\r\n\r\n // console.log(\"garmentObject->\",garmentObject);\r\n\r\n let price = 0;\r\n let countExceptThisGarment = this.state.orderArray.filter(\r\n (x) =>\r\n parseInt(x.serviceId) === parseInt(service) &&\r\n parseInt(x.garmentId) !== parseInt(garment)\r\n ).length;\r\n\r\n if (count !== 0) {\r\n if (parseInt(serviceObject.UOM) !== 2) {\r\n price = response.rate;\r\n } else {\r\n if (this.state.order[service] !== undefined) {\r\n if (this.state.order[service][-1] !== undefined) {\r\n price =\r\n (parseInt(this.state.order[service][-1]) *\r\n response.rate) /\r\n (countExceptThisGarment + count);\r\n } else {\r\n price = 0;\r\n }\r\n } else {\r\n price = 0;\r\n }\r\n\r\n let newArray = this.state.orderArray.map((single, index) => {\r\n if (single.serviceId === service) {\r\n single.price = price;\r\n }\r\n return single;\r\n });\r\n this.setState({ orderArray: newArray });\r\n }\r\n }\r\n\r\n if (filteredObject.length < count) {\r\n for (let i = 0; i < count - filteredObject.length; i++) {\r\n let deliveryDate = moment(this.state.orderDate);\r\n if (deliveryDaysAdd !== false) {\r\n //added by pb\r\n let DeliveryDateAfterAdd = deliveryDate.add(\r\n this.calculateDeliveryDateAdd(service, [], garment),\r\n \"d\"\r\n );\r\n\r\n let weekDayName = JSON.parse(\r\n localStorage.getItem(\"StoreSlots\")\r\n ).map((dayName) => {\r\n return dayName.weekDayName;\r\n });\r\n\r\n let DDeliveryDate = weekDayName.includes(\r\n DeliveryDateAfterAdd.format(\"ddd\")\r\n )\r\n ? DeliveryDateAfterAdd\r\n : DeliveryDateAfterAdd.add(1, \"d\");\r\n\r\n DDeliveryDate = weekDayName.includes(\r\n DDeliveryDate.format(\"ddd\")\r\n )\r\n ? DDeliveryDate\r\n : DDeliveryDate.add(1, \"d\");\r\n //ended\r\n this.state.orderArray.push({\r\n no: this.state.orderArray.length + 1,\r\n garmentDeliveryType: garmentObject.garmentDeliveryType, //Added by rashmi for L177728 - 20/02/23\r\n orderGarmentID: 0,\r\n tagNo: \"\",\r\n splitOrderID: 0,\r\n splitOrderNumber: \"\",\r\n serviceId: service,\r\n garmentId: garment,\r\n garmentName: garmentObject.name,\r\n serviceName: serviceObject.title,\r\n serviceIsAddOn: serviceObject.isAddOn, // added by pb for C15614 this ticket\r\n darningSize: \"\",\r\n dyingColorsUOM: \"\",\r\n dyingColorsValue: [],\r\n notes: \"\",\r\n addOnServices: [],\r\n color: null,\r\n brand: null,\r\n size: null,\r\n UOM: serviceObject.UOM,\r\n // deliveryDate: deliveryDate.add(\r\n // this.calculateDeliveryDateAdd(service, [], garment),\r\n // \"d\"\r\n // ),\r\n deliveryDate: DDeliveryDate,\r\n price: ![8, 9].includes(parseInt(service)) ? price : 0,\r\n darningPrice: parseInt(service) === 9 ? price : 0,\r\n dyingPrice: parseInt(service) === 8 ? price : 0,\r\n ucPrice: 0,\r\n rate: response.rate,\r\n cgst: response.cgst,\r\n sgst: response.sgst,\r\n igst: response.igst,\r\n width: 0,\r\n length: 0,\r\n images: [null, null, null],\r\n garmentDefect: null,\r\n });\r\n\r\n // console.log(\"orderArry->\", this.state.orderArray);\r\n }\r\n }\r\n } else if (filteredObject.length > count) {\r\n let filteredIndexes = [];\r\n this.state.orderArray.filter((x, i) => {\r\n if (\r\n parseInt(x.serviceId) === parseInt(service) &&\r\n parseInt(x.garmentId) === parseInt(garment)\r\n ) {\r\n filteredIndexes.push(i);\r\n return i;\r\n }\r\n });\r\n if (filteredIndexes.length > 0) {\r\n this.state.orderArray.splice(\r\n filteredIndexes[filteredIndexes.length - 1],\r\n 1\r\n );\r\n }\r\n }\r\n }\r\n if (deliveryDaysAdd !== false) {\r\n this.setState({\r\n order: {\r\n ...this.state.order,\r\n [service]:\r\n this.state.order[service] === undefined\r\n ? {\r\n ...this.state.order[service],\r\n [garment]: count === 0 ? undefined : count,\r\n }\r\n : Object.keys(this.state.order[service]).filter(\r\n (x) => this.state.order[service][x] !== undefined\r\n ).length === 1 && count === 0\r\n ? undefined\r\n : {\r\n ...this.state.order[service],\r\n [garment]: count === 0 ? undefined : count,\r\n },\r\n },\r\n });\r\n }\r\n callback();\r\n }\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: `${this.state.customerInfo.serviceType.name} service is not available for this garment`,\r\n });\r\n callback();\r\n }\r\n };\r\n\r\n getCustomerInfo = (customerInfo) => {\r\n this.setState({\r\n customerInfo: customerInfo,\r\n orderDate: moment(customerInfo.systemDateTimeApiValue), // added by pb for solving DeliveryDate issue [L15549]\r\n });\r\n };\r\n\r\n createOrder = (\r\n dataSource,\r\n finalDeliveryDate,\r\n isPromocode = false,\r\n isRewash = false,\r\n shouldValidateBefore = true\r\n // InputOTP\r\n ) => {\r\n // console.log(\"isRewash->\",isRewash);\r\n this.setState({ spinning: true });\r\n let vMSplitOrderReqInfo = [];\r\n for (let service in this.state.order) {\r\n let filteredData = dataSource.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n );\r\n if (filteredData.length > 0) {\r\n let object = {\r\n splitOrderID: 0,\r\n garmentID: 1,\r\n serviceID: parseInt(service),\r\n };\r\n let addOnServiceIDs = [];\r\n let deliveryDate;\r\n // let deliveryDate = moment();//commented by pb\r\n for (let singleRecord in filteredData) {\r\n if (filteredData[singleRecord].addOnServices.length > 0) {\r\n deliveryDate = moment();\r\n addOnServiceIDs = [\r\n ...addOnServiceIDs,\r\n ...filteredData[singleRecord].addOnServices,\r\n ];\r\n if (deliveryDate.isBefore(singleRecord.deliveryDate)) {\r\n deliveryDate = filteredData[singleRecord].deliveryDate;\r\n }\r\n }\r\n deliveryDate = filteredData[singleRecord].deliveryDate;\r\n }\r\n addOnServiceIDs = addOnServiceIDs\r\n .filter((value, index, self) => self.indexOf(value) === index)\r\n .join(\",\");\r\n object.addOnServiceIDs = addOnServiceIDs;\r\n object.deliveryDate = deliveryDate.format(\"YYYY-MM-DD\");\r\n\r\n object.uom = this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n )[0].UOM;\r\n object.noOfGarment = filteredData.length;\r\n object.weight =\r\n this.state.order[service] !== undefined\r\n ? this.state.order[service][-1] !== undefined\r\n ? this.state.order[service][-1]\r\n : 0\r\n : 0;\r\n\r\n vMSplitOrderReqInfo.push(object);\r\n }\r\n }\r\n\r\n // console.log(\"dataSource->\",dataSource);\r\n\r\n let vMOrderGarmentReqInfo = [];\r\n for (let index in dataSource) {\r\n let object = {\r\n orderGarmentID: 0,\r\n garmentID: parseInt(dataSource[index].garmentId),\r\n serviceID: parseInt(dataSource[index].serviceId),\r\n addOnServiceIDs:\r\n dataSource[index].addOnServices !== null\r\n ? dataSource[index].addOnServices.join(\",\")\r\n : null,\r\n uom: parseInt(dataSource[index].UOM),\r\n nos: 1,\r\n length: dataSource[index].length,\r\n width: dataSource[index].width,\r\n colorIDs:\r\n dataSource[index].color === null ? \"\" : dataSource[index].color,\r\n brandID:\r\n dataSource[index].brand === null\r\n ? 0\r\n : parseInt(dataSource[index].brand),\r\n sizeID:\r\n dataSource[index].size === null\r\n ? 0\r\n : parseInt(dataSource[index].size),\r\n specialInstruction: dataSource[index].notes,\r\n dyeingColors:\r\n dataSource[index].dyingColorsValue !== null\r\n ? dataSource[index].dyingColorsValue.join(\",\")\r\n : \"\",\r\n darningTypeID:\r\n dataSource[index].darningSize !== \"\" &&\r\n dataSource[index].darningSize !== null\r\n ? parseInt(dataSource[index].darningSize)\r\n : 0,\r\n dyeingTypeID:\r\n dataSource[index].dyingColorsUOM !== null &&\r\n dataSource[index].dyingColorsUOM !== \"\"\r\n ? dataSource[index].dyingColorsUOM\r\n : 0,\r\n GarmentImage1:\r\n dataSource[index].images[0] !== null\r\n ? dataSource[index].images[0].originFileObj\r\n : null,\r\n GarmentImage2:\r\n dataSource[index].images[1] !== null\r\n ? dataSource[index].images[1].originFileObj\r\n : null,\r\n GarmentImage3:\r\n dataSource[index].images[2] !== null\r\n ? dataSource[index].images[2].originFileObj\r\n : null,\r\n GarmentDefect:\r\n dataSource[index].garmentDefect !== null && dataSource[index].garmentDefect !== \"\"\r\n ? dataSource[index].garmentDefect\r\n : null,\r\n // unchangedImages: \"\",\r\n };\r\n\r\n // console.log(\"object->\",object);\r\n\r\n vMOrderGarmentReqInfo.push(object);\r\n }\r\n\r\n // Start-Added By Hasti - L17462\r\n var tempPickupID =\r\n parseInt(this.state.customerInfo.pickupRequest) === null || isRewash\r\n ? 0\r\n : parseInt(this.state.customerInfo.pickupRequest);\r\n //End\r\n\r\n // console.log(\"Address->\", this.state.customerInfo.selectedAddress.id);\r\n\r\n let postData = {\r\n orderID: 0,\r\n storeID: this.state.storeID,\r\n // inputOTP:InputOTP,\r\n pickupID:\r\n parseInt(this.state.customerInfo.pickupRequest) === null || isRewash\r\n ? 0\r\n : parseInt(this.state.customerInfo.pickupRequest),\r\n customerID: parseInt(this.state.customerInfo.id),\r\n // customerAddressID: parseInt(this.state.customerInfo.selectedAddress.id),\r\n customerAddressID:\r\n (tempPickupID != null && tempPickupID != 0) || this.state.isOnDemand\r\n ? parseInt(this.state.customerInfo.selectedAddress.id)\r\n : this.state.customerInfo.selectedAddress.id != null &&\r\n this.state.customerInfo.selectedAddress.id != 0 &&\r\n this.state.customerInfo.selectedAddress.id != \"\"\r\n ? parseInt(this.state.customerInfo.selectedAddress.id)\r\n : 0,\r\n orderDate: isRewash? moment().format(\"YYYY-MM-DD\") : this.state.orderDate.format(\"YYYY-MM-DD\"),\r\n orderType: isRewash ? 2 : this.state.orderType,\r\n promocode: isRewash\r\n ? null\r\n : shouldValidateBefore || isPromocode\r\n ? this.state.promocode\r\n : this.state.isPromocodeValid\r\n ? this.state.promocode\r\n : null,\r\n orderStatus: 2, // Added by HT\r\n // orderStatus: 1,\r\n deliveryType: this.state.customerInfo.serviceType.id,\r\n noOfGarment: dataSource.length,\r\n orderUOM: 0,\r\n operationInstruction:\r\n this.state.opeartionInstruction !== undefined\r\n ? this.state.opeartionInstruction.join(\",\")\r\n : \"\",\r\n logisticInstruction: this.state.logisticInstruction,\r\n deliveryDate: finalDeliveryDate.format(\"YYYY-MM-DD\"),\r\n orderRemark: this.state.orderRemarks,\r\n isOnDemandDelivery: this.state.isOnDemand,\r\n deletedOrderGarmentIDs: \"\",\r\n sourceFrom: 1,\r\n rewashOrderID: isRewash ? this.state.orderID : this.state.rewashOrderID,\r\n rewashRequestedBy: this.state.rewashRequestedBy,\r\n rewashReason: this.state.rewashReason,\r\n vMSplitOrderReqInfo: vMSplitOrderReqInfo,\r\n vMOrderGarmentReqInfo: vMOrderGarmentReqInfo,\r\n };\r\n\r\n let postFormData = new FormData();\r\n for (let key in postData) {\r\n if (key !== \"vMSplitOrderReqInfo\" && key !== \"vMOrderGarmentReqInfo\") {\r\n postFormData.append(\r\n key,\r\n postData[key] !== null && postData[key] !== undefined\r\n ? postData[key]\r\n : \"\"\r\n );\r\n } else {\r\n for (let index in postData[key]) {\r\n for (let nestedKey in postData[key][index]) {\r\n postFormData.append(\r\n key + \"[\" + index + \"].\" + nestedKey,\r\n postData[key][index][nestedKey] !== undefined &&\r\n postData[key][index][nestedKey] !== null\r\n ? postData[key][index][nestedKey]\r\n : \"\"\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (isPromocode === false || isRewash) {\r\n if (\r\n shouldValidateBefore === false ||\r\n [null, undefined, \"\"].includes(this.state.promocode) ||\r\n isRewash\r\n ) {\r\n this.createOrderService.createOrder(postFormData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.ORDER_SUCCESSFULLY_CREATED,\r\n duration: 1.5,\r\n\r\n onClose: () => {\r\n this.props.history.push(\r\n [ROUTES.UPDATE_ORDER, parseInt(response.data.orderID)].join(\r\n \"/\"\r\n )\r\n );\r\n this.getOrderByID(response.data.orderID);\r\n // getPDFEstimatedOrder(response.data.orderID); // added by HT\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_CREATE_THE_ORDER,\r\n duration: 1.5,\r\n });\r\n this.setState({ spinning: false });\r\n }\r\n });\r\n } else {\r\n this.validatePromocode(\r\n postData,\r\n postFormData,\r\n () =>\r\n this.createOrder(\r\n dataSource,\r\n finalDeliveryDate,\r\n isPromocode,\r\n isRewash,\r\n false\r\n ),\r\n true\r\n );\r\n }\r\n } else if (isPromocode === true) {\r\n //added by PB for solving out Q161707 issue\r\n if (![null, undefined, \"\"].includes(this.state.promocode)) {\r\n this.validatePromocode(postData, postFormData);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.PLEASE_ENTER_THE_PROMOCODE,\r\n duration: 1.5,\r\n });\r\n }\r\n this.setState({ spinning: false });\r\n }\r\n };\r\n validatePromocode = (\r\n postData,\r\n postFormData,\r\n callback = () => null,\r\n fwdRequest = false\r\n ) => {\r\n this.createOrderService.validatePromocode(postFormData).then((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data.isValid === true) {\r\n this.setState(\r\n {\r\n promocode: postData.promocode,\r\n discount: response.data.discountAmount,\r\n isPromocodeValid: true,\r\n },\r\n () => callback()\r\n );\r\n if (!fwdRequest) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: labels.PROMOCODE_APPLIED_SUCCESSFULLY,\r\n duration: 1.5,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n promocode: \"\",\r\n discount: 0,\r\n isPromocodeValid: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.PROMOCODE_IS_INVALID,\r\n duration: 1.5,\r\n });\r\n }\r\n } else {\r\n this.setState({ promocode: \"\", discount: 0, isPromocodeValid: false });\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_VALIDATE_PROMOCODE,\r\n duration: 1.5,\r\n });\r\n }\r\n });\r\n };\r\n recalculateRates = () => {};\r\n calculateTotal = () => {\r\n let total = 0;\r\n for (let service in this.state.order) {\r\n for (let garment in this.state.order[service]) {\r\n total = total + this.state.order[service][garment];\r\n }\r\n }\r\n return total;\r\n };\r\n updateOrderArray = (updatedArray, serviceId, garmentId) => {\r\n if (\r\n ![undefined, null, \"\"].includes(serviceId) &&\r\n ![undefined, null, \"\"].includes(garmentId)\r\n ) {\r\n let neworder = this.state.order;\r\n neworder[serviceId][garmentId] =\r\n parseInt(neworder[serviceId][garmentId]) - 1;\r\n this.setState({ order: neworder });\r\n }\r\n this.setState({ orderArray: updatedArray });\r\n };\r\n updateOrderAPI = (\r\n dataSource,\r\n finalDeliveryDate,\r\n shouldConfirm = false,\r\n isPromocode = false,\r\n shouldValidateBefore = true\r\n // inputOTP\r\n ) => {\r\n // console.log(\"updateorder\");\r\n // this.setState({ dataSource: dataSource });\r\n let vMSplitOrderReqInfo = [];\r\n for (let service in this.state.order) {\r\n let filteredGarmentObj = dataSource.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n )[0];\r\n if (filteredGarmentObj !== undefined) {\r\n let object = {\r\n splitOrderID: filteredGarmentObj.splitOrderID,\r\n garmentID: 0,\r\n serviceID: parseInt(service),\r\n };\r\n let filteredData = dataSource.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n );\r\n let addOnServiceIDs = [];\r\n let deliveryDate;\r\n // let deliveryDate = moment();commented by pb\r\n for (let singleRecord in filteredData) {\r\n if (filteredData[singleRecord].addOnServices.length > 0) {\r\n deliveryDate = moment();\r\n addOnServiceIDs = [\r\n ...addOnServiceIDs,\r\n ...filteredData[singleRecord].addOnServices,\r\n ];\r\n if (deliveryDate.isBefore(singleRecord.deliveryDate)) {\r\n deliveryDate = filteredData[singleRecord].deliveryDate;\r\n }\r\n }\r\n deliveryDate = filteredData[singleRecord].deliveryDate; // added by pb\r\n }\r\n addOnServiceIDs = addOnServiceIDs\r\n .filter((value, index, self) => self.indexOf(value) === index)\r\n .join(\",\");\r\n object.addOnServiceIDs = addOnServiceIDs;\r\n object.deliveryDate = deliveryDate.format(\"YYYY-MM-DD\");\r\n\r\n object.uom = this.state.garmentList.filter(\r\n (x) => parseInt(x.serviceId) === parseInt(service)\r\n )[0].UOM;\r\n object.noOfGarment = filteredData.length;\r\n object.weight =\r\n this.state.order[service] !== undefined\r\n ? this.state.order[service][-1] !== undefined\r\n ? this.state.order[service][-1]\r\n : 0\r\n : 0;\r\n\r\n vMSplitOrderReqInfo.push(object);\r\n }\r\n }\r\n let vMOrderGarmentReqInfo = [];\r\n for (let index in dataSource) {\r\n let unchangedImages = dataSource[index].images\r\n .filter((x) => x !== null)\r\n .filter((x) => x.url !== undefined)\r\n .map((x, index) => x.url.split(\"/\")[x.url.split(\"/\").length - 1])\r\n .join(\",\");\r\n let object = {\r\n orderGarmentID: dataSource[index].orderGarmentID,\r\n garmentID: parseInt(dataSource[index].garmentId),\r\n serviceID: parseInt(dataSource[index].serviceId),\r\n addOnServiceIDs:\r\n dataSource[index].addOnServices !== null\r\n ? dataSource[index].addOnServices.join(\",\")\r\n : null,\r\n uom: parseInt(dataSource[index].UOM),\r\n nos: 1,\r\n length: dataSource[index].length,\r\n width: dataSource[index].width,\r\n colorIDs: dataSource[index].color,\r\n brandID:\r\n dataSource[index].brand === null\r\n ? 0\r\n : parseInt(dataSource[index].brand),\r\n sizeID:\r\n dataSource[index].size === null\r\n ? 0\r\n : parseInt(dataSource[index].size),\r\n specialInstruction: dataSource[index].notes,\r\n dyeingColors:\r\n dataSource[index].dyingColorsValue !== null\r\n ? dataSource[index].dyingColorsValue.join(\",\")\r\n : \"\",\r\n darningTypeID:\r\n dataSource[index].darningSize !== \"\" &&\r\n dataSource[index].darningSize !== null\r\n ? parseInt(dataSource[index].darningSize)\r\n : 0,\r\n dyeingTypeID:\r\n dataSource[index].dyingColorsUOM === \"\" ||\r\n dataSource[index].dyingColorsUOM === null\r\n ? 0\r\n : dataSource[index].dyingColorsUOM,\r\n GarmentImage1:\r\n dataSource[index].images[0] !== null\r\n ? dataSource[index].images[0].url !== undefined\r\n ? dataSource[index].images[0].url\r\n : dataSource[index].images[0].originFileObj\r\n : null,\r\n GarmentImage2:\r\n dataSource[index].images[1] !== null\r\n ? dataSource[index].images[1].url !== undefined\r\n ? dataSource[index].images[1].url\r\n : dataSource[index].images[1].originFileObj\r\n : null,\r\n GarmentImage3:\r\n dataSource[index].images[2] !== null\r\n ? dataSource[index].images[2].url !== undefined\r\n ? dataSource[index].images[2].url\r\n : dataSource[index].images[2].originFileObj\r\n : null,\r\n GarmentDefect:\r\n dataSource[index].garmentDefect !== null\r\n ? dataSource[index].garmentDefect.join(\",\")\r\n : null,\r\n unchangedImages: unchangedImages,\r\n };\r\n vMOrderGarmentReqInfo.push(object);\r\n }\r\n let postData = {\r\n orderID: this.state.orderID,\r\n // inputOTP:inputOTP,\r\n storeID: this.state.storeID,\r\n pickupID: this.state.customerInfo.pickupRequest,\r\n customerID: parseInt(this.state.customerInfo.id),\r\n customerAddressID: parseInt(this.state.customerInfo.selectedAddress.id),\r\n orderDate: moment(this.state.orderDate).format(\"YYYY-MM-DD\"),\r\n orderType: this.state.orderType,\r\n promocode:\r\n shouldValidateBefore || isPromocode\r\n ? this.state.promocode\r\n : this.state.isPromocodeValid\r\n ? this.state.promocode\r\n : null,\r\n orderStatus: shouldConfirm ? 2 : 1,\r\n deliveryType: this.state.customerInfo.serviceType.id,\r\n noOfGarment: dataSource.length,\r\n orderUOM: 0,\r\n operationInstruction: this.state.opeartionInstruction.join(\",\"),\r\n logisticInstruction: this.state.logisticInstruction,\r\n deliveryDate: finalDeliveryDate.format(\"YYYY-MM-DD\"),\r\n orderRemark: this.state.orderRemarks,\r\n isOnDemandDelivery: this.state.isOnDemand,\r\n deletedOrderGarmentIDs: this.state.deletedGarmentIDs.join(\",\"),\r\n sourceFrom: 1,\r\n rewashOrderID: this.state.rewashOrderID,\r\n rewashRequestedBy: this.state.rewashRequestedBy,\r\n rewashReason: this.state.rewashReason,\r\n vMSplitOrderReqInfo: vMSplitOrderReqInfo,\r\n vMOrderGarmentReqInfo: vMOrderGarmentReqInfo,\r\n };\r\n\r\n\r\n let postFormData = new FormData();\r\n for (let key in postData) {\r\n if (key !== \"vMSplitOrderReqInfo\" && key !== \"vMOrderGarmentReqInfo\") {\r\n postFormData.append(\r\n key,\r\n postData[key] !== null && postData[key] !== undefined\r\n ? postData[key]\r\n : \"\"\r\n );\r\n } else {\r\n for (let index in postData[key]) {\r\n for (let nestedKey in postData[key][index]) {\r\n postFormData.append(\r\n key + \"[\" + index + \"].\" + nestedKey,\r\n postData[key][index][nestedKey] !== undefined &&\r\n postData[key][index][nestedKey] !== null\r\n ? postData[key][index][nestedKey]\r\n : \"\"\r\n );\r\n }\r\n }\r\n }\r\n }\r\n if (isPromocode === false) {\r\n if (\r\n shouldValidateBefore === false ||\r\n [null, undefined, \"\"].includes(this.state.promocode)\r\n ) {\r\n //added by pb L15565 : Add Loader while confirming order\r\n if (shouldConfirm == true) {\r\n this.setState({ spinning: true });\r\n }\r\n //ended\r\n this.createOrderService.updateOrder(postFormData).then((response) => {\r\n if (response.statusCode === 200) {\r\n // notification[\"success\"]({\r\n // message: labels.ORDERS,\r\n // description: response.message\r\n // ? this.common.Message(response.message)\r\n // : labels.ORDER_SUCCESSFULLY_UPDATED,\r\n // duration: 1.5,\r\n // });\r\n if (shouldConfirm === true) {\r\n //added by pb L15565 : Add Loader while confirming order\r\n this.setState({ spinning: false });\r\n //ended\r\n this.getOrderByID(this.props.match.params.orderID);\r\n // getPDFEstimatedOrder(this.props.match.params.orderID); //comment by Hasti\r\n } else {\r\n window.location.reload();\r\n }\r\n //window.location.reload();\r\n // this.getOrderByID(this.props.match.params.orderID);\r\n // this.forceUpdate();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPDATE_THE_ORDER,\r\n duration: 1.5,\r\n });\r\n this.setState({ spinning: false });\r\n }\r\n });\r\n } else {\r\n this.validatePromocode(\r\n postData,\r\n postFormData,\r\n () =>\r\n this.updateOrderAPI(\r\n dataSource,\r\n finalDeliveryDate,\r\n shouldConfirm,\r\n isPromocode,\r\n false\r\n ),\r\n true\r\n );\r\n }\r\n } else if (isPromocode === true) {\r\n //added by PB for solving out Q161707 issue\r\n if (![null, undefined, \"\"].includes(this.state.promocode)) {\r\n this.validatePromocode(postData, postFormData);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.PLEASE_ENTER_THE_PROMOCODE,\r\n duration: 1.5,\r\n });\r\n }\r\n this.setState({ spinning: false });\r\n }\r\n };\r\n cancelOrder = (values) => {\r\n this.setState({ cancelPopupLoading: true });\r\n this.createOrderService\r\n .cancelOrder(this.state.orderID, values.reason)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.ORDER_SUCCESSFULLY_CANCELLED,\r\n duration: 1.5,\r\n });\r\n this.getOrderByID(this.props.match.params.orderID);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_CANCEL_ORDER,\r\n duration: 1.5,\r\n });\r\n }\r\n this.setState({ cancelPopupLoading: false, showCancelPopup: false });\r\n });\r\n //cancelOrder\r\n };\r\n\r\n printTagRef = React.createRef();\r\n printRewashTagRef = React.createRef();\r\n render() {\r\n return (\r\n \r\n {/* {JSON.stringify(this.state.orderArray)} */}\r\n {parseInt(this.state.storeInfo.status) === 1 ? (\r\n (this.state.storeInfo.onDemandWalkIn.includes(\"1\") &&\r\n this.state.isFromPickup) ||\r\n (this.state.storeInfo.onDemandWalkIn.includes(\"2\") &&\r\n !this.state.isFromPickup) ? (\r\n \r\n \r\n {this.state.customerInfo.id !== \"\" ? (\r\n \r\n {this.state.isReview ? (\r\n {\r\n this.setState({ order: updated });\r\n }}\r\n garmentList={this.state.garmentList}\r\n backFunction={this.goToOrder}\r\n rates={this.state.rates}\r\n getRateForGarment={this.getRateForGarment}\r\n calculateDeliveryDateAdd={this.calculateDeliveryDateAdd}\r\n // cgst={this.state.cgst}\r\n // sgst={this.state.sgst}\r\n // igst={this.state.igst}\r\n packagingCharges={this.state.packagingCharges}\r\n deliveryCharges={this.state.deliveryCharges}\r\n createOrder={this.createOrder}\r\n updateOrderAPI={this.updateOrderAPI}\r\n updateOrderFunc={this.updateOrder}\r\n updateArray={this.updateOrderArray}\r\n updateOrderRemarks={(value) => {\r\n this.setState({ orderRemarks: value });\r\n }}\r\n orderRemarks={this.state.orderRemarks}\r\n updateLogisticInstruction={(value) => {\r\n this.setState({ logisticInstruction: value });\r\n }}\r\n logisticInstruction={this.state.logisticInstruction}\r\n updateOperationInstruction={(value) => {\r\n this.setState({ opeartionInstruction: value });\r\n }}\r\n opeartionInstruction={this.state.opeartionInstruction}\r\n deleteGarments={this.deleteGarments}\r\n cancelOrder={this.showCancelPopup}\r\n generateTags={this.generateTags}\r\n printTags={this.printTags}\r\n rewashprintTags={this.rewashprintTags}\r\n orderSummaryObject={this.state.orderSummaryObject}\r\n isCorporate={this.isCorporate}\r\n promocode={this.state.promocode}\r\n GarmentDeliveryType={this.state.GarmentDeliveryType} //Added by rashmi for L177728 - 22/02/23\r\n updatePromocode={(value) =>\r\n this.setState({ promocode: value })\r\n }\r\n discount={this.state.discount}\r\n rewashRequestedBy={this.state.rewashRequestedBy}\r\n rewashReason={this.state.rewashReason}\r\n updateRewashRequestedBy={(value) =>\r\n this.setState({ rewashRequestedBy: parseInt(value) })\r\n }\r\n updateRewashReason={(value) =>\r\n this.setState({ rewashReason: value.join(\",\") })\r\n }\r\n orderDate={this.state.orderDate}\r\n customerInfo={this.state.customerInfo}\r\n orderID={this.state.orderID}\r\n isOnDemand={this.state.isOnDemand}\r\n changeIsOnDemand={(value) => {\r\n this.setState({ isOnDemand: value });\r\n }}\r\n isFromPickup={this.state.isFromPickup}\r\n setWalletBalance={(cash, credit) => {\r\n this.setState({\r\n customerInfo: {\r\n ...this.state.customerInfo,\r\n walletBalance: cash,\r\n lkCreditAmt: credit,\r\n },\r\n });\r\n }}\r\n view={\r\n this.props.location.state != undefined\r\n ? this.props.location.state.view\r\n : null\r\n }\r\n />\r\n ) : (\r\n \r\n \r\n {/* {this.state.orderArray.length > 0 ? */}\r\n \r\n {/* : null} */}\r\n \r\n \r\n {\r\n this.setState({ orderRemarks: value });\r\n }}\r\n orderRemarks={this.state.orderRemarks}\r\n orderArray={this.state.orderArray}\r\n cancelOrder={this.showCancelPopup}\r\n discount={this.state.discount}\r\n isFromPickup={this.state.isFromPickup}\r\n isOnDemand={this.state.isOnDemand}\r\n customer={this.state.customerInfo}\r\n orderStatus={this.state.orderStatus}\r\n />\r\n \r\n \r\n )}\r\n \r\n ) : null}\r\n this.setState({ showAddPopup: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\r\n \r\n \r\n {/* */}\r\n \r\n \r\n this.setState({ showrewashtag: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\r\n \r\n \r\n \r\n \r\n this.setState({ showCancelPopup: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\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({ showCancelPopup: false })\r\n }\r\n >\r\n {labels.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 {labels.THIS_TYPE_OF_ORDER_CAN_NOT_BE_CREATED_FROM_THIS_STORE}\r\n
\r\n )\r\n ) : (\r\n
\r\n {labels.ORDER_CAN_NOT_BE_CREATED_USING_CLOSED_STORE}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(CreateOrder);\r\n","import React from \"react\";\r\nimport CreateOrderComp from \"../../../../components/StoreModule/Order/CreateOrder/createorder.component\";\r\n\r\n/**\r\n * Create Order Screen\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 5 June 2020\r\n */\r\nexport default class CreateOrder extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React, { createRef } from \"react\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../Common/Button/button\";\r\nimport Filters from \"../../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Checkbox,\r\n DatePicker,\r\n Divider,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faUserEdit,\r\n faList,\r\n faPlusSquare,\r\n faStore,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../../routes\";\r\nimport PickupService from \"../../../../services/pickupservice\";\r\nimport { IsAuthenticated } from \"../../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../../shared/userrightsconfiguration\";\r\nimport TableActions from \"../../../../components/Common/TableActions/tableactions\";\r\nimport { labels } from \"../../../../shared/language\";\r\nimport Common from \"../../../../services/common\";\r\nimport storemarkerimg from \"../../../../images/MapMarker/shoppurple.svg\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nvar ReAssign_Store_By_Admin = [];\r\n\r\n/**\r\n * A pickup screen which holds grid view for pickuplist and form with steps\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 13 July 2020\r\n */\r\nclass Master extends React.Component {\r\n pickupService = new PickupService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n tempcolumns =[\r\n {\r\n title: labels.PICKUP_ID,\r\n dataIndex: \"pickupID\",\r\n key: \"pickupID\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.REQUEST_CREATED_DATE,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n cancelhide:true,\r\n cancelledhide:true\r\n },\r\n\r\n {\r\n title: labels.PLATFORM,\r\n dataIndex: \"platform\",\r\n key: \"platform\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ORDER_COUNT,\r\n dataIndex: \"orderCount\",\r\n key: \"orderCount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER_NAME,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUST_MO_No,\r\n dataIndex: \"custMobileNo\",\r\n key: \"custMobileNo\",\r\n sorter: true,\r\n cancelhide:true,\r\n cancelledhide:true\r\n },\r\n {\r\n title: labels.PICKUP_DATE,\r\n dataIndex: \"pickupDate\",\r\n key: \"pickupDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.PICKUP_TIMESLOT,\r\n dataIndex: \"pickupSlotName\",\r\n key: \"pickupSlotName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STATUS,\r\n dataIndex: \"statusName\",\r\n key: \"statusName\",\r\n sorter: true,\r\n cancelhide:true,\r\n cancelledhide:true\r\n },\r\n {\r\n title: \"Services\",\r\n dataIndex: \"serviceNames\",\r\n key: \"serviceNames\",\r\n sorter: true,\r\n cancelhide:true,\r\n cancelledhide:true\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryTypeName\",\r\n key: \"deliveryTypeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PROMOCODE,\r\n dataIndex: \"promocode\",\r\n key: \"promocode\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: \"Delivery TimeSlot\",\r\n // dataIndex: \"deliverySlotName\",\r\n // key: \"deliverySlotName\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: labels.PICK_BOY,\r\n dataIndex: \"assignedToUserName\",\r\n key: \"assignedToUserName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER_REMARK,\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n cancelhide:true\r\n },\r\n {\r\n title: labels.CANCEL_REQUESTED_BY,\r\n dataIndex: \"cancelRequestedByName\",\r\n key: \"cancelRequestedByName\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return text != 0 ? (\r\n \r\n {text}\r\n \r\n ) : \r\n Customer\r\n ;\r\n },\r\n },\r\n {\r\n title: labels.CANCEL_REQUESTED_REASON,\r\n dataIndex: \"cancelRequestedReason\",\r\n key: \"cancelRequestedReason\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CANCELLED_REASON,\r\n dataIndex: \"canceledReason\",\r\n key: \"canceledReason\",\r\n sorter: true,\r\n cancelhide:true\r\n },\r\n\r\n {\r\n title: labels.CANCELLED_BY,\r\n dataIndex: \"canceledByName\",\r\n key: \"canceledByName\",\r\n sorter: true,\r\n cancelhide:true\r\n },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {/* {console.log(\"record->\", record)} */}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {record.storeID.toString() === localStorage.getItem(\"branchID\") ? (\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n record.status === 1 ||\r\n record.status === 2 ||\r\n record.status === 3 ||\r\n record.status === 8 ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null\r\n ) : null\r\n ) : null}\r\n\r\n {record.storeID.toString() === localStorage.getItem(\"branchID\") ? (\r\n record.status === 1 || record.status === 2 ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null\r\n ) : null}\r\n\r\n {record.storeID.toString() === localStorage.getItem(\"branchID\") ? (\r\n record.status === 2 || record.status === 1 ? ( //added condition on 23/09/2020\r\n \r\n this.setState({\r\n isModalVisible: true,\r\n pickupId: record.pickupID,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ) : null\r\n ) : null}\r\n {/* {console.log(\"record->\", record)} */}\r\n {record.storeID.toString() === localStorage.getItem(\"branchID\") ? (\r\n record.status === 4 || record.status === 3 ? (\r\n \r\n this.props.history.push({\r\n pathname: [ROUTES.ADD_PICKUP, record.customerID].join(\"/\"),\r\n state: {\r\n customerID: record.customerID,\r\n },\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ) : null\r\n ) : null}\r\n {/* {console.log(\"record->\",record)} */}\r\n {record.storeID.toString() === localStorage.getItem(\"branchID\") &&\r\n ReAssign_Store_By_Admin.length > 0 ? (\r\n \r\n this.setState({\r\n UpdateStoreIDModalVisible: true,\r\n SelectedPickupID: record.pickupID,\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 * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n showfilterBox: true,\r\n pickupFromDate: moment(ONE_MONTHS_AGO),\r\n pickupToDate: moment(),\r\n pickupId: 0,\r\n pickUps: [],\r\n tableLoading: true,\r\n userListOptions: [],\r\n isReassignBtnVisible: false,\r\n isModalVisible: false,\r\n UpdateStoreIDModalVisible: false,\r\n userID: \"\",\r\n userName: [],\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n status: null,\r\n pickuplist: [],\r\n pickupStatus: {\r\n disabled: true,\r\n data: [],\r\n },\r\n selectedPickupStatus: \"1,2\",\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n\r\n UniquetimeSlot: [],\r\n SelectedTimeSlot: \"\",\r\n TodayPickupList: [],\r\n ShowMapView: false,\r\n SelectedPickupData: {},\r\n TodaySlotList: [],\r\n MarkerList: [],\r\n SelectedStoreID: 0,\r\n SelectedPickupID: 0,\r\n CancelHide:false,\r\n columns : this.tempcolumns\r\n \r\n };\r\n\r\n mapHolder = React.createRef();\r\n\r\n componentWillMount() {\r\n \r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.PICKUP\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n \r\n \r\n\r\n componentDidMount() {\r\n \r\n const { pagination } = this.state;\r\n this.getPickupList({\r\n storeID: this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n // ...filters,\r\n });\r\n this.getUserList();\r\n this.getPickupStatus();\r\n this.getSlotByStoreIDS(this.state.selectedBranch);\r\n }\r\n\r\n updatePickupStoreID = () => {\r\n let postData = {\r\n pickupID: this.state.SelectedPickupID,\r\n storeID: parseInt(this.state.SelectedStoreID),\r\n };\r\n // console.log(\"postData->\",postData);\r\n this.pickupService.updatePickupStoreID(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: labels.STOREID_UPDATED_SUCCESSFULLY,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: labels.UNABLE_TO_UPDATE_STOREID,\r\n });\r\n }\r\n this.setState({ UpdateStoreIDModalVisible: false });\r\n const { pagination } = this.state;\r\n this.getPickupList({\r\n storeID: this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n // ...filters,\r\n });\r\n });\r\n };\r\n\r\n getPickupStatus = () => {\r\n this.pickupService.getPickupStatusList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n pickupStatus: {\r\n ...this.state.pickupStatus,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS,\r\n });\r\n }\r\n });\r\n };\r\n getPickupList = (params = {}) => {\r\n this.setState({ tableLoading: true });\r\n this.pickupService.getPickup(params).then((pickupData) => {\r\n if (pickupData.statusCode === 200) {\r\n if (\r\n pickupData.length !== 0 &&\r\n pickupData.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.getPickupList({\r\n storeID: this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n // ...filters,\r\n });\r\n }\r\n this.setState({\r\n pickUps: pickupData.data,\r\n status: pickupData.data.status,\r\n });\r\n // console.log(\"data->\", pickupData.data);\r\n // var temp = pickupData.data.filter(\r\n // (item) => item.status == 1 || item.status == 2\r\n // );\r\n // console.log(\"temp->\",temp);\r\n this.setState({\r\n pickuplist: pickupData.data,\r\n });\r\n\r\n this.setState({\r\n pagination: {\r\n ...params.pagination,\r\n total: pickupData.data.length ? pickupData.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: pickupData.message\r\n ? this.common.Message(pickupData.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_PICKUP_DATA,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n //function for getting the data from server call into dropdown list\r\n getUserList = () => {\r\n var storeid = parseInt(localStorage.getItem(\"branchID\"));\r\n this.pickupService.getUserListBasedOnStore(storeid).then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ userListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_USER_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.getPickupList({\r\n storeID: [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? localStorage.getItem(\"branchID\").toString()\r\n : this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? null\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n // ...filters,\r\n });\r\n };\r\n\r\n handleSearch = (event) => {\r\n this.getPickupList({\r\n storeID: [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? localStorage.getItem(\"branchID\").toString()\r\n : this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n // ...filters,\r\n });\r\n };\r\n\r\n RestoreDDlValue = (e) => {\r\n var userArray = this.state.userListOptions.filter((x) => x.value === e);\r\n // let c = cityArray[0].text;\r\n if (userArray !== undefined) {\r\n this.setState({\r\n userID: userArray[0].value,\r\n userName: userArray[0].text,\r\n });\r\n }\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ isModalVisible: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ isModalVisible: false });\r\n this.resetFields();\r\n };\r\n\r\n handleUpdateStoreIDPopupOk = () => {\r\n this.setState({ UpdateStoreIDModalVisible: false });\r\n };\r\n handleUpdateStoreIDPopupCancel = () => {\r\n this.setState({ UpdateStoreIDModalVisible: false });\r\n // this.resetFields();\r\n };\r\n\r\n // handleStatusWiseData = (Case) => {\r\n // //console.log(\"Case->\",Case , typeof Case);\r\n // const pickupListItem = this.state.pickUps;\r\n // var TempList = [];\r\n\r\n // TempList = [];\r\n // if (Case == 1) {\r\n // //show all assigned & scheduled pickups\r\n // // TempList = pickupListItem.filter(\r\n // // (item) => item.status == 1 || item.status == 2\r\n // // );\r\n // this.getPickupList({\r\n // storeID: this.state.selectedBranch,\r\n // pickupStatusID: this.state.selectedPickupStatus,\r\n // pageIndex: pagination.current,\r\n // pageSize: pagination.pageSize,\r\n // pagination,\r\n // PickupFromDate: this.state.pickupFromDate,\r\n // PickupToDate: this.state.pickupToDate,\r\n // // ...filters,\r\n // });\r\n // } else if (Case == 2) {\r\n // //show all reschedule requested pickup\r\n // TempList = pickupListItem.filter((item) => item.status == 8);\r\n // } else if (Case == 3) {\r\n // //show all cancel requested pickup\r\n // TempList = pickupListItem.filter((item) => item.status == 3);\r\n // } else if (Case == 4) {\r\n // //show all cancelled pickup\r\n // TempList = pickupListItem.filter((item) => item.status == 4);\r\n // }\r\n // console.log(\"TempList->\", TempList);\r\n\r\n // this.setState({\r\n // pickuplist: TempList,\r\n // });\r\n // };\r\n\r\n handleStatusWiseData = () => {\r\n this.setState(\r\n {\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n },\r\n () =>\r\n this.getPickupList({\r\n storeID: this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: 1,\r\n pageSize: 10,\r\n // pageIndex: pagination.current,\r\n // pageSize: pagination.pageSize,\r\n pagination: this.state.pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n // ...filters,\r\n })\r\n );\r\n\r\n // const { pagination } = this.state;\r\n // this.getPickupList({\r\n // storeID: this.state.selectedBranch,\r\n // pickupStatusID: this.state.selectedPickupStatus,\r\n // pageIndex: 1,\r\n // pageSize: 10,\r\n // // pageIndex: pagination.current,\r\n // // pageSize: pagination.pageSize,\r\n // pagination,\r\n // PickupFromDate: this.state.pickupFromDate,\r\n // PickupToDate: this.state.pickupToDate,\r\n // // ...filters,\r\n // });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n isModalVisible: false,\r\n });\r\n };\r\n\r\n handlePopupReassign = () => {\r\n var postData = {\r\n pickupID: parseInt(this.state.pickupId),\r\n assignedToUserID: parseInt(this.state.userID),\r\n sourceFrom: 1,\r\n };\r\n\r\n this.pickupService.getReassignPickups(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: this.common.Message(items.message),\r\n });\r\n this.setState({ items: items, isModalVisible: false });\r\n const { pagination } = this.state;\r\n this.getPickupList({\r\n storeID: localStorage.getItem(\"branchID\").toString(),\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_REASSIGN_THE_PICKUP,\r\n });\r\n }\r\n });\r\n };\r\n // handleSelect = (event1) => {\r\n //\r\n // let event = parseInt(event1.slice(1));\r\n // let type = event1.charAt(0);\r\n // const branchTypes = ![undefined, null, \"\"].includes(\r\n // localStorage.getItem(\"BranchInfo\")\r\n // )\r\n // ? JSON.parse(localStorage.getItem(\"BranchInfo\"))\r\n // : [];\r\n // var branchArray = branchTypes.filter(\r\n // (x) =>\r\n // x.branchID === event &&\r\n // ((x.branchType === \"Store\" && type === \"s\") ||\r\n // (x.branchType === \"Factory\" && type === \"f\"))\r\n // );\r\n //\r\n // if (branchArray !== undefined) {\r\n // this.setState({\r\n // selectedBranch: branchArray[0].branchID,\r\n // selectedBranchName: branchArray[0].branchName,\r\n // selectedBranchType: branchArray[0].branchType,\r\n // });\r\n // }\r\n // };\r\n handleChangeBranch = () => {\r\n const { pagination } = this.state;\r\n this.getPickupList({\r\n storeID: [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n });\r\n this.getSlotByStoreIDS(this.state.selectedBranch);\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n getSlotByStoreIDS = (IDS) => {\r\n // console.log(\"IDS->\",IDS);\r\n this.pickupService.getSlotListByStoreIDS(IDS).then((response) => {\r\n if (response.statusCode === 200) {\r\n // console.log(\"response->\", response);\r\n this.setState({\r\n UniquetimeSlot: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_TIMESLOT,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getTodayPickuplist = () => {\r\n let params = {\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n sourceFrom: 1,\r\n userID: 0,\r\n };\r\n this.pickupService.GetTodayPickipList(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n // console.log(\"response->\", response);\r\n this.setState({\r\n TodayPickupList: response.data.pickupListRes,\r\n TodaySlotList: response.data.slotList,\r\n ShowMapView: true,\r\n });\r\n if (\r\n response.data.pickupListRes != undefined &&\r\n response.data.pickupListRes.length > 0\r\n ) {\r\n this.initMap();\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_PICKUP_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n // showstoremarker = () => {\r\n // var map;\r\n // var bounds = new window.google.maps.LatLngBounds();\r\n // var mapOptions = {\r\n // mapTypeId: \"roadmap\",\r\n // };\r\n\r\n // const icon = {\r\n // url: storemarkerimg,\r\n // size: new window.google.maps.Size(50, 50),\r\n // origin: new window.google.maps.Point(0, 0),\r\n // anchor: new window.google.maps.Point(17, 34),\r\n // };\r\n\r\n // map = new window.google.maps.Map(\r\n // document.getElementById(\"map\"),\r\n // mapOptions\r\n // );\r\n // map.setTilt(50);\r\n\r\n // var infoWindow = new window.google.maps.InfoWindow(),\r\n // storemarker,\r\n // i;\r\n\r\n // //for Store Marker -- Start\r\n // let Storemarkers = this.state.TodayPickupList;\r\n // var Storeposition = new window.google.maps.LatLng(\r\n // Storemarkers[0].storeLat,\r\n // Storemarkers[0].storeLong\r\n // );\r\n\r\n // bounds.extend(Storeposition);\r\n // storemarker = new window.google.maps.Marker({\r\n // position: Storeposition,\r\n // map: map,\r\n // icon,\r\n // title: Storemarkers[0].storeAddress,\r\n // });\r\n\r\n // window.google.maps.event.addListener(\r\n // storemarker,\r\n // \"click\",\r\n // (function (storemarker, i) {\r\n // return function () {\r\n // infoWindow.setContent(Storemarkers[0].storeAddress);\r\n // infoWindow.open(map, storemarker);\r\n // };\r\n // })(storemarker, i)\r\n // );\r\n // map.fitBounds(bounds);\r\n // // Set zoom level\r\n // var boundsListener = window.google.maps.event.addListener(\r\n // map,\r\n // \"bounds_changed\",\r\n // function (event) {\r\n // this.setZoom(14);\r\n // window.google.maps.event.removeListener(boundsListener);\r\n // }\r\n // );\r\n // };\r\n\r\n initMap = (CheckboxValueType) => {\r\n // console.log(\"CheckboxValueType->\", CheckboxValueType);\r\n var map;\r\n var bounds = new window.google.maps.LatLngBounds();\r\n var mapOptions = {\r\n mapTypeId: \"roadmap\",\r\n };\r\n\r\n this.setState({\r\n SelectedPickupData: {},\r\n });\r\n\r\n const icon = {\r\n url: storemarkerimg,\r\n size: new window.google.maps.Size(50, 50),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(17, 34),\r\n };\r\n // Display a map on the web page\r\n map = new window.google.maps.Map(\r\n document.getElementById(\"map\"),\r\n mapOptions\r\n );\r\n map.setTilt(50);\r\n\r\n //for pickup marker\r\n if (CheckboxValueType != undefined || CheckboxValueType != null) {\r\n let selectedmarker = CheckboxValueType.map((slot) => {\r\n return this.state.TodayPickupList.filter((item) => item.slotID == slot);\r\n });\r\n\r\n // console.log(\"selectedmarker->\", selectedmarker);\r\n // Add multiple markers to map\r\n var infoWindow = new window.google.maps.InfoWindow(),\r\n marker,\r\n i;\r\n\r\n // Place pickup marker on the map\r\n\r\n selectedmarker.map((markers, index) => {\r\n // console.log(\"markers->\", markers);\r\n\r\n for (i = 0; i < markers.length; i++) {\r\n var position = new window.google.maps.LatLng(\r\n markers[i].latitude,\r\n markers[i].longitude\r\n );\r\n // map.setCenter(position);\r\n // bounds.extend(position);\r\n\r\n marker = new window.google.maps.Marker({\r\n position: position,\r\n map: map,\r\n title: markers[i].location,\r\n label: {\r\n text: `${markers[i].pickupID}`,\r\n color: this.state.TodaySlotList.filter((e) => {\r\n return e.slotID == markers[i].slotID;\r\n })[0].colorName,\r\n // fontSize: \"20px\",\r\n // fontWeight: \"bold\"\r\n },\r\n icon: {\r\n path: \"M-1.547 12l6.563-6.609-1.406-1.406-5.156 5.203-2.063-2.109-1.406 1.406zM0 0q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z\",\r\n fillColor: this.state.TodaySlotList.filter((e) => {\r\n return e.slotID == markers[i].slotID;\r\n })[0].colorName,\r\n fillOpacity: 1,\r\n strokeWeight: 1,\r\n // rotation: 0,\r\n scale: 1.2,\r\n anchor: new window.google.maps.Point(0, 20),\r\n labelOrigin: new window.google.maps.Point(0, 30),\r\n },\r\n });\r\n\r\n // this.setState({\r\n // MarkerList: marker,\r\n // });\r\n\r\n // Add info window to marker\r\n var self = this;\r\n window.google.maps.event.addListener(\r\n marker,\r\n \"click\",\r\n (function (marker, i) {\r\n var tempobj = {\r\n pickupID: markers[i].pickupID,\r\n customerName: markers[i].customerName,\r\n mobileNo: markers[i].mobileNo,\r\n address: markers[i].location,\r\n };\r\n\r\n return function () {\r\n self.setState({\r\n SelectedPickupData: tempobj,\r\n });\r\n infoWindow.setContent(markers[i].location);\r\n infoWindow.open(map, marker);\r\n navigator.geolocation.getCurrentPosition(function (position) {\r\n window.open(\r\n \"https://www.google.com/maps/dir/?api=1&origin=\" +\r\n position.coords.latitude +\r\n \",\" +\r\n position.coords.longitude +\r\n \"&destination=\" +\r\n markers[i].latitude +\r\n \",\" +\r\n markers[i].longitude,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n });\r\n };\r\n })(marker, i)\r\n );\r\n\r\n // Center the map to fit all markers on the screen\r\n map.fitBounds(bounds);\r\n }\r\n });\r\n }\r\n\r\n //for Store Marker -- Start\r\n var infoWindow = new window.google.maps.InfoWindow(),\r\n storemarker,\r\n i;\r\n\r\n let Storemarkers = this.state.TodayPickupList;\r\n var Storeposition = new window.google.maps.LatLng(\r\n Storemarkers[0].storeLat,\r\n Storemarkers[0].storeLong\r\n );\r\n\r\n map.setCenter(Storeposition);\r\n bounds.extend(Storeposition);\r\n storemarker = new window.google.maps.Marker({\r\n position: Storeposition,\r\n map: map,\r\n icon,\r\n title: Storemarkers[0].storeAddress,\r\n });\r\n\r\n window.google.maps.event.addListener(\r\n storemarker,\r\n \"click\",\r\n (function (storemarker, i) {\r\n return function () {\r\n infoWindow.setContent(Storemarkers[0].storeAddress);\r\n infoWindow.open(map, storemarker);\r\n };\r\n })(storemarker, i)\r\n );\r\n\r\n map.fitBounds(bounds);\r\n // End for Store\r\n\r\n // Set zoom level\r\n var boundsListener = window.google.maps.event.addListener(\r\n map,\r\n \"bounds_changed\",\r\n function (event) {\r\n this.setZoom(13);\r\n window.google.maps.event.removeListener(boundsListener);\r\n }\r\n );\r\n };\r\n\r\n // showme = function (index) {\r\n // if (\r\n // this.state.MarkerList[index].getAnimation() !=\r\n // window.google.maps.Animation.BOUNCE\r\n // ) {\r\n // this.state.MarkerList[index].setAnimation(\r\n // window.google.maps.Animation.BOUNCE\r\n // );\r\n // } else {\r\n // this.state.MarkerList[index].setAnimation(null);\r\n // }\r\n // };\r\n\r\n render() {\r\n const { pagination, tableLoading, userName, isReassignBtnVisible } =\r\n this.state;\r\n const pickupList = this.state.pickUps;\r\n // const pickupListItem = pickupList.map((pickupList) => ({\r\n // pickupID: pickupList.pickupID,\r\n // customerID: pickupList.customerID,\r\n // customerName: pickupList.customerName,\r\n // customerAddressID: pickupList.customerAddressID,\r\n // promocode: pickupList.promocode,\r\n // pickupDate: pickupList.pickupDate,\r\n // pickupSlotName: pickupList.pickupSlotName,\r\n // deliverySlotName: pickupList.deliverySlotName,\r\n // deliveryTypeName: pickupList.deliveryTypeName,\r\n // statusName: pickupList.statusName,\r\n // status: pickupList.status,\r\n // assignedToUserName: pickupList.assignedToUserName,\r\n // bgColor: pickupList.bgColor,\r\n // storeName: pickupList.storeName,\r\n // storeID: pickupList.storeID,\r\n // platform: pickupList.platform,\r\n // orderCount: pickupList.orderCount,\r\n // remark: pickupList.remark,\r\n // createdOn: pickupList.createdOn,\r\n // custMobileNo: pickupList.custMobileNo,\r\n // }));\r\n\r\n ReAssign_Store_By_Admin = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Reassign Store\";\r\n });\r\n\r\n \r\n\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n //const storeID = storeBranchTypes.filter(x => x)\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n return (\r\n
\r\n \r\n // \r\n // option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n // 0\r\n // }\r\n // value={\r\n // [null, undefined, \"\", []].includes(\r\n // this.state.selectedPickupStatus\r\n // )\r\n // ? undefined\r\n // : this.state.selectedPickupStatus.split(\",\")\r\n // }\r\n // onChange={(value) =>\r\n // this.setState(\r\n // {\r\n // pickupStatus: {\r\n // ...this.state.pickupStatus,\r\n // },\r\n // selectedPickupStatus: [null, undefined, \"\"].includes(\r\n // value\r\n // )\r\n // ? undefined\r\n // : value.join(\",\"),\r\n // },\r\n // () => {\r\n // const { pagination } = this.state;\r\n // this.getPickupList({\r\n // storeID: localStorage.getItem(\"branchID\").toString(),\r\n // pickupStatusID: this.state.selectedPickupStatus,\r\n // pageIndex: this.state.pagination.current,\r\n // pageSize: this.state.pagination.pageSize,\r\n // pagination: this.state.pagination,\r\n // pagination,\r\n // PickupFromDate: this.state.pickupFromDate,\r\n // PickupToDate: this.state.pickupToDate,\r\n // });\r\n // }\r\n // )\r\n // }\r\n // // defaultValue={this.state.selectedPickupStatus}\r\n // >\r\n // {/* {this.state.stateListOptions.length !== 0? */}\r\n // {\r\n // this.state.pickupStatus.data.map((x) => {\r\n // return x.value != -1 ? (\r\n // \r\n // {x.text}\r\n // \r\n // ) : null;\r\n // })\r\n // // :null\r\n // // }\r\n // }\r\n // \r\n //
,\r\n ,\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 400 }}\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n ,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n // storeKeys: [],\r\n // factoryKeys: [],\r\n // // tagNos:\"\"\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n // else {\r\n // this.setState({\r\n // storeOutTags: [],\r\n // btnMissedTagEnable: true,\r\n // });\r\n // }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n \r\n
,\r\n /**\r\n * Add Pickup Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n
\r\n \r\n this.props.history.push({\r\n pathname: [ROUTES.ADD_PICKUP, 0].join(\"/\"),\r\n state: {\r\n customerID: 0,\r\n },\r\n })\r\n // this.props.history.push({\r\n // pathname: ROUTES.ADD_PICKUP,\r\n // state: {\r\n // pickupID: this.state.pickupId,\r\n // // pickupStatus: this.state.pickupStatus,\r\n // },\r\n // })\r\n }\r\n >\r\n {labels.ADD_PICKUP}\r\n \r\n
\r\n ) : null,\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n {\r\n this.getPickupList({\r\n storeID: this.state.selectedBranch,\r\n pickupStatusID: this.state.selectedPickupStatus,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n PickupFromDate: this.state.pickupFromDate,\r\n PickupToDate: this.state.pickupToDate,\r\n PickupSlot: this.state.SelectedTimeSlot,\r\n });\r\n }}\r\n initialValues={{\r\n pickupFromDate: this.state.pickupFromDate,\r\n pickupToDate: this.state.pickupToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"pickupFromDate\")\r\n }\r\n value={this.state.pickupFromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(moment(), \"day\") ? true : false\r\n // }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"pickupToDate\")\r\n }\r\n value={this.state.pickupToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n SelectedTimeSlot: [null, undefined, \"\"].includes(\r\n value\r\n )\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n () => {\r\n console.log(this.state.SelectedTimeSlot);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.UniquetimeSlot.map((e) => {\r\n return e.slot != \"\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n \r\n this.setState(\r\n {\r\n columns:this.tempcolumns,\r\n selectedPickupStatus: \"1,2\",\r\n },\r\n () => {\r\n this.handleStatusWiseData();\r\n }\r\n )\r\n }\r\n }\r\n style={{\r\n marginLeft: 10,\r\n marginRight: 10,\r\n borderColor:\r\n this.state.selectedPickupStatus == \"1,2\" ? \"#fe1d7f\" : null,\r\n color:\r\n this.state.selectedPickupStatus == \"1,2\" ? \"#fe1d7f\" : null,\r\n }}\r\n >\r\n Assigned\r\n \r\n \r\n this.setState(\r\n {\r\n columns:this.tempcolumns,\r\n selectedPickupStatus: \"8\",\r\n },\r\n () => {\r\n this.handleStatusWiseData();\r\n }\r\n )\r\n }\r\n style={{\r\n marginLeft: 10,\r\n marginRight: 10,\r\n borderColor:\r\n this.state.selectedPickupStatus == \"8\" ? \"#fe1d7f\" : null,\r\n color: this.state.selectedPickupStatus == \"8\" ? \"#fe1d7f\" : null,\r\n }}\r\n >\r\n Reschedule Requested\r\n \r\n \r\n {\r\n var tempArray = this.tempcolumns.filter(e => e.cancelhide != true);\r\n \r\n this.setState(\r\n {\r\n columns:tempArray,\r\n selectedPickupStatus: \"3\",\r\n },\r\n () => {\r\n this.handleStatusWiseData();\r\n }\r\n )\r\n }\r\n }\r\n style={{\r\n marginLeft: 10,\r\n marginRight: 10,\r\n borderColor:\r\n this.state.selectedPickupStatus == \"3\" ? \"#fe1d7f\" : null,\r\n color: this.state.selectedPickupStatus == \"3\" ? \"#fe1d7f\" : null,\r\n }}\r\n >\r\n Cancel Requested\r\n \r\n \r\n {\r\n var tempArray = this.tempcolumns.filter(e => e.cancelledhide != true);\r\n this.setState(\r\n {\r\n columns:tempArray,\r\n selectedPickupStatus: \"4\",\r\n },\r\n () => {\r\n this.handleStatusWiseData();\r\n }\r\n )\r\n }\r\n }\r\n style={{\r\n marginLeft: 10,\r\n marginRight: 10,\r\n borderColor:\r\n this.state.selectedPickupStatus == \"4\" ? \"#fe1d7f\" : null,\r\n color: this.state.selectedPickupStatus == \"4\" ? \"#fe1d7f\" : null,\r\n }}\r\n >\r\n Cancelled\r\n \r\n
\r\n\r\n {\r\n return {\r\n style: { background: record.bgColor },\r\n };\r\n }}\r\n columns={this.state.columns}\r\n // dataSource={pickupListItem}\r\n dataSource={this.state.pickuplist}\r\n loading={tableLoading}\r\n pagination={pagination}\r\n onChange={this.handleTableChange}\r\n scroll={\r\n this.state.columns.length < 4\r\n ? { x: 0 }\r\n : this.state.columns.length < 6\r\n ? { x: 1000 }\r\n : this.state.columns.length > 6 && this.state.columns.length <= 12\r\n ? { x: 1400 }\r\n : { x: 2000 }\r\n }\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {/* {this.state.stateListOptions.length !== 0? */}\r\n {\r\n this.state.userListOptions.map((user) => {\r\n return user.value !== \"-1\" ? (\r\n \r\n ) : null;\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 {labels.CANCEL}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({\r\n ShowMapView: false,\r\n });\r\n }}\r\n className=\"modal-form pickupslot\"\r\n destroyOnClose\r\n >\r\n {this.state.TodayPickupList != undefined &&\r\n this.state.TodayPickupList.length > 0 ? (\r\n
\r\n \r\n \r\n
\r\n Store Name : {localStorage.getItem(\"Store/FactoryName\")}\r\n
\r\n
Date : {moment().format(\"DD-MM-YYYY\")}
\r\n
Total Pickups : {this.state.TodayPickupList.length}
\r\n \r\n \r\n \r\n \r\n {this.state.TodaySlotList.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.slotName}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n PickupID\r\n {this.state.TodayPickupList.map((e, index) => {\r\n return (\r\n
\r\n {\r\n this.setState(\r\n {\r\n SelectedPickupData: {\r\n pickupID: e.pickupID,\r\n customerName: e.customerName,\r\n mobileNo: e.mobileNo,\r\n address: e.location,\r\n },\r\n }\r\n // () => this.showme(index)\r\n );\r\n }}\r\n >\r\n {\r\n return item.slotID == e.slotID;\r\n })[0].colorName,\r\n }}\r\n >\r\n {e.pickupID}\r\n \r\n \r\n
\r\n
\r\n );\r\n })}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Pickup ID : \r\n {this.state.SelectedPickupData.pickupID}\r\n
\r\n
\r\n Customer Name :{\" \"}\r\n {this.state.SelectedPickupData.customerName}\r\n
\r\n
\r\n Mobile No. : \r\n {this.state.SelectedPickupData.mobileNo}\r\n
\r\n
\r\n Address : \r\n {this.state.SelectedPickupData.address}\r\n
\r\n \r\n \r\n
\r\n ) : (\r\n \r\n No Pickup Available\r\n \r\n )}\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n this.setState({ SelectedStoreID: val })}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n {labels.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\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport PickupList from \"../../../../components/StoreModule/Pickup/CreatePickup/pickuplist.component\";\r\n\r\n/**\r\n * Create PickUp Screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 13 July 2020\r\n */\r\nexport default class PickupScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n TimePicker,\r\n Input,\r\n DatePicker,\r\n Space,\r\n notification,\r\n AutoComplete,\r\n} from \"antd\";\r\nimport Button from \"../../../../Common/Button/button\";\r\nimport PickupService from \"../../../../../services/pickupservice\";\r\nimport Moment from \"moment\";\r\nimport {\r\n RegexDecimalAndRestrictFirstZero,\r\n RegexInteger,\r\n MessageNumbers,\r\n} from \"../../../../../shared/validator\";\r\nimport { labels } from \"../../../../../shared/language\";\r\nimport Common from \"../../../../../services/common\";\r\nconst { Option } = Select;\r\n\r\n/**\r\n * General form as a part of create pickup screen\r\n *\r\n * @author Payal Bharakhda\r\n * @created 13 July 2020\r\n */\r\nexport default class GeneralForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n /**\r\n * Initalizing Pickup Service\r\n */\r\n pickupService = new PickupService();\r\n common = new Common();\r\n /**\r\n * Storing objects for dynamic controls\r\n *\r\n * @added 13 July 2020\r\n */\r\n state = {\r\n selectedPickupStatus: \"1\",\r\n selectedTimeSlot: \" \",\r\n selectedDeliverySlot: \" \",\r\n selectedCancelReason: \"\",\r\n deliveryTypes: [],\r\n addDisable: true,\r\n\r\n pickupSlotView: \"\",\r\n deliverySlotView: \"\",\r\n isDeliverySlotViewEnable: true,\r\n PickupDateDisabled: true,\r\n responseDaysData: [],\r\n daysDeliveryType: 0,\r\n servicesSelection: [],\r\n pickupdate: \"\",\r\n promocodeVal: \"\",\r\n deliveryDate:\r\n this.props.values.deliveryDate !== undefined\r\n ? this.props.values.deliveryDate\r\n : Moment(),\r\n promocodeResponse: [],\r\n isValidCode: \"\",\r\n isCancelRemarkVisible: false,\r\n isResceduleRemarkVisible: false,\r\n pickupStatus: {\r\n disabled: true,\r\n data: [],\r\n },\r\n opInstruct: {\r\n disabled: true,\r\n data: [],\r\n },\r\n services: {\r\n disabled: true,\r\n data: [],\r\n },\r\n reason: {\r\n // disabled: true,\r\n data: [],\r\n },\r\n pickupExecutive: {\r\n disabled: true,\r\n data: [],\r\n },\r\n\r\n timeSlot: {\r\n disabled: true,\r\n data: [],\r\n },\r\n\r\n customerName: {\r\n // disabled: true,\r\n data: [],\r\n selected: null,\r\n },\r\n address: {\r\n // disabled:true,\r\n data: [],\r\n selected: null,\r\n },\r\n storeNameByCustAddress: {\r\n data: [],\r\n storeID: 0,\r\n storeName: \"\",\r\n },\r\n HolidayList: [],\r\n dDate: \"\",\r\n selectedPickupSlotValue: \"\",\r\n };\r\n /**\r\n * API Calls on component mounting to populate dropdowns\r\n * @added 13 July 2020\r\n */\r\n componentDidMount() {\r\n this.getDeliveryTypes();\r\n this.getPickupStatus();\r\n this.getOpInstruct();\r\n this.getServices();\r\n this.getCancelReasons();\r\n this.getHolidayList();\r\n // if(this.state.storeNameByCustAddress.storeID===parseInt(localStorage.getItem(\"branchID\"))){\r\n // this.getTimeSlot();\r\n // }\r\n this.daysBasedOnServices();\r\n\r\n if (this.props.values.customerName !== undefined) {\r\n if (this.props.mode !== \"view\" && this.props.values.customerName != 0) {\r\n // console.log(\"here\",this.props.values.customerName);\r\n this.onSearch(this.props.values.customerName);\r\n this.getAddressesByCustomerID(this.props.values.customerName);\r\n }\r\n }\r\n\r\n if (this.props.mode == \"add\") {\r\n if (\r\n this.props.values.customerName != undefined &&\r\n this.props.values.customerName != 0\r\n ) {\r\n this.getAddressesByCustomerID(this.props.values.customerName);\r\n }\r\n }\r\n\r\n if (this.props.mode !== \"add\") {\r\n this.setState(\r\n {\r\n daysDeliveryType: this.props.values.deliveryTypeID,\r\n pickupdate: this.props.values.pickupDate,\r\n servicesSelection: this.props.values.serviceIDs,\r\n },\r\n () =>\r\n this.setState({\r\n pickupSlotView: Moment(this.state.pickupdate).format(\"ddd\"),\r\n })\r\n );\r\n if (this.props.storeID > 0) {\r\n if (this.props.mode !== \"view\") {\r\n this.getTimeSlot(this.props.storeID);\r\n }\r\n }\r\n } else {\r\n // this.setState({ pickupdate: Moment() }, () =>\r\n // this.setState({ pickupSlotView: this.state.pickupdate.format(\"ddd\") })\r\n // );\r\n }\r\n this.setState({\r\n deliverySlotView: ![null, undefined, \"\"].includes(\r\n this.props.values.deliveryDate\r\n )\r\n ? this.props.values.deliveryDate.format(\"ddd\")\r\n : null,\r\n });\r\n }\r\n /**\r\n * Populating Dropdowns\r\n * @added 13 July 2020\r\n */\r\n\r\n getDeliveryTypes = () => {\r\n this.pickupService.getDeliveryTypeList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n deliveryTypes: response.data,\r\n // {\r\n // ...this.state.deliveryTypes,\r\n // data: response.data,\r\n // disabled: false,\r\n // },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: labels.UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getPickupStatus = () => {\r\n this.pickupService.getPickupStatusList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n pickupStatus: {\r\n ...this.state.pickupStatus,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_PICKUP_STATUS,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getOpInstruct = () => {\r\n this.pickupService.getOpInstructList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n opInstruct: {\r\n ...this.state.opInstruct,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_OPERATION_INSTRUCTION_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getServices = () => {\r\n this.pickupService.getServices().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n services: {\r\n ...this.state.services,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_SERVICES_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getCancelReasons = () => {\r\n this.pickupService.getCancelReasonsList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n reason: {\r\n ...this.state.reason,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_REASONS_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getTimeSlot = (id) => {\r\n if (id === parseInt(localStorage.getItem(\"branchID\"))) {\r\n var storeid = parseInt(localStorage.getItem(\"branchID\"));\r\n } else {\r\n var storeid = id;\r\n }\r\n this.pickupService.getTimeSlotList(storeid).then((response) => {\r\n console.log(\"response->\", response);\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n timeSlot: {\r\n ...this.state.timeSlot,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_TIMESLOT,\r\n });\r\n }\r\n });\r\n };\r\n\r\n onSearch = (searchText) => {\r\n this.pickupService.getCustomerData(searchText).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_CUSTOMER,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getAddressesByCustomerID = (id) => {\r\n // console.log(\"customerID->\", id);\r\n this.pickupService.getCustomerAddresses(parseInt(id)).then((response) => {\r\n if (response.statusCode === 200) {\r\n let modifiedData = response.data.map((singleObj) => {\r\n singleObj.key = singleObj.customerAddressID;\r\n return singleObj;\r\n });\r\n this.setState({\r\n address: {\r\n ...this.state.address,\r\n data: response.data,\r\n // disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_CUSTOMER_ADDRESSES,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getHolidayList = () => {\r\n var postData =\r\n parseInt(this.state.storeNameByCustAddress.storeID) === 0\r\n ? parseInt(localStorage.getItem(\"branchID\"))\r\n : parseInt(this.state.storeNameByCustAddress.storeID);\r\n\r\n this.pickupService.retriveHolidaylist(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n HolidayList: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_HOLIDAYLIST,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getStoreBycustomerAddressID = (id) => {\r\n this.pickupService\r\n .getStoreByCustomerAddressID(parseInt(id))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n storeNameByCustAddress: {\r\n ...this.state.storeNameByCustAddress,\r\n data: response.data,\r\n storeID: response.data.storeID,\r\n storeName: response.data.storeName,\r\n // disabled: false,\r\n },\r\n },\r\n () =>\r\n this.props.getStoreIDStoreName(\r\n this.state.storeNameByCustAddress.data\r\n ),\r\n this.getTimeSlot(response.data.storeID)\r\n );\r\n this.setState({\r\n PickupDateDisabled: false,\r\n });\r\n this.getHolidayList();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_STORE_NAME,\r\n });\r\n }\r\n });\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.deliveryDate != this.state.deliveryDate) {\r\n this.props.getDeliveryDateFunction(this.state.deliveryDate);\r\n }\r\n }\r\n\r\n daysBasedOnServices() {\r\n this.pickupService.getDaysBasedOnServices().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n responseDaysData: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA,\r\n });\r\n }\r\n });\r\n }\r\n\r\n skipHoliday = (deliveryDate) => {\r\n let temparr = this.state.HolidayList;\r\n var delivery_date = Moment(deliveryDate).format(\"YYYY-MM-DD\");\r\n var pickup_date = Moment(this.state.pickupdate).format(\"YYYY-MM-DD\");\r\n // console.log(\"pickup_date->>>>\",pickup_date)\r\n\r\n var HolidayArr = [];\r\n\r\n HolidayArr = temparr.filter((a) => {\r\n var holiday_date = Moment(a.holidayDate).format(\"YYYY-MM-DD\");\r\n return pickup_date <= holiday_date && delivery_date >= holiday_date;\r\n });\r\n let len = HolidayArr.length;\r\n if (len > 0) {\r\n deliveryDate.add(len, \"d\");\r\n }\r\n this.skip2(deliveryDate);\r\n // return deliveryDate;\r\n };\r\n\r\n skip2 = (deliveryDate) => {\r\n let temparr = this.state.HolidayList;\r\n var HolidayArr = [];\r\n var delivery_date = Moment(deliveryDate).format(\"YYYY-MM-DD\");\r\n HolidayArr = temparr.filter((a) => {\r\n var holiday_date = Moment(a.holidayDate).format(\"YYYY-MM-DD\");\r\n return delivery_date == holiday_date;\r\n });\r\n let len = HolidayArr.length;\r\n\r\n var new_deliveryDate;\r\n if (len > 0) {\r\n new_deliveryDate = deliveryDate.add(len, \"d\");\r\n this.skip2(new_deliveryDate);\r\n }\r\n };\r\n\r\n calculateDeliveryDate = () => {\r\n // if (this.props.mode != \"edit\")\r\n // this.setState({ selectedPickupSlotValue: \"\" });\r\n // check for selected services\r\n //delivery type=time/express/semi express\r\n // selectmax days out of selected services\r\n // add max days on pickupdate and make it as delivery date\r\n let service = this.state.servicesSelection;\r\n let pickupDate = this.state.pickupdate;\r\n\r\n let deliveryType = parseInt(this.state.daysDeliveryType);\r\n let max = 0;\r\n if (![null, undefined, \"\"].includes(service)) {\r\n // condition added for rescheduling the pickup in case request comes from delivery app\r\n this.state.responseDaysData\r\n .filter((object) => service.includes(object.id.toString()))\r\n .map((filteredObj) => {\r\n if (deliveryType === 1) {\r\n max = max < filteredObj.time ? filteredObj.time : max;\r\n } else if (deliveryType === 2) {\r\n max = max < filteredObj.semiExpress ? filteredObj.semiExpress : max;\r\n } else if (deliveryType === 3) {\r\n max = max < filteredObj.express ? filteredObj.express : max;\r\n }\r\n });\r\n let deliveryDate = Moment(pickupDate);\r\n deliveryDate.add(max, \"d\");\r\n // console.log(\"max->\",max);\r\n this.skipHoliday(deliveryDate);\r\n // console.log(\"deliveryDate->\",deliveryDate);\r\n\r\n this.setState({ deliveryDate: deliveryDate, dDate: deliveryDate });\r\n this.props.instance.current.setFieldsValue({\r\n deliveryDate: deliveryDate,\r\n deliverySlot: undefined,\r\n });\r\n //getting weekday from date\r\n this.setState({ deliverySlotView: Moment(deliveryDate).format(\"ddd\") });\r\n this.setState({ isDeliverySlotViewEnable: false });\r\n }\r\n //getting weekday from date [in case of edit[reschedule]]\r\n this.setState({\r\n pickupSlotView: Moment(this.state.pickupdate).format(\"ddd\"),\r\n });\r\n };\r\n\r\n validatePromocode = () => {\r\n if (\r\n this.props.mode !== \"edit\"\r\n ? ![\"\", null].includes(this.state.customerName.selected)\r\n : ![\"\", null].includes(this.props.values.customerName !== null) &&\r\n // this.state.customerName.selected !== \"\" &&\r\n // this.state.customerName.selected !== null\r\n // // this.state.customerName.selected != undefined &&\r\n this.props.mode !== \"edit\"\r\n ? ![\"\", null].includes(this.state.address.selected)\r\n : ![\"\", null].includes(this.props.values.address) &&\r\n // this.state.address.selected !== \"\" &&\r\n // this.state.address.selected !== null &&\r\n // // this.state.address.selected != undefined &&\r\n this.state.servicesSelection !== \"\" &&\r\n this.state.servicesSelection !== null &&\r\n // this.state.servicesSelection != undefined &&\r\n this.state.promocodeVal !== \"\" &&\r\n this.state.promocodeVal !== null &&\r\n this.state.promocodeVal !== undefined\r\n ) {\r\n const params = {\r\n customerID:\r\n this.props.mode === \"edit\"\r\n ? this.props.values.customerName\r\n : this.state.customerName.selected,\r\n customerAddressID:\r\n this.props.mode === \"edit\"\r\n ? this.props.values.address\r\n : this.state.address.selected,\r\n serviceIDs: this.state.servicesSelection.toString(),\r\n pickupDate: this.state.pickupdate.format(\"YYYY-MM-DD\"),\r\n promocode: this.state.promocodeVal,\r\n pickupID: this.props.pickupID,\r\n };\r\n // debugger\r\n // if (this.state.promocodeVal != \"\") {\r\n this.pickupService.validateDisPromocode(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n promocodeResponse: response.data,\r\n });\r\n if (this.state.promocodeResponse.responseMessage === \"InValid\") {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: labels.PROMOCODE_IS_INVALID,\r\n });\r\n this.props.isValidCodeMethod(false);\r\n this.props.instance.current.setFieldsValue({ promocode: null });\r\n this.setState({ promocodeVal: \"\" });\r\n } else {\r\n this.props.isValidCodeMethod(true);\r\n // this.props.instance.current.setFieldsValue({ promocode: null });\r\n // this.setState({ promocodeVal: \"\" });\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.PROMOCODE_APPLIED_SUCCESSFULLY,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_VALIDATE_PROMOCODE,\r\n });\r\n }\r\n });\r\n //}\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description:\r\n labels.PLEASE_INPUT_CUSTOMERNAME_ADDRESS_SERVICES_PROMOCODE,\r\n });\r\n }\r\n };\r\n\r\n onChangeCode = (event, callback = () => null) => {\r\n this.setState({ promocodeVal: event.target.value }, callback());\r\n };\r\n\r\n handleSelectStatusChange = (event) => {\r\n this.setState({ selectedPickupStatus: event });\r\n };\r\n\r\n handlePickupSlotChange = (event) => {\r\n var slots = this.state.timeSlot.data.filter((x) => x.slotID == event);\r\n if (slots.length > 0) {\r\n this.setState({\r\n selectedTimeSlot: slots[0].slotID,\r\n selectedPickupSlotValue: slots[0].slotFrom,\r\n });\r\n }\r\n this.props.instance.current.setFieldsValue({\r\n deliverySlot: undefined,\r\n });\r\n };\r\n\r\n handleDeliverySlotChange = (event) => {\r\n this.setState({ selectedDeliverySlot: event });\r\n };\r\n\r\n handleCancelResonChange = (event) => {\r\n console.log(\"event->\", event);\r\n // console.log(\"selectedCancelReason->\",this.state.selectedCancelReason);\r\n this.setState({ selectedCancelReason: event });\r\n };\r\n\r\n render() {\r\n const disableAll = this.props.mode === \"view\";\r\n var editDisable = this.props.mode === \"edit\";\r\n var addDisableMode = this.props.mode === \"add\";\r\n var statusDisable = this.props.pickupStatusID;\r\n var sourceFromDelivery = this.props.sourceFromDelivery;\r\n var submitbtnloading = this.props.submitbtnloading;\r\n // console.log(this.state.selectedPickupStatus, statusDisable);\r\n // var nextDeliveryDate = Moment(this.state.deliveryDate).add(2, \"days\");\r\n var current = ![\"\", undefined, null].includes(this.state.pickupdate)\r\n ? new Date(this.state.pickupdate.format(\"MM/DD/YYYY\"))\r\n : new Date();\r\n var followingDay = new Date(current.getTime() + 86400000); // + 1 day in ms\r\n followingDay.toLocaleDateString();\r\n\r\n var pickupcurrentTime = Moment().format(\"HH:mm:00\").toString();\r\n var currentTime = ![undefined, null, \"\"].includes(\r\n this.state.selectedPickupSlotValue\r\n )\r\n ? this.state.selectedPickupSlotValue\r\n : this.props.mode === \"add\"\r\n ? Moment().format(\"HH:mm:00\").toString()\r\n : ![null, undefined, \"\"].includes(this.props.pickupTimeSlotName)\r\n ? this.props.pickupTimeSlotName.split(\"-\").toString()\r\n : null;\r\n\r\n var Cancelled_show = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Cancelled\";\r\n });\r\n\r\n var RESCHEDULE_PICKUP_BY_ADMIN = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Reschedule Pickup By Admin\";\r\n });\r\n\r\n console.log(\"RESCHEDULE_PICKUP_BY_ADMIN->\", RESCHEDULE_PICKUP_BY_ADMIN);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ selectedPickupStatus: event });\r\n }}\r\n defaultValue={this.state.selectedPickupStatus}\r\n // disabled={\r\n // addDisableMode === true\r\n // ? true\r\n // : statusDisable == \"Cancelled\"\r\n // ? editDisable\r\n // : false || disableAll\r\n // }\r\n disabled={addDisableMode ? true : disableAll}\r\n name=\"statusName\"\r\n >\r\n {console.log(\"statusDisable->\", statusDisable)}\r\n\r\n {this.state.pickupStatus.data.length !== 0\r\n ? this.state.pickupStatus.data.map((pickupStatus) => {\r\n return pickupStatus.value !== \"-1\" ? (\r\n 0) ||\r\n pickupStatus.value.includes(\"5\")\r\n ? false\r\n : true\r\n : pickupStatus.value.includes(\"5\") ||\r\n (pickupStatus.value.includes(\"4\") &&\r\n Cancelled_show.length > 0)\r\n ? false\r\n : true\r\n }\r\n value={pickupStatus.value}\r\n key={pickupStatus.value}\r\n >\r\n {pickupStatus.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n let temparr = this.state.HolidayList;\r\n\r\n var selected_date = Moment(date).format(\"YYYY-MM-DD\");\r\n var HolidayArr = temparr.filter((a) => {\r\n var holiday_date = Moment(a.holidayDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n\r\n return selected_date == holiday_date;\r\n });\r\n\r\n if (HolidayArr.length > 0) {\r\n notification[\"error\"]({\r\n message: HolidayArr[0].remark,\r\n description: labels.SELECTED_DATE_IS_HOLIDAY,\r\n });\r\n\r\n // if (this.state.selectedPickupStatus == \"5\") {\r\n this.props.instance.current.setFieldsValue({\r\n timeslotID: undefined,\r\n });\r\n // }\r\n this.setState({ pickupSlotView: \"\" });\r\n } else {\r\n this.setState(\r\n {\r\n pickupdate: date,\r\n },\r\n () => {\r\n this.calculateDeliveryDate();\r\n }\r\n );\r\n this.props.instance.current.setFieldsValue({\r\n timeslotID: undefined,\r\n });\r\n }\r\n }}\r\n disabled={\r\n this.state.selectedPickupStatus == \"5\"\r\n ? false\r\n : this.state.PickupDateDisabled || editDisable || disableAll\r\n }\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(Moment(), \"day\") ? true : false\r\n }\r\n format={\"DD-MM-YYYY\"}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {this.state.pickupdate != undefined &&\r\n this.state.timeSlot.data.length !== 0\r\n ? this.state.timeSlot.data.map((timeSlot) => {\r\n return timeSlot.slotID !== \"-1\" ? (\r\n this.state.pickupSlotView === timeSlot.weekDayName ? (\r\n \r\n {timeSlot.slotFrom + \"-\" + timeSlot.slotTo}\r\n {/* {timeSlot.value + timeSlot.text} */}\r\n \r\n ) : null\r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: value,\r\n },\r\n },\r\n () =>\r\n ![null, undefined, \"\"].includes(value)\r\n ? this.getAddressesByCustomerID(value)\r\n : value\r\n );\r\n }}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n // 0\r\n // }\r\n >\r\n {this.state.customerName.data.length !== 0\r\n ? this.state.customerName.data.map((singleCustomerName) => {\r\n return singleCustomerName.customerID !== \"-1\" ? (\r\n \r\n {singleCustomerName.customerName +\r\n \" (\" +\r\n singleCustomerName.mobileNo +\r\n \")\"}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n this.setState(\r\n {\r\n address: { ...this.state.address, selected: value },\r\n },\r\n () =>\r\n [null, undefined, \"\", NaN].includes(value)\r\n ? null\r\n : this.getStoreBycustomerAddressID(value)\r\n )\r\n }\r\n placeholder={labels.SELECT_ADDRESS}\r\n dependencies={[\"customerName\"]}\r\n shouldUpdate={(prev, next) => prev.state !== next.state}\r\n disabled={\r\n this.state.address.disabled || editDisable || disableAll\r\n } //|| editDisable\r\n allowClear\r\n >\r\n {this.state.address.data.length !== 0\r\n ? this.state.address.data.map((address) => {\r\n return address.value !== \"-1\" ? (\r\n \r\n {address.fullAddress}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n this.setState({ servicesSelection: event }, () =>\r\n this.calculateDeliveryDate()\r\n );\r\n }}\r\n allowClear\r\n disabled={\r\n this.props.mode === \"edit\"\r\n ? this.state.selectedPickupStatus == \"5\" ||\r\n this.state.selectedPickupStatus == \"4\" ||\r\n statusDisable == 8 ||\r\n statusDisable == 3\r\n ? editDisable\r\n : false || disableAll\r\n : disableAll\r\n }\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n >\r\n {this.state.services.data.length !== 0\r\n ? this.state.services.data.map((service) => {\r\n return service.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ daysDeliveryType: value }, () =>\r\n this.calculateDeliveryDate()\r\n );\r\n }}\r\n placeholder={labels.SELECT_DELIVERY_TYPE}\r\n disabled={editDisable || disableAll}\r\n >\r\n {/* {this.state.deliveryTypes.data.length !== 0 */}\r\n {/* ? */}\r\n {this.state.deliveryTypes.map((deliveryType) => {\r\n return deliveryType.value !== \"-1\" ? (\r\n \r\n ) : null;\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 if (value !== null && value !== \"\" && value !== undefined) {\r\n if (this.props.isValidCode === true) {\r\n return Promise.resolve();\r\n } else {\r\n return Promise.reject(\"\");\r\n this.setState({ promocodeVal: \"\" });\r\n }\r\n } else {\r\n return Promise.resolve();\r\n }\r\n },\r\n },\r\n ]}\r\n >\r\n {\r\n this.onChangeCode(event, () => {\r\n return ![null, undefined, \"\"].includes(\r\n this.state.promocodeVal\r\n )\r\n ? this.validatePromocode()\r\n : null;\r\n });\r\n }}\r\n onChange={this.onChangeCode}\r\n placeholder={labels.ENTER_PROMOCODE}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {\r\n let temparr = this.state.HolidayList;\r\n\r\n var selected_date = Moment(value).format(\"YYYY-MM-DD\");\r\n var HolidayArr = temparr.filter((a) => {\r\n var holiday_date = Moment(a.holidayDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n // console.log(\"val->\", selected_date, holiday_date);\r\n return selected_date == holiday_date;\r\n });\r\n if (HolidayArr.length > 0) {\r\n notification[\"error\"]({\r\n message: HolidayArr[0].remark,\r\n description: labels.SELECTED_DATE_IS_HOLIDAY,\r\n });\r\n // if (this.state.selectedPickupStatus == \"5\") {\r\n this.props.instance.current.setFieldsValue({\r\n deliverySlot: undefined,\r\n });\r\n // }\r\n this.setState({ deliverySlotView: \"\" });\r\n } else {\r\n this.props.instance.current.setFieldsValue({\r\n deliverySlot: undefined,\r\n });\r\n this.props.mode === \"edit\"\r\n ? this.getTimeSlot(this.props.storeID)\r\n : this.getTimeSlot(\r\n this.state.storeNameByCustAddress.storeID\r\n );\r\n this.setState({\r\n deliverySlotView: Moment(value).format(\"ddd\"),\r\n dDate: value,\r\n });\r\n }\r\n }}\r\n allowClear={false}\r\n format={\"DD-MM-YYYY\"}\r\n value={this.state.deliveryDate}\r\n \r\n disabled={\r\n this.props.mode === \"edit\"\r\n ? ([\"1\"].includes(this.state.selectedPickupStatus) &&\r\n [8].includes(statusDisable)) ||\r\n ([3].includes(statusDisable) &&\r\n [\"4\"].includes(this.state.selectedPickupStatus)) ||\r\n (statusDisable == 3 && this.state.selectedPickupStatus != 5)||\r\n this.state.selectedPickupStatus == 4\r\n ? true\r\n : false\r\n : false\r\n\r\n // [\"1\", \"2\", \"5\"].includes(this.state.selectedPickupStatus) &&\r\n // [2].includes(statusDisable)\r\n // ? // ||\r\n // // ([\"1\", \"2\", \"5\"].includes(this.state.selectedPickupStatus) &&\r\n // // [2, 8].includes(statusDisable))\r\n // false\r\n // : [\"2\", \"5\"].includes(this.state.selectedPickupStatus) &&\r\n // [2, 8].includes(statusDisable)\r\n // ? false\r\n // : editDisable ||disableAll\r\n }\r\n\r\n disabledDate={(currentDate) => {\r\n return currentDate &&\r\n currentDate < Moment(this.state.deliveryDate, \"YYYY-MM-DD\")\r\n ? true\r\n : false;\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {this.state.timeSlot.data.length !== 0\r\n ? this.state.timeSlot.data.map((timeSlot) => {\r\n return timeSlot.slotID !== \"-1\" ? (\r\n this.state.deliverySlotView === timeSlot.weekDayName ? (\r\n \r\n {timeSlot.slotFrom + \"-\" + timeSlot.slotTo}\r\n \r\n ) : null\r\n ) : // (\r\n // notification[\"info\"]({\r\n // message: \"There is no slots available\",\r\n // })\r\n // )\r\n null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {this.state.reason.data.length !== 0\r\n ? this.state.reason.data.map((reason) => {\r\n return reason.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n null}\r\n mode=\"multiple\"\r\n allowClear\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n disabled={\r\n this.props.mode === \"edit\"\r\n ? this.state.selectedPickupStatus == \"5\" ||\r\n this.state.selectedPickupStatus == \"4\" ||\r\n statusDisable == 8 ||\r\n statusDisable == 3\r\n ? editDisable\r\n : false || disableAll\r\n : disableAll\r\n }\r\n >\r\n {this.state.opInstruct.data.length !== 0\r\n ? this.state.opInstruct.data.map((opInstruct) => {\r\n return opInstruct.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n {this.state.selectedPickupStatus == \"5\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.selectedPickupStatus == \"4\" ? (\r\n this.state.selectedCancelReason == \"Others\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null\r\n ) : null}\r\n {/* {console.log(\"reason->\", this.state.selectedCancelReason)} */}\r\n {this.props.mode == \"view\" ||\r\n (this.state.selectedCancelReason.includes(\"Duplicate Pickup\") &&\r\n this.props.mode == \"edit\") ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n {!disableAll ? (\r\n \r\n
\r\n \r\n {labels.CANCEL}\r\n \r\n {console.log(\"statusDisable->\", statusDisable)}\r\n {([\"1\", \"4\", \"5\"].includes(this.state.selectedPickupStatus) &&\r\n [0, 1, 2].includes(statusDisable)) ||\r\n ([8].includes(statusDisable) &&\r\n [\"4\", \"5\", \"2\"].includes(this.state.selectedPickupStatus)) ||\r\n ([3].includes(statusDisable) &&\r\n [\"4\", \"5\"].includes(this.state.selectedPickupStatus)) ? (\r\n \r\n {labels.SUBMIT}\r\n \r\n ) : null}\r\n
\r\n ) : (\r\n \r\n {labels.CANCEL}\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Table, PageHeader, notification } from \"antd\";\r\nimport styles from \"../../../../Common/Styles/master.module.css\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport PickupService from \"../../../../../services/pickupservice\";\r\nimport Moment from \"moment\";\r\nimport { labels } from \"../../../../../shared/language\";\r\nimport Common from \"../../../../../services/common\";\r\n/**\r\n * Reschedule history Form as a part of Pickup Creation\r\n *\r\n * @author Payal Bharakhda\r\n * @created 13 July 2020\r\n */\r\nclass RescheduleHistory extends React.Component {\r\n pickupService = new PickupService();\r\n common = new Common();\r\n /**\r\n * State Variables\r\n *\r\n */\r\n state = {\r\n historyData: [],\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.PICKUP_DATE,\r\n dataIndex: \"pickupDate\",\r\n key: \"pickupDate\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.PICKUP_TIMESLOT,\r\n dataIndex: \"pickupSlot\",\r\n key: \"pickupSlot\",\r\n },\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n // render: (text) => {\r\n // return Moment(text).format(\"DD-MM-YYYY\");\r\n // },\r\n },\r\n {\r\n title: labels.DELIVERY_TIMESLOT,\r\n dataIndex: \"deliverySlot\",\r\n key: \"deliverySlot\",\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n var pickupID = this.props.match.params.pickupID;\r\n this.requestHistory(pickupID);\r\n }\r\n\r\n requestHistory(pickupID) {\r\n if (pickupID !== undefined) {\r\n this.pickupService\r\n .getPickupRequestHistory(parseInt(pickupID))\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n historyData: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_HISTORY,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n // const disableAll = this.props.mode === \"view\";\r\n const historyData = this.state.historyData;\r\n const listItems = historyData.map((item) => ({\r\n pickupDate: item.pickupDate,\r\n // Moment(item.pickupDate).format(\"DD/MM/YYYY\"),\r\n pickupSlot: ![null, undefined, \"\"].includes(item.pickupSlot)\r\n ? item.pickupSlot\r\n : null,\r\n //item.deliveryDate,\r\n deliveryDate: ![null, undefined, \"\"].includes(item.deliveryDate)\r\n ? Moment(item.deliveryDate).format(\"DD-MM-YYYY\")\r\n : null,\r\n deliverySlot: ![null, undefined, \"\"].includes(item.deliverySlot)\r\n ? item.deliverySlot\r\n : null,\r\n }));\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(RescheduleHistory);\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport styles from \"../../../../Common/Styles/master.module.css\";\r\nimport { Steps, PageHeader, Form, notification, Spin } from \"antd\";\r\nimport Moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport GeneralForm from \"./general.addpickup\";\r\nimport RescheduleHistory from \"./reschedulehistory.addpickup\";\r\nimport PickupService from \"../../../../../services/pickupservice\";\r\nimport ROUTES from \"../../../../../routes\";\r\nimport { labels } from \"../../../../../shared/language\";\r\nimport Common from \"../../../../../services/common\";\r\nconst { Step } = Steps;\r\n\r\n/**\r\n * Add Pickup Form\r\n *\r\n * @author Payal Bharakhda\r\n * @created 13 July 2020\r\n *\r\n * @module Store\r\n */\r\nclass AddPickup extends React.Component {\r\n pickupService = new PickupService();\r\n common = new Common();\r\n /**\r\n * State Variables\r\n *\r\n */\r\n state = {\r\n activeStep: 0,\r\n fullLoading: false,\r\n stepsDirection: \"vertical\",\r\n stepsSize: \"default\",\r\n generalFormValues: {},\r\n requestHistoryValues: {},\r\n mode: \"add\",\r\n deliveryDate: \"\",\r\n //general pickup info\r\n pickupID: 0,\r\n isValidCode: false,\r\n pickupStatusID: 0,\r\n sourceFromDelivery: 0,\r\n //reschedule history info\r\n submitbtnloading: false,\r\n\r\n storeID: 0,\r\n storeData: {\r\n data: [],\r\n },\r\n isGeneralFromCall: false,\r\n pickupTimeSlotName: \"\",\r\n pickupTimeSlotID: 0,\r\n deliveryTimeSlotID: 0,\r\n customerID: 0,\r\n };\r\n /**\r\n * A function to responsively set direction of the steps\r\n */\r\n setStepsDirection = () => {\r\n if (window.innerWidth < 801) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"small\" });\r\n } else if (window.innerWidth < 992) {\r\n this.setState({ stepsDirection: \"horizontal\" });\r\n this.setState({ stepsSize: \"default\" });\r\n } else {\r\n this.setState({ stepsDirection: \"vertical\" });\r\n this.setState({ stepsSize: \"default\" });\r\n }\r\n };\r\n\r\n /**\r\n * bind the setStepDirection to the resize event of windows\r\n */\r\n componentDidMount() {\r\n // console.log(this.props.location.state, this.props.operation);\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n this.setState({ isGeneralFromCall: false });\r\n if ([ROUTES.EDIT_PICKUP, \":pickupID\"].join(\"/\") === this.props.match.path) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"edit\" });\r\n this.getPickupInfoByID(this.props.location.state.pickupID);\r\n } else if (\r\n [ROUTES.VIEW_PICKUP, \":pickupID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n this.setState({ mode: \"view\" });\r\n this.getPickupInfoByID(this.props.location.state.pickupID);\r\n } else if (\r\n [ROUTES.ADD_PICKUP, \":customerID\"].join(\"/\") === this.props.match.path\r\n ) {\r\n this.setState({ fullLoading: true });\r\n // console.log(\"customerID->\", this.props.location.state.customerID);\r\n if (this.props.location.state.customerID != 0) {\r\n this.setState({\r\n generalFormValues: {\r\n customerName: this.props.location.state.customerID,\r\n },\r\n });\r\n }\r\n this.setgeneralFormvalue();\r\n }\r\n this.setStepsDirection();\r\n window.addEventListener(\"resize\", this.setStepsDirection);\r\n }\r\n\r\n setgeneralFormvalue = () => {\r\n const timer = setTimeout(() => {\r\n this.setState({ fullLoading: false, isGeneralFromCall: true });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n }, 5000);\r\n return () => clearTimeout(timer);\r\n };\r\n\r\n getPickupInfoByID = (id) => {\r\n this.pickupService.getPickUpDetailsByID(id).then((response) => {\r\n // console.log(\"response->\", response);\r\n if (\r\n response.statusCode === 200 &&\r\n response.data.pickupID === parseInt(id)\r\n ) {\r\n this.setState({\r\n pickupID: response.data.pickupID,\r\n pickupStatusID: response.data.status,\r\n sourceFromDelivery: response.data.source,\r\n storeID: response.data.storeID,\r\n });\r\n this.setState({\r\n generalFormValues: {\r\n customerName:\r\n this.state.mode === \"view\"\r\n ? response.data.customerName +\r\n \"(\" +\r\n response.data.contactNumber +\r\n \")\"\r\n : parseInt(response.data.customerID),\r\n address:\r\n this.state.mode === \"view\"\r\n ? response.data.address\r\n : parseInt(response.data.customerAddressID),\r\n pickupDate: Moment(response.data.pickupDate),\r\n timeslotID:\r\n this.state.mode === \"view\" || this.state.mode === \"edit\"\r\n ? response.data.pickupSlotName\r\n : parseInt(response.data.pickupSlotID),\r\n deliverySlot:\r\n this.state.mode === \"view\" || this.state.mode === \"edit\"\r\n ? response.data.deliverySlotName\r\n : //added\r\n response.data.deliverySlotID !== 0\r\n ? response.data.deliverySlotID\r\n : undefined,\r\n serviceIDs: [null, undefined, \"\"].includes(response.data.services)\r\n ? undefined\r\n : response.data.services.split(\",\"),\r\n noOfGarments:\r\n response.data.noOfGarments === 0\r\n ? \"\"\r\n : response.data.noOfGarments,\r\n promocode: response.data.promocode,\r\n deliveryTypeID: response.data.deliveryType.toString(),\r\n opInstructID: ![null, undefined, \"\"].includes(\r\n response.data.operationInstID\r\n )\r\n ? response.data.operationInstID.split(\",\")\r\n : undefined,\r\n statusName: response.data.statusName,\r\n remarks: response.data.remark,\r\n // reason: response.data.canceledReason,\r\n\r\n reason: [null, undefined, \"\"].includes(response.data.canceledReason)\r\n ? undefined\r\n : response.data.canceledReason.split(\",\"),\r\n originalpickupID: response.data.originalPickupID,\r\n // cancelRemarks: response.data.cancelReason,\r\n deliveryDate:\r\n //added\r\n response.data.deliveryDate === null\r\n ? undefined\r\n : Moment(response.data.deliveryDate),\r\n },\r\n isValidCode: [null, undefined, \"\"].includes(response.data.promocode)\r\n ? false\r\n : true,\r\n pickupTimeSlotName: response.data.pickupSlotName,\r\n pickupTimeSlotID: response.data.pickupSlotID,\r\n deliveryTimeSlotID: response.data.deliverySlotID,\r\n });\r\n this.setState({\r\n requestHistoryValues: {\r\n pickupDate: Moment(response.data.pickupDate),\r\n timeslotID: response.data.pickupSlotName,\r\n deliverySlot: response.data.deliverySlotName,\r\n deliveryDate: Moment(response.data.deliveryDate),\r\n },\r\n });\r\n this.setState({ fullLoading: false, isGeneralFromCall: true });\r\n this.setState({ activeStep: -1 });\r\n this.setState({ activeStep: 0 });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: labels.UNABLE_TO_GET_PICKUP_DATA,\r\n\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n addUpdatePickup = () => {\r\n const postData = {\r\n pickupID: this.state.pickupID,\r\n customerID: this.state.generalFormValues.customerName,\r\n customerAddressID: this.state.generalFormValues.address,\r\n pickupDate: this.state.generalFormValues.pickupDate.format(\"YYYY-MM-DD\"),\r\n deliveryDate:\r\n this.state.generalFormValues.deliveryDate.format(\"YYYY-MM-DD\"),\r\n pickupSlotID: ![null, undefined, \"\", NaN].includes(\r\n +this.state.generalFormValues.timeslotID\r\n )\r\n ? parseInt(this.state.generalFormValues.timeslotID)\r\n : this.state.pickupTimeSlotID,\r\n deliverySlotID: ![null, undefined, \"\", NaN].includes(\r\n +this.state.generalFormValues.deliverySlot\r\n )\r\n ? parseInt(this.state.generalFormValues.deliverySlot)\r\n : this.state.deliveryTimeSlotID,\r\n services: this.state.generalFormValues.serviceIDs.join(\",\"),\r\n noOfGarments: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.noOfGarments\r\n )\r\n ? parseInt(this.state.generalFormValues.noOfGarments)\r\n : null,\r\n uom: 0,\r\n deliveryType: parseInt(this.state.generalFormValues.deliveryTypeID),\r\n // storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n storeID:\r\n this.state.mode === \"edit\"\r\n ? this.state.storeID\r\n : this.state.storeData.data.storeID,\r\n promocode: this.state.generalFormValues.promocode\r\n ? this.state.generalFormValues.promocode.toString()\r\n : null,\r\n operationInstID: this.state.generalFormValues.opInstructID\r\n ? this.state.generalFormValues.opInstructID.join(\",\")\r\n : null,\r\n remark: this.state.generalFormValues.remarks\r\n ? this.state.generalFormValues.remarks.toString()\r\n : null,\r\n sourceFrom: 1,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.pickupService.addUpdatePickupRequest(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n if (this.state.mode === \"edit\") {\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.PICKUP_IS_UPDATED,\r\n duration: 1.5,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.state.storeData.data.storeID ===\r\n parseInt(localStorage.getItem(\"branchID\"))\r\n ? this.common.Message(response.message)\r\n : \"Pickup ID: \" +\r\n response.data.pickupID +\r\n \" is scheduled and assigned to \" +\r\n this.state.storeData.data.storeName +\r\n \" store\"\r\n : labels.PICKUP_IS_SCHEDULED,\r\n duration: 2,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n }\r\n } else {\r\n response.length === 0\r\n ? notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: this.common.Message(response.message),\r\n })\r\n : notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: this.common.Message(response.message),\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n reschedulePickup = () => {\r\n const postdata = {\r\n pickupID: this.state.pickupID,\r\n pickupDate: this.state.generalFormValues.pickupDate.format(\"YYYY-MM-DD\"),\r\n pickupSlotID: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.timeslotID\r\n )\r\n ? [null, undefined, \"\", NaN].includes(\r\n +this.state.generalFormValues.timeslotID\r\n )\r\n ? this.state.pickupTimeSlotID\r\n : parseInt(this.state.generalFormValues.timeslotID)\r\n : undefined,\r\n deliveryDate: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.deliveryDate\r\n )\r\n ? this.state.generalFormValues.deliveryDate.format(\"YYYY-MM-DD\")\r\n : undefined,\r\n deliverySlotID: ![null, undefined, \"\"].includes(\r\n this.state.generalFormValues.deliverySlot\r\n )\r\n ? [null, undefined, \"\", NaN].includes(\r\n +this.state.generalFormValues.deliverySlot\r\n )\r\n ? this.state.deliveryTimeSlotID\r\n : parseInt(this.state.generalFormValues.deliverySlot)\r\n : undefined,\r\n remark: this.state.generalFormValues.remarks,\r\n sourceFrom: 1,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.pickupService.requestReschedulePickup(postdata).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.PICKUP_IS_RESCHEDULED_SUCCESSFULLY,\r\n duration: 1.5,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_RESCHEDULE_THE_PICKUP,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n cancelPickup = () => {\r\n if (this.state.generalFormValues.reason === \"\")\r\n return notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: labels.CANCEL_REASON_IS_REQUIRED,\r\n });\r\n\r\n const postdata = {\r\n pickupID: this.state.pickupID,\r\n cancelReason:\r\n this.state.generalFormValues.reason != \"Others\"\r\n ? this.state.generalFormValues.reason.toString()\r\n : this.state.generalFormValues.cancelRemarks,\r\n // CancelRequestedReason:null,\r\n originalpickupID: this.state.generalFormValues.originalpickupID\r\n ? parseInt(this.state.generalFormValues.originalpickupID)\r\n : 0,\r\n sourceFrom: 1,\r\n };\r\n // console.log(\"postdata->\", postdata);\r\n this.setState({ fullLoading: true });\r\n this.pickupService.requestCancelPickup(postdata).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.PICKUP_IS_CANCELLED_SUCCESSFULLY,\r\n duration: 1.5,\r\n onClose: () => {\r\n this.props.history.goBack();\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_CANCEL_PICKUP,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n generalForm = React.createRef();\r\n handleSubmit = () => {\r\n // console.log(\"here\");\r\n const generalValidator = this.generalForm.current.validateFields();\r\n Promise.allSettled([generalValidator]).then((responses) => {\r\n // console.log(\"responses->\",responses);\r\n if (responses[0].status === \"rejected\") {\r\n this.setState({ activeStep: 0 });\r\n } else if (responses[0].status === \"fulfilled\") {\r\n this.setState(\r\n {\r\n generalFormValues: responses[0].value,\r\n },\r\n () => {\r\n let statusName = \"\";\r\n if (this.state.generalFormValues.statusName == undefined) {\r\n statusName = \"1\";\r\n } else if (this.state.generalFormValues.statusName == \"Assigned\") {\r\n statusName = \"Assigned\";\r\n }\r\n\r\n if (\r\n (this.state.pickupStatusID === 1 &&\r\n //added condition for live issue : L15473\r\n this.state.generalFormValues.statusName !== \"4\" &&\r\n this.state.generalFormValues.statusName !== \"5\") ||\r\n statusName === \"1\" ||\r\n statusName === \"Assigned\" ||\r\n this.state.generalFormValues.statusName === \"8\" ||\r\n this.state.generalFormValues.statusName === \"Reschedule Requested\"\r\n || this.state.generalFormValues.statusName === \"2\" // added by hasti\r\n ) {\r\n this.addUpdatePickup();\r\n } else if (this.state.generalFormValues.statusName === \"5\") {\r\n this.reschedulePickup();\r\n } else if (this.state.generalFormValues.statusName === \"4\") {\r\n this.cancelPickup();\r\n }\r\n }\r\n );\r\n }\r\n });\r\n };\r\n\r\n getDeliveryDate = (dateObj) => {\r\n this.setState({ deliveryDate: dateObj });\r\n };\r\n\r\n getValidCode = (value) => {\r\n this.setState({ isValidCode: value });\r\n };\r\n\r\n getStoreIDAndNameByCustAddress = (value) => {\r\n this.setState({\r\n storeData: {\r\n data: value,\r\n },\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {/* {JSON.stringify(this.state)} */}\r\n {/**\r\n * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={[\r\n this.state.mode === \"edit\"\r\n ? labels.EDIT\r\n : this.state.mode === \"view\"\r\n ? labels.VIEW\r\n : labels.ADD,\r\n labels.PICKUP,\r\n ].join(\" \")}\r\n />\r\n\r\n
\r\n
\r\n {/**\r\n * Steps Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/steps/\r\n * https://ant.design/components/steps/#API\r\n *\r\n */}\r\n this.setState({ activeStep: current })}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.activeStep === -1 ? \"Loading....\" : null}\r\n
\r\n \r\n {this.state.isGeneralFromCall ? (\r\n this.props.history.goBack()}\r\n nextFunction={this.handleSubmit}\r\n pickupStatusID={this.state.pickupStatusID}\r\n getDeliveryDateFunction={this.getDeliveryDate}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n isValidCodeMethod={this.getValidCode}\r\n isValidCode={this.state.isValidCode}\r\n sourceFromDelivery={this.state.sourceFromDelivery}\r\n submitbtnloading={this.state.submitbtnloading}\r\n getStoreIDStoreName={\r\n this.getStoreIDAndNameByCustAddress\r\n }\r\n storeID={this.state.storeID}\r\n pickupID={this.state.pickupID}\r\n pickupTimeSlotName={this.state.pickupTimeSlotName}\r\n />\r\n ) : (\r\n this.props.history.goBack()}\r\n nextFunction={this.handleSubmit}\r\n pickupStatusID={this.state.pickupStatusID}\r\n getDeliveryDateFunction={this.getDeliveryDate}\r\n isActive={this.state.activeStep === 0}\r\n instance={this.generalForm}\r\n mode={this.state.mode}\r\n isValidCodeMethod={this.getValidCode}\r\n isValidCode={this.state.isValidCode}\r\n sourceFromDelivery={this.state.sourceFromDelivery}\r\n submitbtnloading={this.state.submitbtnloading}\r\n getStoreIDStoreName={\r\n this.getStoreIDAndNameByCustAddress\r\n }\r\n pickupID={this.state.pickupID}\r\n pickupTimeSlotName={this.state.pickupTimeSlotName}\r\n />\r\n )}\r\n\r\n \r\n this.setState({ activeStep: this.state.activeStep - 1 })\r\n }\r\n // nextFunction={this.handleSubmit}\r\n isActive={this.state.activeStep === 1}\r\n instance={this.contactForm}\r\n mode={this.state.mode}\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(AddPickup);\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class ResortingAndpackagingServices {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async GetPackingDetailsBySplitOrder(splitOrder) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_FACTORY_URL });\r\n allFactoriesAPI.createEntity({\r\n name: this.endpoint.GET_PACKING_DETAILS_BY_SPLIT_ORDER,\r\n });\r\n let factories = [];\r\n let factoryID = parseInt(localStorage.getItem(\"branchID\"));\r\n let payload = \"?tagNumber=\" + splitOrder + \"&FactoryID=\" + factoryID;\r\n await allFactoriesAPI.endpoints[\r\n this.endpoint.GET_PACKING_DETAILS_BY_SPLIT_ORDER\r\n ]\r\n .getOne(payload, {})\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.GetPackingDetailsBySplitOrder(splitOrder);\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async GenerateStickers(postSave) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GENERATE_STICKERS });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GENERATE_STICKERS]\r\n .create(postSave)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GenerateStickers(postSave);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async GetStickerInfoToPrint(stikerId) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STIKER_INFO_TO_PRINT });\r\n let itemArray = [];\r\n var param = \"?StickerID=\" + stikerId;\r\n await myApi.endpoints.GetStickerInfoToPrint.getOne(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.GetStickerInfoToPrint(stikerId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async ResortingAndPackagingList(param) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.RESORTING_AND_PACKAGING_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints.ResortingAndPackagingList.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport StickerStyles from \"../../Common/Styles/ResortingAndPackagingSticker.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n} from \"antd\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport Box from \"../../Common/Box/box\";\r\nimport Logo from \"../../../images/Common/Logo.png\";\r\nvar Barcode = require(\"react-barcode\");\r\n\r\nexport default class StikerPrint extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n const hh = this.props.printInfo;\r\n return (\r\n
\r\n {\r\n // NOTE: could just as easily return . Do NOT pass an `onClick` prop\r\n // to the root node of the returned component as it will be overwritten.\r\n return Print this out!;\r\n }}\r\n content={() => this.componentRef}\r\n pnintInfo={this.props}\r\n />\r\n (this.componentRef = el)}\r\n printInfo={this.props.printInfo}\r\n stickerID={this.props.stickerID}\r\n customerID={this.props.customerID}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass ComponentToPrint extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n var rows = [];\r\n var numrows = this.props.printInfo.lstStickerInfoToPrintGarmentData;\r\n numrows = numrows.slice(Math.max(numrows.length - 4, 0)); // To get last 4 records from the array\r\n // const hh = this.props\r\n const data = this.props.printInfo.lstStickerInfoToPrintStickerData.map(\r\n (element, index) => {\r\n return (\r\n //
\r\n
\r\n
\r\n
\r\n {element.storeName}\r\n

\r\n
\r\n
\r\n
\r\n {element.customerName}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Order Size: {element.noOfGarment}\r\n
\r\n
\r\n
\r\n
\r\n {element.splitOrderNumber}\r\n
\r\n
\r\n
\r\n {numrows.map(x => {\r\n return (\r\n \r\n {x.packingMaterialName}\r\n \r\n {x.count ? x.count : 0} / {x.previousCount ? x.previousCount : 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 return (\r\n \r\n {/* //repeat this in case of multiple stickers */}\r\n {data}\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass Example extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n const hh = this.props;\r\n return (\r\n
\r\n {\r\n // NOTE: could just as easily return . Do NOT pass an `onClick` prop\r\n // to the root node of the returned component as it will be overwritten.\r\n return Print this out!;\r\n }}\r\n content={() => this.componentRef}\r\n pnintInfo={this.props}\r\n pageStyle=\"@page { size: auto; margin: 0mm; } @media print { body { -webkit-print-color-adjust: exact; } }\"\r\n />\r\n (this.componentRef = el)} />\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n// import styles from \"../../Common/Styles/master.module.css\";\r\nimport styles from \"./resortingandpackaging.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport Common from \"../../../services/common\";\r\nimport { RegexInteger, MessageNumbers } from \"../../../shared/validator\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n faPlus,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Collapse,\r\n Table,\r\n AutoComplete,\r\n Tooltip,\r\n Popconfirm,\r\n Divider,\r\n notification,\r\n Modal,\r\n Empty,\r\n InputNumber,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ResortingAndPackagingServices from \"../../../services/resortingandpackagingservice\";\r\nimport FactoryService from \"../../../services/factoryservice\";\r\nimport Item from \"antd/lib/list/Item\";\r\nimport GeneratePrintInfo from \"./printstikerprint\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { from } from \"rxjs\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Moment from \"moment\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Panel } = Collapse;\r\nconst { Option } = Select;\r\n\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\nlet formReference = React.createRef();\r\nexport default class ResortingAndPackagingInfo extends React.Component {\r\n resortingAndPackaging = new ResortingAndPackagingServices();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n commonReq = new Common();\r\n state = {\r\n factoryData: {\r\n status: 1,\r\n },\r\n fullLoading: false,\r\n listItemTableLoading: false,\r\n generateBtnLoading: false,\r\n resortingAndPackagingServices: null,\r\n rowselectedvalue: 0,\r\n selectedRowKeys: [],\r\n getNoOfGarmentPackingRes: [],\r\n listItemsRes: [],\r\n postData: [],\r\n searchGarmentNo: \"\",\r\n finalNoOfgarmentPackings: [],\r\n packedGarments: [],\r\n showAddPopup: false,\r\n printInfo: [],\r\n stickerID: 0,\r\n isStikerGenerated: true,\r\n iscallGraments: false,\r\n lastPackedDate: \"\",\r\n };\r\n formRef = React.createRef();\r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"garmentID\",\r\n key: \"garmentID\",\r\n },\r\n {\r\n title: labels.GARMENT_NAME,\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n },\r\n {\r\n title: labels.NO_OF_GARMENTS,\r\n dataIndex: \"totalGarments\",\r\n key: \"totalGarments\",\r\n },\r\n {\r\n title: labels.GARMENTS_PACKED,\r\n dataIndex: \"packedGarments\",\r\n key: \"packedGarments\",\r\n },\r\n {\r\n title: labels.PENDING_GARMENTS,\r\n dataIndex: \"notPackedGarments\",\r\n key: \"notPackedGarments\",\r\n },\r\n {\r\n title: labels.PACKING_GARMENTS,\r\n key: \"packingGarments\",\r\n render: (text, record, index) => (\r\n \r\n {record.notPackedGarments > 0 ? (\r\n \r\n {\r\n let updated = [...this.state.listItemsRes];\r\n let oldvalue = parseInt(updated[index].notPackedGarments);\r\n let newValue = ![null, undefined, \"\"].includes(e)\r\n ? parseInt(e)\r\n : 0;\r\n if (oldvalue >= newValue && newValue != 0) {\r\n updated[index].packingGarments = ![\r\n null,\r\n undefined,\r\n \"\",\r\n ].includes(e)\r\n ? parseInt(e)\r\n : 0;\r\n } else if (newValue == 0) {\r\n updated[index].packingGarments = \"\";\r\n } else {\r\n updated[index].packingGarments = newValue;\r\n if (![null, undefined, \"\"].includes(e))\r\n openNotificationWithIcon(\r\n \"info\",\r\n labels.RESORTING_AND_PACKAGING,\r\n labels.ENTERED_NUMBER_SHOULD_BE_SMALLER_THEN_NO_OF_PENDING_GARMENTS\r\n );\r\n }\r\n this.setState({ listItemsRe: updated });\r\n if (this.state.postData.stickerWiseGarments != undefined) {\r\n var isEnable = false;\r\n this.state.postData.stickerWiseGarments.forEach(\r\n (element, index) => {\r\n updated.forEach((element1) => {\r\n if (element1.key == element.garmentID) {\r\n let newArray = { ...this.state.postData };\r\n newArray.stickerWiseGarments[index].qty =\r\n element1.packingGarments;\r\n this.setState({ postData: newArray });\r\n\r\n if (\r\n [null, undefined, \"\"].includes(\r\n element1.packingGarments\r\n ) ||\r\n element1.notPackedGarments <\r\n element1.packingGarments\r\n ) {\r\n this.setState({ isStikerGenerated: true });\r\n isEnable = true;\r\n } else {\r\n if (!isEnable) {\r\n this.setState({ isStikerGenerated: false });\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 componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n this.setState({ isStikerGenerated: true, iscallGraments: false });\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.RESORT_PACK\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n this.GetPackingDetailsBySplitOrder();\r\n this.getNoOfGarmentPackingList();\r\n }\r\n\r\n GetPackingDetailsBySplitOrder = () => {\r\n if (this.state.searchGarmentNo == \"\") {\r\n return false;\r\n }\r\n this.setState({ listItemTableLoading: true });\r\n this.resortingAndPackaging\r\n .GetPackingDetailsBySplitOrder(this.state.searchGarmentNo)\r\n .then((res) => {\r\n console.log(\"res->\", res);\r\n if (res.data != undefined) {\r\n if (res.data.orderType == 2 && res.data.rewashReason != undefined) {\r\n notification[\"info\"]({\r\n message: \"Rewash Order – Pls check carefully\",\r\n description: res.data.rewashReason,\r\n });\r\n }\r\n }\r\n const listItems =\r\n res != undefined && res.result == \"Success\"\r\n ? res.data.vMPackingGarmentDetails.map((item, index) => ({\r\n key: item.garmentID,\r\n garmentID: index + 1,\r\n garmentName: item.garmentName,\r\n packedGarments: item.packedGarments,\r\n totalGarments: item.totalGarments,\r\n notPackedGarments: item.notPackedGarments,\r\n packingGarments: item.notPackedGarments,\r\n }))\r\n : [];\r\n\r\n this.setState({\r\n listItemsRes: listItems,\r\n resortingAndPackagingServices: res.data,\r\n lastPackedDate:\r\n res.data.lastPackedDate !== \"0001-01-01T00:00:00\"\r\n ? Moment(res.data.lastPackedDate).format(\"Do MMMM, YYYY HH:mm\")\r\n : \"\",\r\n });\r\n this.setState({ listItemTableLoading: false });\r\n if (listItems.length == 0) {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: labels.TAG_NUMBER_NOT_FOUND,\r\n });\r\n }\r\n });\r\n };\r\n\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n if (selectedRows.length > 0) {\r\n let updated = [];\r\n let updated1 = [];\r\n let res = this.setState({ postData: { stickerWiseGarments: [] } });\r\n selectedRows.forEach((element) => {\r\n updated.push({\r\n garmentID: element.key,\r\n qty: element.packingGarments,\r\n });\r\n updated1.push({\r\n garmentID: element.key,\r\n qty: element.packingGarments,\r\n notPackedGarments: element.notPackedGarments,\r\n });\r\n });\r\n this.setState(\r\n {\r\n postData: {\r\n ...this.state.postData,\r\n stickerWiseGarments: updated,\r\n },\r\n },\r\n () => {\r\n if (this.state.postData.stickerWiseGarments != undefined) {\r\n this.setState({ isStikerGenerated: false });\r\n } else {\r\n this.setState({ isStikerGenerated: true });\r\n }\r\n\r\n if (this.state.postData.stickerWiseGarments != undefined) {\r\n var isEnable = false;\r\n updated1.forEach((element) => {\r\n if (element.qty == \"\") {\r\n this.setState({ isStikerGenerated: true }, () => {\r\n isEnable = true;\r\n });\r\n } else {\r\n if (!isEnable) {\r\n this.setState({ isStikerGenerated: false });\r\n }\r\n }\r\n });\r\n } else {\r\n this.setState({ isStikerGenerated: true });\r\n }\r\n selectedRows.forEach((element) => {\r\n if (element.notPackedGarments < element.packingGarments) {\r\n this.setState({ isStikerGenerated: true });\r\n }\r\n // else {\r\n // this.setState({ isStikerGenerated: false });\r\n // }\r\n });\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n isStikerGenerated: true,\r\n postData: { stickerWiseGarments: [] },\r\n });\r\n }\r\n\r\n this.setState({ selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.notPackedGarments == 0, // Column configuration not to be checked\r\n name: record.notPackedGarments,\r\n }),\r\n };\r\n\r\n handleAddpackingList = (e) => {\r\n var pmid = e.target.attributes.getNamedItem(\"data-enumid\").value;\r\n var update = [...this.state.getNoOfGarmentPackingRes];\r\n var key = update.findIndex(\r\n (item) => item.packingGarmentId == parseInt(pmid)\r\n );\r\n update[key].packingQty =\r\n e.target.value != \"\" ? parseInt(e.target.value) : 0;\r\n this.setState(\r\n {\r\n getNoOfGarmentPackingRes: update,\r\n },\r\n () => {\r\n var updated = [];\r\n this.setState({ finalNoOfgarmentPackings: [] });\r\n let mapArray = [...this.state.getNoOfGarmentPackingRes];\r\n mapArray.forEach((element) => {\r\n if (element.packingQty !== 0) {\r\n updated.push({\r\n pmid: element.packingGarmentId,\r\n qty: element.packingQty,\r\n });\r\n }\r\n });\r\n this.setState({ finalNoOfgarmentPackings: updated });\r\n }\r\n );\r\n };\r\n\r\n getNoOfGarmentPackingList = () => {\r\n this.commonReq.GetSystemEnums(\"PackingMaterial\").then((res) => {\r\n if (res.statusCode === 200) {\r\n let data = [];\r\n res.data.forEach((element) => {\r\n data.push({\r\n packingGarmentId: element.enumDetailID,\r\n packingGarmentName: element.enumDetailName,\r\n packingQty: 0,\r\n });\r\n });\r\n this.setState({\r\n getNoOfGarmentPackingRes: data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: res.message ? this.commonReq.Message(res.message) : null,\r\n });\r\n }\r\n });\r\n };\r\n\r\n onChangeText = (e) => {\r\n this.setState({ searchGarmentNo: e.target.value });\r\n };\r\n\r\n fromInstance = React.createRef;\r\n\r\n componentDidMount() {\r\n // this.getFactoryData(parseInt(localStorage.getItem(\"branchID\")));\r\n }\r\n factoryService = new FactoryService();\r\n // getFactoryData = (id) => {\r\n // this.setState({ fullLoading: true });\r\n // this.factoryService.getFactory(id).then((response) => {\r\n // if (response.statusCode === 200) {\r\n\r\n // this.setState({\r\n // factoryData: {\r\n // ...this.state.factoryData,\r\n // status: response.data.status,\r\n // },\r\n // fullLoading: false,\r\n // });\r\n // }\r\n // });\r\n // };\r\n render() {\r\n //const data = gRes\r\n\r\n const data = this.state.resortingAndPackagingServices;\r\n const garmentPackedIn =\r\n data != null ? (\r\n data.vMPackingMaterial.map((item, index) => {\r\n return (\r\n
\r\n \r\n \r\n {item.packingMaterial}\r\n {\" \"}\r\n {item.count}\r\n \r\n
\r\n );\r\n })\r\n ) : (\r\n \r\n );\r\n const getNoOfGarmentPackingList = this.state.getNoOfGarmentPackingRes.map(\r\n (item, index) => {\r\n return (\r\n \r\n \r\n {item.packingGarmentName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n );\r\n\r\n return (\r\n \r\n
\r\n          {/* {JSON.stringify(this.state.finalNoOfgarmentPackings, null, 2)} */}\r\n        
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n }\r\n className={styles.AddButton}\r\n variant=\"whitePink\"\r\n valaue={this.state.searchGarmentNo || \"\"}\r\n onClick={this.GetPackingDetailsBySplitOrder}\r\n style={{ width: 80 }}\r\n >\r\n {labels.SEARCH}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {this.state.resortingAndPackagingServices != null ? (\r\n \r\n
\r\n {labels.CUSTOMER_NAME}\r\n
\r\n
\r\n {this.state.resortingAndPackagingServices.customerName}\r\n
\r\n
\r\n ) : null}\r\n \r\n \r\n {this.state.resortingAndPackagingServices != null ? (\r\n \r\n
\r\n {labels.SRORE_NAME}\r\n
\r\n
\r\n {this.state.resortingAndPackagingServices.storeName}\r\n
\r\n
\r\n ) : null}\r\n \r\n \r\n {this.state.resortingAndPackagingServices != null ? (\r\n \r\n
\r\n {\" \"}\r\n {labels.NO_OF_GARMENTS}\r\n
\r\n
\r\n {this.state.resortingAndPackagingServices.noofGarment}\r\n
\r\n
\r\n ) : null}\r\n \r\n \r\n {this.state.resortingAndPackagingServices != null ? (\r\n \r\n
\r\n {\" \"}\r\n {labels.SPLIT_ORDER_NUMBER}\r\n
\r\n
\r\n {\r\n this.state.resortingAndPackagingServices\r\n .splitOrderNumber\r\n }\r\n
\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n null}\r\n className={styles.GarmentSelectionCollapse}\r\n >\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 className={styles.GarmentSelectionCollapse}\r\n >\r\n \r\n // 0\r\n // ? this.state.resortingAndPackagingServices.lastPackedDate\r\n // : null\r\n }\r\n >\r\n
\r\n
\r\n {garmentPackedIn}\r\n
\r\n \r\n \r\n null}\r\n className={styles.GarmentSelectionCollapse}\r\n >\r\n \r\n
\r\n
\r\n \r\n
{getNoOfGarmentPackingList}
\r\n \r\n
\r\n
\r\n
\r\n \r\n {labels.GENERATE_STICKER}\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n // : (\r\n //
\r\n // {labels.THIS_ACTION_CAN_NOT_BE_PERFORMED_FROM_A_CLOSED_FACTORY}\r\n //
\r\n // )\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n /*: (*/\r\n );\r\n }\r\n\r\n generateStiker = () => {\r\n // if (this.fromInstance.current.getFieldsError().length > 0) {\r\n // notification[\"error\"]({\r\n // message: \"Packing garments value must have less then no of packed garments !\",\r\n // });\r\n // return false;\r\n // }\r\n if (this.state.finalNoOfgarmentPackings.length == 0) {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description:\r\n labels.PLEASE_SELECT_ATLEAST_ONE_PENDING_GARMENTS_TO_BE_PACKED_IN,\r\n });\r\n return false;\r\n }\r\n if (\r\n ![undefined, null, []].includes(this.state.finalNoOfgarmentPackings) &&\r\n this.state.finalNoOfgarmentPackings.length > 0\r\n ) {\r\n let count = 0;\r\n this.state.finalNoOfgarmentPackings.forEach((element) => {\r\n count = count + parseInt(element.qty);\r\n });\r\n\r\n if (count > 99) {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: labels.SELECT_PACKING_MATERIAL,\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n // return false;\r\n var userId = jwt.decode(\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n ).unique_name;\r\n let packedGarments = 0;\r\n // if (this.state.postData.length == 0) return;\r\n this.state.postData.stickerWiseGarments.forEach((element) => {\r\n packedGarments = element.qty + packedGarments;\r\n });\r\n\r\n console.log(\"packedGarments :::\" + packedGarments);\r\n console.log(\"factID\", parseInt(localStorage.getItem(\"branchID\")));\r\n this.setState(\r\n {\r\n postData: {\r\n ...this.state.postData,\r\n packedMaterials: this.state.finalNoOfgarmentPackings,\r\n splitOrderNumber:\r\n this.state.resortingAndPackagingServices.splitOrderNumber, //this.state.searchGarmentNo,\r\n customerID: this.state.resortingAndPackagingServices.customerID,\r\n storeID: this.state.resortingAndPackagingServices.storeID,\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n packedGarments: packedGarments,\r\n userID: parseInt(userId),\r\n },\r\n },\r\n () => {\r\n this.setState({ generateBtnLoading: true });\r\n this.resortingAndPackaging\r\n .GenerateStickers(this.state.postData)\r\n .then((res) => {\r\n this.setState({ generateBtnLoading: false });\r\n this.setState({ iscallGraments: false });\r\n if (\r\n res.statusCode == 200 &&\r\n res.result.toLowerCase() === \"success\"\r\n ) {\r\n openNotificationWithIcon(\r\n \"success\",\r\n labels.RESORTING_AND_PACKAGING,\r\n labels.STICKER_SUCCESSFULLY_GENERATED\r\n );\r\n this.setState({ printInfo: [], postData: [] });\r\n if (res.data.stickerID != \"\") {\r\n this.setState({ generateBtnLoading: true });\r\n this.resortingAndPackaging\r\n .GetStickerInfoToPrint(parseInt(res.data.stickerID))\r\n .then((res) => {\r\n this.setState(\r\n {\r\n showAddPopup: true,\r\n printInfo: res.data,\r\n stickerID: res.data.stickerID,\r\n },\r\n () => {\r\n this.setState({\r\n listItemsRes: [],\r\n resortingAndPackagingServices: {\r\n vMPackingMaterial: [],\r\n },\r\n });\r\n formReference.current.resetFields();\r\n }\r\n );\r\n this.setState({ generateBtnLoading: false });\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: labels.UNABLE_TO_GET_STICKERID,\r\n });\r\n }\r\n } else {\r\n //Umesh - added for throw error when try to pack already packed garment.\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: labels.GARMENT_ALREADY_PACKED,\r\n });\r\n }\r\n });\r\n }\r\n );\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n window.location.reload();\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n // this.resetFields();\r\n window.location.reload();\r\n };\r\n}\r\n","import React from \"react\";\r\nimport ResortingAndPackagingInfo from \"../../../components/FactoryModule/ResortingAndPackaging/ResortingAndPackaging.component\";\r\n\r\nexport default class ResortingAndPackagingScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport NoticeBoardService from \"../../services/noticeboardservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n noticeBoardService = new NoticeBoardService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n modalLoading: false,\r\n noticeID: 0,\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showAddPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.NOTICE_BOARD\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"User Name\",\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Notice\",\r\n dataIndex: \"notice\",\r\n key: \"notice\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (notice) => (\r\n \r\n {notice}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Created Date\",\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"view\",\r\n noticeID: record.noticeID,\r\n currentExpense: {\r\n notice: record.notice,\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n noticeID: record.noticeID,\r\n currentExpense: {\r\n notice: record.notice,\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n this.handleDelete(record.noticeID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n this.getNoticeList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n handleDelete = (id) => {\r\n this.setState({ tableLoading: true });\r\n this.noticeBoardService.deleteNotice(id).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Notice Board\",\r\n description: \"Notice deleted successfully\",\r\n });\r\n this.getNoticeList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Notice Board\",\r\n description: \"Unable to delete notice\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n addUpdateNotice = (values) => {\r\n let params = {\r\n noticeID: this.state.noticeID,\r\n notice: values.notice,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.noticeBoardService.addUpdateNotice(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Notice Board\",\r\n description: \"Form Submitted successfully\",\r\n });\r\n this.getNoticeList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showAddPopup: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Notice Board\",\r\n description: \"Unable to submit data\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n getNoticeList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.noticeBoardService\r\n .getAllNoticeList(index, size, sortColumn, sortOrder, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.noticeID;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Notice Board\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of notices\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getNoticeList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.setState({\r\n noticeID: 0,\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Notice\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getNoticeList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n this.addUpdateNotice(values);\r\n }}\r\n initialValues={this.state.currentExpense}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport NoticeBoard from \"../../components/NoticeBoard/noticeboard.component\";\r\n\r\nexport default class NoticeBoardScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport NoticeBoardService from \"../../services/noticeboardservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../shared/language\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class appsflyercomponent extends Component {\r\n noticeBoardService = new NoticeBoardService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n FromDate: moment(ONE_MONTHS_AGO),\r\n ToDate: moment(),\r\n modalLoading: false,\r\n noticeID: 0,\r\n showfilterBox: true,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showAddPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n JSONData: {},\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.APPSFLYER\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Customer ID\",\r\n dataIndex: \"customerID\",\r\n key: \"customerID\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Customer Name\",\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Mobile No\",\r\n dataIndex: \"mobileNo\",\r\n key: \"mobileNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"EmailID\",\r\n dataIndex: \"emailID\",\r\n key: \"emailID\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Event Name\",\r\n dataIndex: \"eventName\",\r\n key: \"eventName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Created Date\",\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {console.log(\"record->\", record)}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"view\",\r\n JSONData: {\r\n json: record.json,\r\n },\r\n },\r\n () => this.setState({ showAddPopup: true })\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 componentDidMount() {\r\n this.getAppsFlyerData({\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n PageIndex: this.state.pagination.current,\r\n PageSize: this.state.pagination.pageSize,\r\n SortColumn: this.state.sorter.field,\r\n SortOrder: this.state.sorter.order,\r\n CommonSearch: this.state.search,\r\n });\r\n }\r\n\r\n getAppsFlyerData = (params = {}) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.noticeBoardService.retrieveItems(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ factories: response.data });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: response.data.length ? response.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"AppsFlyer\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get AppsFlyer data.\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getAppsFlyerData({\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n PageIndex: this.state.pagination.current,\r\n PageSize: this.state.pagination.pageSize,\r\n SortColumn: this.state.sorter.field,\r\n SortOrder: this.state.sorter.order,\r\n CommonSearch: event.target.value.toString().toLowerCase(),\r\n });\r\n }}\r\n />,\r\n\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.getAppsFlyerData({\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n PageIndex: this.state.pagination.current,\r\n PageSize: this.state.pagination.pageSize,\r\n SortColumn: this.state.sorter.field,\r\n SortOrder: this.state.sorter.order,\r\n CommonSearch: this.state.search,\r\n })\r\n }\r\n initialValues={{\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n this.handleDateChange(date, \"FromDate\")}\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"ToDate\")}\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getAppsFlyerData({\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n PageIndex: pagination.current,\r\n PageSize: pagination.pageSize,\r\n SortColumn: this.state.sorter.field,\r\n SortOrder: this.state.sorter.order,\r\n CommonSearch: this.state.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 {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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","import React, { Component } from 'react';\r\nimport Appsflyercomponent from '../../components/AppsFlyer/appsflyer.component';\r\n\r\nexport default class appsflyer extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Checkbox,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faPencilAlt,\r\n faInfo,\r\n faChevronUp,\r\n // faInfo\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport OrderService from \"../../../services/createorderservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst TWO_MONTHS_AGO = new Date();\r\nTWO_MONTHS_AGO.setMonth(TWO_MONTHS_AGO.getMonth() - 1);\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 6 August 2020\r\n */\r\nclass Master extends React.Component {\r\n orderService = new OrderService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n showfilterBox: true,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n orderFromDate: moment(TWO_MONTHS_AGO),\r\n orderToDate: moment(),\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n OrderRequestStatusFilter: {\r\n data: [],\r\n selected: \"1,2,3,4,5,6\",\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ORDER_LIST\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n \r\n ) : null}\r\n {record.storeID.toString() === localStorage.getItem(\"branchID\") ? (\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null\r\n ) : null}\r\n \r\n ),\r\n },\r\n {\r\n title: labels.ID,\r\n dataIndex: \"orderID\",\r\n key: \"orderID\",\r\n width: \"3%\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PLATFORM,\r\n dataIndex: \"platform\",\r\n key: \"platform\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ORDER_COUNT,\r\n dataIndex: \"orderCount\",\r\n key: \"orderCount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PICKUP_ID,\r\n dataIndex: \"pickupID\",\r\n key: \"pickupID\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PICK_BOY,\r\n dataIndex: \"pickupBoy\",\r\n key: \"pickupBoy\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.REQUEST_CREATED_DATE,\r\n dataIndex: \"requestCreateddatetime\",\r\n key: \"requestCreateddatetime\",\r\n sorter: true,\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY HH:mm:ss\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: labels.PICKUP_DATE,\r\n dataIndex: \"pickupDate\",\r\n key: \"pickupDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: labels.PICKUP_TIMESLOT,\r\n dataIndex: \"pickupSlotName\",\r\n key: \"pickupSlotName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ORDER_CREATED_DATE,\r\n dataIndex: \"orderCreatedDateTime\",\r\n key: \"orderCreatedDateTime\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n {\r\n title: labels.STATUS,\r\n dataIndex: \"orderStatusName\",\r\n key: \"orderStatusName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.CUST_MO_No,\r\n dataIndex: \"custMobileNo\",\r\n key: \"custMobileNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER_TYPE,\r\n dataIndex: \"customerType\",\r\n key: \"customerType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.GARMENTS,\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.AMOUNT,\r\n dataIndex: \"finalOrderAmount\",\r\n key: \"finalOrderAmount\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TYPE,\r\n dataIndex: \"orderType\",\r\n key: \"orderType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PROMO_CODE,\r\n dataIndex: \"promocode\",\r\n key: \"promocode\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.ON_DEMAND_WALK_IN,\r\n dataIndex: \"ondemandWalkIn\",\r\n key: \"ondemandWalkIn\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getOrderRequestStatusList();\r\n if (\r\n this.props.location.state !== undefined &&\r\n this.props.location.state !== null\r\n ) {\r\n if (\r\n this.props.location.state.search !== undefined &&\r\n this.props.location.state.search !== null\r\n ) {\r\n //debugger;\r\n this.setState({ search: this.props.location.state.search }, () => {\r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n });\r\n } else {\r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n } else {\r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n }\r\n\r\n getOrderRequestStatusList = () => {\r\n this.orderService.getOrderRequestStatusList().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n OrderRequestStatusFilter: {\r\n ...this.state.OrderRequestStatusFilter,\r\n data: data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getOrderList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.orderService\r\n .getOrderList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch,\r\n this.state.OrderRequestStatusFilter.selected,\r\n moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n {\r\n pagination: { ...this.state.pagination, current: 1 },\r\n tableLoading: false,\r\n },\r\n () => {\r\n this.getOrderList(1, size, sortColumn, sortOrder, search);\r\n }\r\n );\r\n }\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.factoryID;\r\n singleData.openingDate = moment(singleData.openingDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n singleData.operatingTimeFrom = moment(\r\n singleData.operatingTimeFrom,\r\n \"H:mm\"\r\n ).format(\"h:mm a\");\r\n singleData.operatingTimeTo = moment(\r\n singleData.operatingTimeTo,\r\n \"H:mm\"\r\n ).format(\"h:mm a\");\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n console.log(\"factoryData->\",factoryData);\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_ORDERS,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleChangeBranch = () => {\r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n render() {\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n return (\r\n
\r\n \r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n OrderRequestStatusFilter: {\r\n ...this.state.OrderRequestStatusFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n },\r\n () => {\r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n )\r\n }\r\n >\r\n {/* {this.state.OrderRequestStatusFilter.length !== 0? */}\r\n {\r\n this.state.OrderRequestStatusFilter.data.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n {x.label}\r\n \r\n ) : null;\r\n })\r\n // :null\r\n // }\r\n }\r\n \r\n
,\r\n
\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n
\r\n this.props.history.push(ROUTES.CREATE_ORDER)}\r\n key=\"2\"\r\n >\r\n {labels.CREATE_ORDER}\r\n \r\n
\r\n ) : null,\r\n\r\n //
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n // key=\"5\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.getOrderList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n )\r\n }\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getOrderList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n scroll={\r\n this.columns.length < 4\r\n ? { x: 0 }\r\n : this.columns.length < 6\r\n ? { x: 1000 }\r\n : this.columns.length > 6 && this.columns.length <= 12\r\n ? { x: 1400 }\r\n : { x: 2000 }\r\n }\r\n // scroll={{ y: 'calc(100vh - 4em)' }}\r\n // scroll={{ scrollToFirstRowOnChange: false }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport OrderListComponent from \"../../../components/StoreModule/Order/orderlist.component\";\r\n\r\nexport default class OrderList extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport Common from \"./common\";\r\n\r\nexport default class DeliveryList {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getStoreUsers() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_USER_LIST_BY_STORE,\r\n });\r\n let itemArray = [];\r\n let ID = \"?storeID=\" + parseInt(localStorage.getItem(\"branchID\"));\r\n await myApi.endpoints[this.endpoint.GET_USER_LIST_BY_STORE]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreUsers();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getDeliveryStatusList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SYSTEME_NUMS,\r\n });\r\n let append = \"?EnumNames=DeliveryStatus\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getDeliveryStatusList();\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n async getAllDeliveryList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n selectedBranch = null,\r\n selectedDeliveryStatusFilter = null,\r\n showEscalatedDelivery=null,\r\n deliveryFromDate,\r\n deliveryToDate,\r\n deliverySlot\r\n\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_DELIVERY_REQUESTS,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_DELIVERY_REQUESTS]\r\n .getAllPost({\r\n StoreID: [null, undefined, \"\"].includes(selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : selectedBranch,\r\n // storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n DeliveryStatusID: selectedDeliveryStatusFilter,\r\n IsEscalate:showEscalatedDelivery,\r\n DeliveryFromDate:deliveryFromDate,\r\n DeliveryToDate:deliveryToDate,\r\n DeliverySlot:deliverySlot,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n sourceFrom: 1,\r\n })\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getAllDeliveryList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async reassignDeliveryRequest(params) {\r\n const reassign = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n reassign.createEntity({\r\n name: this.endpoint.REASSIGN_DELIVERY_REQUEST,\r\n });\r\n let reassignDelivery = [];\r\n await reassign.endpoints[this.endpoint.REASSIGN_DELIVERY_REQUEST]\r\n .create(params)\r\n .then((response) => {\r\n reassignDelivery = response.data;\r\n })\r\n .catch((err) => {\r\n reassignDelivery = this.common.handleError(err);\r\n });\r\n if (reassignDelivery.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n reassignDelivery = this.reassignDeliveryRequest(params);\r\n });\r\n }\r\n return Promise.resolve(reassignDelivery);\r\n }\r\n\r\n async rescheduleDeliveryRequest(params) {\r\n const reschedule = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n reschedule.createEntity({\r\n name: this.endpoint.RESCHEDULE_DELIVERY_REQUEST,\r\n });\r\n let rescheduleDelivery = [];\r\n await reschedule.endpoints[this.endpoint.RESCHEDULE_DELIVERY_REQUEST]\r\n .create(params)\r\n .then((response) => {\r\n rescheduleDelivery = response.data;\r\n })\r\n .catch((err) => {\r\n rescheduleDelivery = this.common.handleError(err);\r\n });\r\n if (rescheduleDelivery.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n rescheduleDelivery = this.rescheduleDeliveryRequest(params);\r\n });\r\n }\r\n return Promise.resolve(rescheduleDelivery);\r\n }\r\n\r\n async cancelDeliveryRequest(params) {\r\n const cancel = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n cancel.createEntity({\r\n name: this.endpoint.CANCEL_DELIVERY_REQUEST,\r\n });\r\n let cancelDelivery = [];\r\n await cancel.endpoints[this.endpoint.CANCEL_DELIVERY_REQUEST]\r\n .create(params)\r\n .then((response) => {\r\n cancelDelivery = response.data;\r\n })\r\n .catch((err) => {\r\n cancelDelivery = this.common.handleError(err);\r\n });\r\n if (cancelDelivery.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n cancelDelivery = this.cancelDeliveryRequest(params);\r\n });\r\n }\r\n return Promise.resolve(cancelDelivery);\r\n }\r\n\r\n async getTimeSlotList(storeid) {\r\n const pickupStatusListAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n pickupStatusListAPI.createEntity({\r\n name: this.endpoint.GET_STORE_TIMESLOT_LIST,\r\n });\r\n let timeslot = [];\r\n const idParam = \"?StoreID=\" + storeid;\r\n await pickupStatusListAPI.endpoints[this.endpoint.GET_STORE_TIMESLOT_LIST]\r\n .getOne(idParam)\r\n .then((response) => {\r\n timeslot = response.data;\r\n })\r\n .catch((err) => {\r\n timeslot = this.common.handleError(err);\r\n });\r\n if (timeslot.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n timeslot = this.getTimeSlotList(storeid);\r\n });\r\n }\r\n return Promise.resolve(timeslot);\r\n }\r\n\r\n async escalateDelivery(params) {\r\n const cancel = new API({\r\n url: this.config.ITEM_STORE_URL,\r\n });\r\n cancel.createEntity({\r\n name: this.endpoint.ESCALATEDELIVERY,\r\n });\r\n let cancelDelivery = [];\r\n await cancel.endpoints[this.endpoint.ESCALATEDELIVERY]\r\n .create(params)\r\n .then((response) => {\r\n cancelDelivery = response.data;\r\n })\r\n .catch((err) => {\r\n cancelDelivery = this.common.handleError(err);\r\n });\r\n if (cancelDelivery.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n cancelDelivery = this.escalateDelivery(params);\r\n });\r\n }\r\n return Promise.resolve(cancelDelivery);\r\n }\r\n\r\n async getTodayDeliverylist(param){\r\n const userAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n userAPI.createEntity({\r\n name: this.endpoint.GET_TODAY_DELIVERY_LIST,\r\n });\r\n let users = [];\r\n await userAPI.endpoints[this.endpoint.GET_TODAY_DELIVERY_LIST]\r\n .getAllPost(param)\r\n .then((response) => {\r\n users = response.data;\r\n })\r\n .catch((err) => {\r\n users = this.common.handleError(err);\r\n });\r\n if (users.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n users = this.getTodayDeliverylist(param);\r\n });\r\n }\r\n return Promise.resolve(users);\r\n }\r\n}\r\n","import React,{createRef} from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n DatePicker,\r\n Spin,\r\n Checkbox,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n // faPencilAlt,\r\n // faInfo,\r\n // faTrash,\r\n faUserEdit,\r\n faClock,\r\n faTimesCircle,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport DeliveryList from \"../../../services/storedeliverylistservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport PickupService from \"../../../services/pickupservice\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nimport storemarkerimg from \"../../../images/MapMarker/shoppurple.svg\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n deliveryListService = new DeliveryList();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n pickupService = new PickupService();\r\n common = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n UniquetimeSlot: [],\r\n SelectedTimeSlot: \"\",\r\n deliveryFromDate: moment(ONE_MONTHS_AGO),\r\n deliveryToDate: moment(),\r\n DisableReschedule: false,\r\n HolidayList: [],\r\n reschedulePopupLoading: false,\r\n reassignPopupLoading: false,\r\n cancelPopupLoading: false,\r\n expenseID: 0,\r\n showfilterBox: true,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n showReschedulePopup: false,\r\n showReassignPopup: false,\r\n showCancelRequestPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n currentDelivery: {},\r\n selectedDeliverySlot: \"\",\r\n deliverySlotFromDate: \"\",\r\n timeSlot: {\r\n disabled: true,\r\n data: [],\r\n },\r\n storeUsers: {\r\n disabled: true,\r\n data: [],\r\n },\r\n storeID: null,\r\n deliveryDateCompare: \"\",\r\n rescheduleModal: false,\r\n deliveryStatusFilter: {\r\n data: [],\r\n selected: \"2\",\r\n },\r\n showEscalatedDelivery: false,\r\n TodayDeliveryList: [],\r\n TodaySlot: [],\r\n ShowMapView: false,\r\n SelectedDeliveryData: {},\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.STORE_DELIVERY_LIST\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState(\r\n {\r\n showReassignPopup: false,\r\n showReschedulePopup: false,\r\n showCancelRequestPopup: false,\r\n rescheduleModal: true,\r\n },\r\n //when cancel button is clicked from reschedule modal only\r\n //that time need to reset the fields value\r\n //state var : deliveryDateCompare,rescheduleModal\r\n () => {\r\n if (this.state.rescheduleModal === true) {\r\n this.setState({\r\n deliveryDateCompare: \"\",\r\n deliverySlotFromDate: \"\",\r\n currentDelivery: { deliveryDate: \"\" },\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER_NO,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CUSTOMER,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n render: (text, record) => {\r\n return (\r\n \r\n
{record.customerName}
\r\n {record.customerTypeName}\r\n
\r\n );\r\n },\r\n },\r\n {\r\n title: labels.CUST_MO_No,\r\n dataIndex: \"posContactNumber\",\r\n key: \"posContactNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.ADDRESS,\r\n dataIndex: \"address\",\r\n key: \"address\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n sorter: true,\r\n render: (remarks) => {\r\n return (\r\n \r\n {remarks}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryTypeName\",\r\n key: \"deliveryTypeName\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: labels.STOREINDATE,\r\n // dataIndex: \"storeInDatetime\",\r\n // key: \"storeInDatetime\",\r\n // sorter: true,\r\n // render: (text) => {\r\n // return moment(text).format(\"YYYY-MM-DD\") === \"0001-01-01\"\r\n // ? null\r\n // : moment(text).format(\"DD-MM-YYYY\");\r\n // },\r\n // },\r\n // {\r\n // title: labels.FACTORYOUTDATE,\r\n // dataIndex: \"factoryOutDatetime\",\r\n // key: \"factoryOutDatetime\",\r\n // sorter: true,\r\n // render: (text) => {\r\n // return moment(text).format(\"YYYY-MM-DD\") === \"0001-01-01\"\r\n // ? null\r\n // : moment(text).format(\"DD-MM-YYYY\");\r\n // },\r\n // },\r\n\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.SLOT,\r\n dataIndex: \"deliverySlotName\",\r\n key: \"deliverySlotName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STATUS,\r\n dataIndex: \"statusName\",\r\n key: \"statusName\",\r\n sorter: true,\r\n // width: \"100px\",\r\n },\r\n {\r\n title: labels.DELIVERY_BOY,\r\n dataIndex: \"assignedToUserName\",\r\n key: \"assignedToUserName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.CANCEL_REMARK,\r\n dataIndex: \"cancelRemark\",\r\n key: \"cancelRemark\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (remarks) => {\r\n return (\r\n \r\n {remarks}\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: labels.ACTIONS,\r\n key: \"actions\",\r\n width: \"100px\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true &&\r\n [1, 2].includes(parseInt(record.status)) ? (\r\n \r\n \r\n this.setState(\r\n {\r\n currentDelivery: {\r\n assignedToUserID: parseInt(record.assignedToUserID),\r\n deliveryID: record.deliveryID,\r\n status: record.status,\r\n },\r\n },\r\n () => this.setState({ showReassignPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true &&\r\n [1, 2, 6].includes(parseInt(record.status)) ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n currentDelivery: {\r\n deliveryID: record.deliveryID,\r\n status: record.status,\r\n deliveryDate: moment(record.deliveryDate),\r\n deliverySlot: record.deliverySlotName,\r\n storeID: record.storeID,\r\n },\r\n },\r\n () => {\r\n this.setState({ showReschedulePopup: true });\r\n this.getTimeSlot(this.state.currentDelivery.storeID);\r\n this.getHolidayList();\r\n }\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {/* Commented By Hasti - L17172 Delivery page - remove cancel option. */}\r\n {/* {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true &&\r\n [1, 2].includes(parseInt(record.status)) ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n currentDelivery: {\r\n deliveryID: record.deliveryID,\r\n status: record.status,\r\n },\r\n },\r\n () => this.setState({ showCancelRequestPopup: true })\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 title: labels.CS_ACTION,\r\n key: \"csaction\",\r\n render: (text, record) => (\r\n \r\n \r\n this.EscalateDelivery(record.splitOrderNumber)}\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n >\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n ];\r\n\r\n EscalateDelivery = (splitOrderNumber) => {\r\n let param = {\r\n SplitOrderNumber: splitOrderNumber,\r\n };\r\n this.deliveryListService.escalateDelivery(param).then((response) => {\r\n // console.log(\"response->\", response);\r\n if (response.statusCode === 200) {\r\n // console.log(\"in if\");\r\n notification[\"success\"]({\r\n message: labels.DELIVERIES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.ESCALATED_SUCCESSFULLY,\r\n duration: 1.0,\r\n onClose: () => window.location.reload(),\r\n });\r\n } else {\r\n console.log(\"in else\");\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_ESCALATE_DELIVERY,\r\n });\r\n }\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n // if (this.props.match.path !== [\"/store/delivery-list\"]) {\r\n // return this.props.history.goBack();\r\n // }\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.getStoreUsers();\r\n this.getDeliveryStatusList();\r\n this.getSlotByStoreIDS(this.state.selectedBranch);\r\n // this.getTimeSlot();\r\n }\r\n getHolidayList = () => {\r\n var postData = parseInt(localStorage.getItem(\"branchID\"));\r\n this.pickupService.retriveHolidaylist(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n HolidayList: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_HOLIDAYLIST,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getDeliveryStatusList = () => {\r\n this.deliveryListService.getDeliveryStatusList().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n deliveryStatusFilter: {\r\n ...this.state.deliveryStatusFilter,\r\n data: data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description: labels.UNABLE_TO_GET_DATA,\r\n });\r\n }\r\n });\r\n };\r\n getStoreUsers = () => {\r\n this.deliveryListService.getStoreUsers().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n storeUsers: {\r\n ...this.state.storeUsers,\r\n disabled: false,\r\n data: response.data,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n getSlotByStoreIDS = (IDS) => {\r\n // console.log(\"IDS->\",IDS);\r\n this.pickupService.getSlotListByStoreIDS(IDS).then((response) => {\r\n if (response.statusCode === 200) {\r\n // console.log(\"response->\", response);\r\n this.setState({\r\n UniquetimeSlot: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_TIMESLOT,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getTimeSlot = (storeID) => {\r\n // if (this.state.deliverySlotFromDate !== \"\") {\r\n // this.setState({ currentDelivery: { deliverySlot: NaN } });\r\n // }\r\n // var storeid = parseInt(localStorage.getItem(\"branchID\"));\r\n this.pickupService.getTimeSlotList(storeID).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n timeSlot: {\r\n ...this.state.timeSlot,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_DATA_FOR_TIMESLOT,\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleReassign = (values) => {\r\n if (this.state.factories.length != 0) {\r\n if (![1, 2].includes(parseInt(this.state.currentDelivery.status))) {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n labels.CANNOT_REASSIGN_DELIVERY_AS_IT_IS_ALREADY_PROCEEDED_FURTHER,\r\n });\r\n } else {\r\n this.setState({ reassignPopupLoading: true });\r\n this.deliveryListService\r\n .reassignDeliveryRequest({\r\n deliveryID: values.deliveryID,\r\n assignedToUserID: values.assignedToUserID,\r\n sourceFrom: 1,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showReassignPopup: false });\r\n notification[\"success\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n response.message != undefined || response.message != null\r\n ? this.common.Message(response.message)\r\n : labels.DELIVERY_REASSIGNED_SUCCESSFULLY,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n response.message != undefined || response.message != null\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_REASSIGN_DELIVERY_REQUEST,\r\n });\r\n }\r\n this.setState({ reassignPopupLoading: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n formInstance = React.createRef();\r\n\r\n handleReschedule = (values) => {\r\n if (this.state.factories.length != 0) {\r\n if (![1, 2, 6].includes(parseInt(this.state.currentDelivery.status))) {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n labels.DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED,\r\n });\r\n } else {\r\n this.setState({ reschedulePopupLoading: true });\r\n this.deliveryListService\r\n .rescheduleDeliveryRequest({\r\n deliveryID: values.deliveryID,\r\n deliveryDate: moment(values.deliveryDate).format(\"YYYY-MM-DD\"),\r\n deliverySlotID: parseInt(values.deliverySlot),\r\n remark: values.remark,\r\n sourceFrom: 1,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.DELIVERIES,\r\n description: [null, undefined].includes(response.message)\r\n ? labels.DELIVERY_RESCHEDULED_SUCCESSFULLY\r\n : this.common.Message(response.message),\r\n });\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showReschedulePopup: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n response.message != undefined || response.message != null\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_RESCHEDULE_DELIVERY_REQUEST,\r\n });\r\n }\r\n this.setState({ reschedulePopupLoading: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n formRef = React.createRef();\r\n handleCancel = (values) => {\r\n if (this.state.factories.length != 0) {\r\n if (![1, 2].includes(parseInt(this.state.currentDelivery.status))) {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n labels.DELIVERY_STATUS_MUST_BE_DELIVERY_SCHEDULED_OR_ASSIGNED,\r\n });\r\n } else {\r\n this.setState({ cancelPopupLoading: true });\r\n this.deliveryListService\r\n .cancelDeliveryRequest({\r\n deliveryID: values.deliveryID,\r\n cancelReason: values.cancelReason,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showCancelRequestPopup: false });\r\n notification[\"success\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n response.message != undefined || response.message != null\r\n ? this.common.Message(response.message)\r\n : labels.REQUEST_CANCELLED_SUCCESSFULLY,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description:\r\n response.message != undefined || response.message != null\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_CANCEL_DELIVERY_REQUEST,\r\n });\r\n }\r\n this.setState({ cancelPopupLoading: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n getDeliveryList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.deliveryListService\r\n .getAllDeliveryList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch,\r\n this.state.deliveryStatusFilter.selected,\r\n this.state.showEscalatedDelivery,\r\n this.state.deliveryFromDate,\r\n this.state.deliveryToDate,\r\n this.state.SelectedTimeSlot\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n {\r\n pagination: { ...this.state.pagination, current: 1 },\r\n tableLoading: false,\r\n },\r\n () => {\r\n this.getDeliveryList(1, size, sortColumn, sortOrder, search);\r\n }\r\n );\r\n }\r\n let factoryData = [];\r\n response.data.map((singleData, index) => {\r\n singleData.key = singleData.deliveryID;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n current: factoryData.length ? this.state.pagination.current : 1,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleDeliverySlotChange = (event) => {\r\n this.setState({ selectedDeliverySlot: event });\r\n };\r\n\r\n handleChangeBranch = () => {\r\n const { pagination } = this.state;\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.getSlotByStoreIDS(this.state.selectedBranch);\r\n };\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n getTodayDeliverylist = () => {\r\n let params = {\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n sourceFrom:1,\r\n userID:0\r\n };\r\n \r\n\r\n this.deliveryListService.getTodayDeliverylist(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n console.log(\"response->\", response);\r\n\r\n this.setState({\r\n TodayDeliveryList: response.data.deliveryList,\r\n TodaySlot: response.data.slotList,\r\n ShowMapView: true,\r\n });\r\n\r\n {\r\n response.data.deliveryList !== null &&\r\n response.data.deliveryList !== undefined &&\r\n response.data.deliveryList.length > 0 &&\r\n this.initMap();\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n initMap = (CheckboxValueType) => {\r\n var map;\r\n var bounds = new window.google.maps.LatLngBounds();\r\n let Storemarkers = this.state.TodayDeliveryList;\r\n var Storeposition = new window.google.maps.LatLng(\r\n Storemarkers[0].storeLat,\r\n Storemarkers[0].storeLong\r\n );\r\n\r\n this.setState({\r\n SelectedDeliveryData: {},\r\n });\r\n\r\n var mapOptions = {\r\n mapTypeId: \"roadmap\",\r\n center: Storeposition,\r\n zoom: 50,\r\n };\r\n\r\n const icon = {\r\n url: storemarkerimg,\r\n size: new window.google.maps.Size(50, 50),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(17, 34),\r\n };\r\n\r\n // Display a map on the web page\r\n map = new window.google.maps.Map(\r\n document.getElementById(\"map\"),\r\n mapOptions\r\n );\r\n map.setTilt(50);\r\n //for pickup marker\r\n if (CheckboxValueType != undefined || CheckboxValueType != null) {\r\n let selectedmarker = CheckboxValueType.map((slot) => {\r\n return this.state.TodayDeliveryList.filter(\r\n (item) => item.slotID == slot\r\n );\r\n });\r\n\r\n // console.log(\"selectedmarker->\", selectedmarker);\r\n // Add multiple markers to map\r\n var infoWindow = new window.google.maps.InfoWindow(),\r\n marker,\r\n i;\r\n\r\n // Place pickup marker on the map\r\n this.state.TodaySlot.map((slot) => {\r\n // console.log(\"slot->\",slot);\r\n selectedmarker.map((markers) => {\r\n // console.log(\"markers->\",markers)\r\n for (i = 0; i < markers.length; i++) {\r\n console.log(\"--\", markers[i]);\r\n var position = new window.google.maps.LatLng(\r\n markers[i].latitude,\r\n markers[i].longitude\r\n );\r\n // map.setCenter(position);\r\n // bounds.extend(position);\r\n marker = new window.google.maps.Marker({\r\n position: position,\r\n map: map,\r\n title: markers[i].address,\r\n label: {\r\n text: `${markers[i].splitOrderNumber}`,\r\n color: this.state.TodaySlot.filter((e) => {\r\n return e.slotID == markers[i].slotID;\r\n })[0].colorName,\r\n // fontSize: \"20px\",\r\n // fontWeight: \"bold\",\r\n },\r\n icon: {\r\n path: \"M-1.547 12l6.563-6.609-1.406-1.406-5.156 5.203-2.063-2.109-1.406 1.406zM0 0q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z\",\r\n fillColor: this.state.TodaySlot.filter(\r\n (e) => e.slotID == markers[i].slotID\r\n )[0].colorName,\r\n fillOpacity: 1,\r\n strokeWeight: 1,\r\n // rotation: 0,\r\n scale: 1.2,\r\n anchor: new window.google.maps.Point(0, 20),\r\n labelOrigin: new window.google.maps.Point(0, 30),\r\n },\r\n });\r\n\r\n // Add info window to marker\r\n var self = this;\r\n window.google.maps.event.addListener(\r\n marker,\r\n \"click\",\r\n (function (marker, i) {\r\n var tempobj = {\r\n splitOrderNumber: markers[i].splitOrderNumber,\r\n customerName: markers[i].customerName,\r\n mobileNo: markers[i].mobileNo,\r\n address:markers[i].address\r\n };\r\n\r\n return function () {\r\n self.setState({\r\n SelectedDeliveryData: tempobj,\r\n });\r\n infoWindow.setContent(markers[i].address);\r\n infoWindow.open(map, marker);\r\n navigator.geolocation.getCurrentPosition(function(position){\r\n window.open(\"https://www.google.com/maps/dir/?api=1&origin=\"+position.coords.latitude+\",\"+position.coords.longitude+\"&destination=\"+markers[i].latitude+\",\"+markers[i].longitude,'_blank','noreferrer')\r\n })\r\n };\r\n })(marker, i)\r\n );\r\n\r\n // Center the map to fit all markers on the screen\r\n map.fitBounds(bounds);\r\n }\r\n });\r\n });\r\n }\r\n\r\n //for Store Marker -- Start\r\n var infoWindow = new window.google.maps.InfoWindow(),\r\n storemarker,\r\n i;\r\n\r\n map.setCenter(Storeposition);\r\n bounds.extend(Storeposition);\r\n storemarker = new window.google.maps.Marker({\r\n position: Storeposition,\r\n map: map,\r\n icon,\r\n title: Storemarkers[0].storeAddress,\r\n });\r\n\r\n window.google.maps.event.addListener(\r\n storemarker,\r\n \"click\",\r\n (function (storemarker, i) {\r\n return function () {\r\n infoWindow.setContent(Storemarkers[0].storeAddress);\r\n infoWindow.open(map, storemarker);\r\n };\r\n })(storemarker, i)\r\n );\r\n\r\n map.fitBounds(bounds);\r\n // End for Store\r\n\r\n // Set zoom level\r\n var boundsListener = window.google.maps.event.addListener(\r\n map,\r\n \"bounds_changed\",\r\n function (event) {\r\n this.setZoom(10);\r\n window.google.maps.event.removeListener(boundsListener);\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n const { pagination } = this.state;\r\n const disableAll = this.state.popupMode === \"view\";\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n var currentTime = moment().format(\"HH:mm:00\").toString();\r\n\r\n return (\r\n
\r\n this.getTodayDeliverylist()}\r\n >\r\n View On Map\r\n ,\r\n
\r\n {\r\n if (e.target.checked) {\r\n this.setState(\r\n {\r\n showEscalatedDelivery: true,\r\n },\r\n () => {\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n showEscalatedDelivery: false,\r\n },\r\n () => {\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ESCALATED_DELIVERY}\r\n \r\n
,\r\n
\r\n \r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n deliveryStatusFilter: {\r\n ...this.state.deliveryStatusFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n },\r\n () => {\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n )\r\n }\r\n >\r\n {this.state.deliveryStatusFilter.data.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n
,\r\n
\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n // storeKeys: [],\r\n // factoryKeys: [],\r\n // // tagNos:\"\"\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n // else {\r\n // this.setState({\r\n // storeOutTags: [],\r\n // btnMissedTagEnable: true,\r\n // });\r\n // }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n\r\n // /**\r\n // * Add Factory Button redirects to add form\r\n // */\r\n // this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isAdd == true ? (\r\n // \r\n // this.setState({ expenseID: 0, showAddPopup: true })\r\n // }\r\n // key=\"2\"\r\n // >\r\n // Add Expense\r\n // \r\n // ) : null,\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n {\r\n this.getDeliveryList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }}\r\n initialValues={{\r\n deliveryFromDate: this.state.deliveryFromDate,\r\n deliveryToDate: this.state.deliveryToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"deliveryFromDate\")\r\n }\r\n value={this.state.deliveryFromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(moment(), \"day\") ? true : false\r\n // }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"deliveryToDate\")\r\n }\r\n value={this.state.deliveryToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n SelectedTimeSlot: [null, undefined, \"\"].includes(\r\n value\r\n )\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n () => {\r\n // console.log(this.state.OrderTypeFilter.selected);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.UniquetimeSlot.map((e) => {\r\n return e.slot != \"\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n return {\r\n style: { background: record.bgColor },\r\n };\r\n }}\r\n scroll={\r\n this.columns.length < 4\r\n ? { x: 0 }\r\n : this.columns.length < 6\r\n ? { x: 1000 }\r\n : this.columns.length > 6 && this.columns.length <= 12\r\n ? { x: 1400 }\r\n : { x: 2000 }\r\n }\r\n columns={this.columns}\r\n dataSource={this.state.factories}\r\n loading={this.state.tableLoading}\r\n pagination={this.state.pagination}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getDeliveryList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n this.handleReassign(values);\r\n }}\r\n initialValues={this.state.currentDelivery}\r\n >\r\n \r\n \r\n \r\n \r\n {this.state.storeUsers.data.length !== 0\r\n ? this.state.storeUsers.data.map((res) => {\r\n return res.value !== \"-1\" ? (\r\n \r\n {res.text}\r\n \r\n ) : null;\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 {this.state.popupMode === \"view\" ? (\r\n \r\n {labels.CANCEL}\r\n \r\n ) : (\r\n \r\n \r\n {labels.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 this.handleReschedule(values);\r\n }}\r\n initialValues={this.state.currentDelivery}\r\n ref={this.formInstance}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n\r\n this.formInstance.current.setFieldsValue({\r\n deliverySlot: undefined,\r\n });\r\n\r\n let temparr = this.state.HolidayList;\r\n var HolidayArr = [];\r\n var delivery_date = moment(value).format(\"YYYY-MM-DD\");\r\n HolidayArr = temparr.filter((a) => {\r\n var holiday_date = moment(a.holidayDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n\r\n return delivery_date == holiday_date;\r\n });\r\n let len = HolidayArr.length;\r\n if (len > 0) {\r\n notification[\"error\"]({\r\n message: HolidayArr[0].remark,\r\n description: labels.SELECTED_DATE_IS_HOLIDAY,\r\n });\r\n this.setState({ DisableReschedule: true });\r\n } else {\r\n this.setState({ DisableReschedule: false });\r\n\r\n this.setState(\r\n {\r\n deliveryDateCompare: value,\r\n deliverySlotFromDate: moment(value).format(\"ddd\"),\r\n },\r\n () => {\r\n // this.setState({\r\n // currentDelivery: { deliverySlot: undefined },\r\n // });\r\n this.getTimeSlot(\r\n this.state.currentDelivery.storeID\r\n );\r\n }\r\n );\r\n }\r\n }}\r\n disabledDate={(currentDate) =>\r\n currentDate.isBefore(moment(), \"day\") ? true : false\r\n }\r\n format={\"DD-MM-YYYY\"}\r\n />\r\n \r\n \r\n \r\n \r\n \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.popupMode === \"view\" ? (\r\n \r\n {labels.CANCEL}\r\n \r\n ) : (\r\n \r\n \r\n {labels.CANCEL}\r\n \r\n \r\n {this.state.popupMode === \"add\"\r\n ? labels.ADD\r\n : labels.RESCHEDULE_DELIVERY}\r\n \r\n \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.handleCancel(values);\r\n }}\r\n initialValues={this.state.currentDelivery}\r\n >\r\n \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.popupMode === \"view\" ? (\r\n \r\n {labels.CANCEL}\r\n \r\n ) : (\r\n \r\n \r\n {labels.CANCEL}\r\n \r\n\r\n \r\n this.formRef.current\r\n .validateFields()\r\n .then(this.handleCancel)\r\n }\r\n onCancel={() => null}\r\n okText={labels.YES}\r\n cancelText={labels.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 this.setState({\r\n ShowMapView: false,\r\n });\r\n }}\r\n className=\"modal-form pickupslot\"\r\n destroyOnClose\r\n >\r\n {this.state.TodayDeliveryList !== null &&\r\n this.state.TodayDeliveryList !== undefined &&\r\n this.state.TodayDeliveryList.length > 0 ? (\r\n
\r\n \r\n \r\n
\r\n Store Name : {localStorage.getItem(\"Store/FactoryName\")}\r\n
\r\n
Date : {moment().format(\"DD-MM-YYYY\")}
\r\n
\r\n Total Delivery : {this.state.TodayDeliveryList.length}\r\n
\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n {this.state.TodaySlot.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.slotName}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n SplitOrder Number\r\n {this.state.TodayDeliveryList.map((e) => {\r\n return (\r\n
\r\n {\r\n this.setState({\r\n SelectedDeliveryData: {\r\n splitOrderNumber: e.splitOrderNumber,\r\n customerName: e.customerName,\r\n mobileNo: e.mobileNo,\r\n address:e.address\r\n },\r\n });\r\n }}\r\n >\r\n {console.log(\"slot->\",this.state.TodaySlot)}\r\n {\r\n return item.slotID == e.slotID;\r\n })[0].colorName,\r\n }}\r\n >\r\n {e.splitOrderNumber}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n })}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n SplitOrder Number : \r\n {this.state.SelectedDeliveryData.splitOrderNumber}\r\n
\r\n
\r\n Customer Name :{\" \"}\r\n {this.state.SelectedDeliveryData.customerName}\r\n
\r\n
\r\n Mobile No. : \r\n {this.state.SelectedDeliveryData.mobileNo}\r\n
\r\n
\r\n Address : \r\n {this.state.SelectedDeliveryData.address}\r\n
\r\n \r\n \r\n
\r\n ) : (\r\n
No Delivery Available
\r\n )}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport DeliveryList from \"../../../components/StoreModule/DeliveryList/deliverylist.store.component\";\r\n\r\nexport default class DeliveryListScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class BannerService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async StateListItems() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GETSTATELIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStateList.getDropdown()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.StateListItems();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async removeItems(bannerID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_BANNER_MASTER_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?BannerID=\" + bannerID;\r\n await myApi.endpoints[this.endpoint.DELETE_BANNER_MASTER_BY_ID]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(bannerID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(formData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_BANNER_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_BANNER_MASTER]\r\n .create(formData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(formData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_BANNER_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_BANNER_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport TableActions from \"../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Upload,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n // faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport BannerService from \"../../services/bannerservice\";\r\n// import Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport Configuration from \"../../shared/configuration\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport Common from \"../../services/common\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\n\r\n// let cityname = \"\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\n/**\r\n * A Banner master screen which holds grid view for master screens and form inside a modal\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 28 July 2020\r\n */\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.BannerService = new BannerService();\r\n this.config = new Configuration();\r\n this.commonReq = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n bannerItems: [],\r\n bannerID: 0,\r\n description: \"\",\r\n bannerImage: \"\",\r\n statusDDL: [],\r\n selectedType: \"\",\r\n fileList: [],\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n loading: true,\r\n userRights: [],\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.BANNER\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Description\",\r\n dataIndex: \"description\",\r\n key: \"description\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Banner Type\",\r\n dataIndex: \"bannerType\",\r\n key: \"bannerType\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Banner Image\",\r\n dataIndex: \"bannerImage\",\r\n key: \"bannerImage\",\r\n sorter: true,\r\n render: (imagetext) => (\r\n \r\n {imagetext.split(this.config.BANNER_MASTER_IMAGE_URL)}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n showAddPopup: true,\r\n bannerID: record.bannerID,\r\n description: record.description,\r\n selectedType: [null, undefined, \"\"].includes(\r\n record.bannerType\r\n )\r\n ? undefined\r\n : record.bannerType,\r\n bannerImage: record.bannerImage,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {/* {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n this.setState({\r\n showAddPopup: true,\r\n bannerID: record.bannerID,\r\n description: record.description,\r\n selectedType: record.bannerType,\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null} */}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.bannerID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 getBase64 = (file) => {\r\n return 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\n\r\n handleCancel = () => this.setState({ previewVisible: false });\r\n\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n\r\n handleChange = (info) => {\r\n this.setState({ fileList: info.fileList });\r\n const isJpgOrPng =\r\n info.file.type === \"image/jpeg\" || info.file.type === \"image/png\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Banner\",\r\n description: \"You can only upload JPG/PNG file!\",\r\n });\r\n this.setState({ fileList: [] });\r\n }\r\n const isLt3M = info.file.size / 1024 / 1024 < 5;\r\n if (!isLt3M) {\r\n notification[\"error\"]({\r\n message: \"Banner\",\r\n description: \"Image must be smaller than 5 MB!\",\r\n });\r\n this.setState({ fileList: [] });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n bannerID: this.state.bannerID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.GetBannerTypeStatus();\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n bannerID: this.state.bannerID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n \r\n this.fetchItems({\r\n bannerID: this.state.bannerID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.BannerService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n bannerID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n bannerItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Banner\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of banner master data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (bannerID) => {\r\n if (bannerID === \"\" || bannerID === null || bannerID === undefined) {\r\n openNotificationWithIcon(\r\n \"error\",\r\n \"Banner\",\r\n \"Please Select Atleast One Row\"\r\n );\r\n } else {\r\n this.setState({ loading: true });\r\n this.BannerService.removeItems(bannerID).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Banner\", items.message);\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n bannerID: parseInt(this.state.bannerID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Banner\", items.message);\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var fileData = this.state.fileList;\r\n const formData = new FormData();\r\n\r\n formData.append(\r\n \"bannerImage\",\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n formData.append(\"bannerID\", this.state.bannerID);\r\n formData.append(\"description\", this.state.description);\r\n formData.append(\"type\", parseInt(this.state.selectedType));\r\n\r\n this.setState({ modalLoading: true });\r\n this.BannerService.insertUpdateItems(formData).then((items) => {\r\n if (items.result === \"Success\") {\r\n openNotificationWithIcon(\"success\", \"Banner\", items.message);\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n bannerID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n openNotificationWithIcon(\"error\", \"Banner\", items.message);\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n //function for changing/updating the Banner description\r\n handleDescription = (e) => {\r\n this.setState({ description: e.target.value });\r\n };\r\n\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n bannerID: 0,\r\n description: \"\",\r\n selectedType: \"\",\r\n fileList: [],\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n handleTypeChange = (event) => {\r\n this.setState({ selectedType: event });\r\n };\r\n\r\n GetBannerTypeStatus = () => {\r\n this.commonReq.GetSystemEnums(\"BannerType\").then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ statusDDL: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Banner\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get banner type data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const { description, selectedType, pagination, loading } = this.state;\r\n const uploadButton =\r\n this.state.fileList.length === 0 ? (\r\n
\r\n \r\n
Upload
\r\n
\r\n ) : null;\r\n const bannerItems = this.state.bannerItems;\r\n const listItems = bannerItems.map((item, index) => ({\r\n key: item.bannerID,\r\n bannerID: item.bannerID,\r\n description: item.description,\r\n type: item.type,\r\n bannerType: item.bannerType,\r\n bannerImage: item.bannerImage,\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.setState({ showAddPopup: true, selectedType: undefined })\r\n }\r\n >\r\n Add Banner\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n bannerItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 {this.state.statusDDL.length !== 0\r\n ? this.state.statusDDL.map((res) => {\r\n return res.enumDetailID !== \"-1\" ? (\r\n \r\n {res.enumDetailName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n {this.state.bannerID === 0 ? (\r\n \r\n \r\n {uploadButton}\r\n\r\n {/* {this.state.fileList.length >= 8 ? null : uploadButton} */}\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.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport Banner from \"../../components/Banner/banner.component\";\r\n\r\nexport default class BannerScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import html2pdf from \"html2pdf.js\";\r\nimport moment from \"moment\";\r\nimport StoreInvoiceService from \"../../../services/invoiceservice\";\r\nimport React from \"react\";\r\nimport { renderToString } from \"react-dom/server\";\r\n\r\nconst getPDFProformaInvoice = (invoiceID, splitOrderNo) => {\r\n let invoiceService = new StoreInvoiceService();\r\n // let invoiceOrderData = [\r\n // {\r\n // orderID: 0,\r\n // orderDate: \"\",\r\n // deliveryDate: \"\",\r\n // deliveryType: 0,\r\n // priceType: \"\",\r\n // deliveryTypeName: \"\",\r\n // storeName: \"\",\r\n // shortName: \"\",\r\n // storeAddress: \"\",\r\n // storeContactNo: \"\",\r\n // storeEmail: \"\",\r\n // website: \"\",\r\n // storeGST: \"\",\r\n // invoiceID: 0,\r\n // invoiceDate: \"\",\r\n // invoiceNumber: \"\",\r\n // perfomaInvoiceDate: \"\",\r\n // perfomaNumber: \"\",\r\n // pickupDate: null,\r\n // customerName: \"\",\r\n // customerMobile: \"\",\r\n // customerGST: \"\",\r\n // customerAddress: \"\",\r\n // discountAmount: 0,\r\n // serviceAmount: 0,\r\n // addOnServiceAmount: 0,\r\n // deliveryChargesAmount: 0,\r\n // packagingCharges: 0,\r\n // cgst: 0,\r\n // sgst: 0,\r\n // igst: 0,\r\n // adjustmentAmount: 0,\r\n // adhocCharges: 0,\r\n // cgstPer: 0,\r\n // sgstPer: 0,\r\n // igstPer: 0,\r\n // finalInvoiceAmount: 0,\r\n // },\r\n // ];\r\n // let invoiceGarmentData = [\r\n // {\r\n // garmentID: 0,\r\n // garmentName: \"\",\r\n // serviceID: 0,\r\n // serviceName: \"\",\r\n // servicePrefix: \"\",\r\n // addOnServiceIDs: \"\",\r\n // addOnServiceNames: \"\",\r\n // addOnServicePrefix: \"\",\r\n // hsnCode: \"\",\r\n // unitPrice: 0,\r\n // qty: 0,\r\n // serviceAmount: 0,\r\n // addonServiceAmount: 0,\r\n // weight: 0,\r\n // },\r\n // ];\r\n // let invoicePaymentModes = [\r\n // {\r\n // paymentDate: \"\",\r\n // paymentMode: 0,\r\n // paymentModeName: \"\",\r\n // amount: 0,\r\n // },\r\n // ];\r\n // let isInvoicePDFDataLoaded: [];\r\n\r\n // invoiceService.getPDFStoreInvoicePrint(splitOrderNo).then((response) => {\r\n // invoiceOrderData = [\r\n // {\r\n // orderID: response.data.orderID,\r\n // orderDate: response.data.orderDate,\r\n // deliveryDate: response.data.deliveryDate,\r\n // deliveryType: response.data.deliveryType,\r\n // priceType: response.data.priceType,\r\n // deliveryTypeName: response.data.deliveryTypeName,\r\n // storeName: response.data.storeName,\r\n // shortName: response.data.shortName,\r\n // storeAddress: response.data.storeAddress,\r\n // storeContactNo: response.data.storeContactNo,\r\n // storeEmail: response.data.storeEmail,\r\n // website: response.data.website,\r\n // storeGST: response.data.storeGST,\r\n // invoiceID: response.data.invoiceID,\r\n // invoiceDate: response.data.invoiceDate,\r\n // invoiceNumber: response.data.invoiceNumber,\r\n // perfomaInvoiceDate: response.data.perfomaInvoiceDate,\r\n // perfomaNumber: response.data.perfomaNumber,\r\n // pickupDate: response.data.pickupDate,\r\n // customerName: response.data.customerName,\r\n // customerMobile: response.data.customerMobile,\r\n // customerGST: response.data.customerGST,\r\n // customerAddress: response.data.customerAddress,\r\n // discountAmount: response.data.discountAmount,\r\n // serviceAmount: response.data.serviceAmount,\r\n // addOnServiceAmount: response.data.addOnServiceAmount,\r\n // deliveryChargesAmount: response.data.deliveryChargesAmount,\r\n // packagingCharges: response.data.packagingCharges,\r\n // cgst: response.data.cgst,\r\n // sgst: response.data.sgst,\r\n // igst: response.data.igst,\r\n // adjustmentAmount: response.data.adjustmentAmount,\r\n // adhocCharges: response.data.adhocCharges,\r\n // cgstPer: response.data.cgstPer,\r\n // sgstPer: response.data.sgstPer,\r\n // igstPer: response.data.igstPer,\r\n // finalInvoiceAmount: response.data.finalInvoiceAmount,\r\n // },\r\n // ];\r\n // invoiceGarmentData = response.data.vMGarmentDetails;\r\n // invoicePaymentModes = response.data.vMPaymentModes;\r\n // isInvoicePDFDataLoaded = true;\r\n // let refElement = React.createRef();\r\n\r\n // let data = ;\r\n // if (isInvoicePDFDataLoaded) {\r\n // data = invoiceGarmentData.map((item, index) => {\r\n // return (\r\n // \r\n // {item.garmentName}\r\n // {item.servicePrefix}\r\n // {item.hsnCode}\r\n // {item.qty}\r\n // {item.unitPrice}\r\n // {item.qty * item.unitPrice}\r\n // \r\n // );\r\n // });\r\n // }\r\n\r\n // let paymentData = ;\r\n // if (isInvoicePDFDataLoaded) {\r\n // paymentData = invoicePaymentModes.map((item, index) => {\r\n // return (\r\n // \r\n // \r\n // {item.paymentModeName}:{item.amount}\r\n // \r\n // \r\n // );\r\n // });\r\n // }\r\n // var tableData = (\r\n //
\r\n // \r\n // \r\n // \r\n // \r\n //
\r\n // {\" \"}\r\n // Kleenco On Demand Services Pvt Ltd\r\n //
\r\n // {invoiceOrderData[0].storeAddress}\r\n //
\r\n // Phone No: {invoiceOrderData[0].storeContactNo}, Email:{\" \"}\r\n // {invoiceOrderData[0].storeEmail}, WebSite:{\" \"}\r\n // {invoiceOrderData[0].website}\r\n //
\r\n //
\r\n // Store Name: {invoiceOrderData[0].storeName}, Store Contact:{\" \"}\r\n // {invoiceOrderData[0].storeContactNo}\r\n //
\r\n // GST: {invoiceOrderData[0].storeGST}\r\n //

\r\n //

\r\n // Estimated Bill\r\n //

\r\n //

\r\n // \r\n // \r\n // \r\n // \r\n // Order Request Date

\r\n // {moment(invoiceOrderData[0].orderDate).format(\r\n // \"DD/MM/YYYY h:mm a\"\r\n // )}\r\n // \r\n // \r\n // Pickup Date

\r\n // {invoiceOrderData[0].pickupDate != null\r\n // ? moment(invoiceOrderData[0].pickupDate).format(\r\n // \"DD/MM/YYYY h:mm a\"\r\n // )\r\n // : \"\"}\r\n // \r\n // \r\n // Delivery Date

\r\n // {moment(invoiceOrderData[0].deliveryDate).format(\r\n // \"DD/MM/YYYY h:mm a\"\r\n // )}\r\n // \r\n // \r\n // \r\n // {/* , paddingTop: 50 */}\r\n // \r\n // Order Information\r\n // \r\n // \r\n // \r\n // Address Information\r\n // \r\n // \r\n // \r\n // \r\n // OrderID:{invoiceOrderData[0].orderID}\r\n //

\r\n // CustomerName:{invoiceOrderData[0].customerName}\r\n //

\r\n // Contact No:{invoiceOrderData[0].customerMobile}\r\n //

\r\n // Delivery Type:\r\n // {invoiceOrderData[0].deliveryTypeName}\r\n //

\r\n // Price Type:{invoiceOrderData[0].priceType}\r\n // \r\n // \r\n // Invoice No:{invoiceOrderData[0].invoiceNumber}\r\n //

\r\n //

\r\n // Customer GST No:\r\n // {invoiceOrderData[0].customerGST}\r\n //

\r\n // \r\n // \r\n // \r\n // {invoiceOrderData[0].customerAddress}\r\n // {/* KARTHIK-BENGALARUSAI TEJA SEREIN -FLAT NO.316, ALFA GARDENS,7th\r\n // CROSS -RIGHT, K.R.PURAM,OPP-DIYA ACADEMY, - ALFA GARDENS ,K R\r\n // Puram, Bangalore */}\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // Product Details\r\n // \r\n // \r\n //

\r\n // \r\n // \r\n // Cloth Type\r\n // \r\n // \r\n // Wash Type\r\n // \r\n // \r\n // HSN Code\r\n // \r\n // \r\n // Quantity\r\n // \r\n // \r\n // Unit Price\r\n // \r\n // \r\n // Price\r\n // \r\n // \r\n // {data}\r\n // \r\n // \r\n // \r\n // \r\n // Total Quantity: {\"missing\"}\r\n //

\r\n //

\r\n //

\r\n // \r\n // \r\n // \r\n // Subtotal:

\r\n // Discount:

\r\n // TaxesAndCharges:

\r\n // Total:

\r\n // \r\n // \r\n // {invoiceOrderData[0].serviceAmount}\r\n //

\r\n // {invoiceOrderData[0].discountAmount}\r\n //

\r\n // {invoiceOrderData[0].packagingCharges +\r\n // invoiceOrderData[0].deliveryChargesAmount +\r\n // invoiceOrderData[0].cgst +\r\n // invoiceOrderData[0].sgst +\r\n // invoiceOrderData[0].igst}\r\n //

\r\n // {invoiceOrderData[0].finalInvoiceAmount}\r\n // \r\n // \r\n //

\r\n //

\r\n // \r\n // \r\n // Payment Details

\r\n //

\r\n // {paymentData}\r\n // \r\n // \r\n // \r\n // \r\n //
\r\n // );\r\n\r\n // var opt = {\r\n // margin: 1,\r\n // filename: \"EstimatedInvoice.pdf\",\r\n // jsPDF: { format: \"a5\", orientation: \"portrait\" },\r\n // pagebreak: { mode: [\"css\", \"legacy\"], avoid: \"tr\" },\r\n // html2canvas: {\r\n // dpi: 192,\r\n // scale: 4,\r\n // },\r\n // };\r\n // debugger;\r\n // console.log(renderToString(tableData));\r\n // html2pdf().set(opt).from(renderToString(tableData)).save();\r\n // });\r\n invoiceService.getPDFLinks(invoiceID).then((response) => {\r\n \r\n if (response.statusCode === 200) {\r\n let filteredObj = response.data.filter(\r\n (x) => x.splitOrderNumber === splitOrderNo\r\n );\r\n if (filteredObj.length > 0) {\r\n window.open(filteredObj[0].location, \"_blank\");\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport { getPDFProformaInvoice };\r\n","import React from \"react\";\r\n\r\nexport default class RedirectInvalidRequestScreen extends React.Component {\r\n render() {\r\n return
Invalid request
;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./invoicecomponent.module.css\";\r\nimport {\r\n PageHeader,\r\n Tag,\r\n Row,\r\n Col,\r\n Input,\r\n Space,\r\n notification,\r\n InputNumber,\r\n Spin,\r\n Checkbox,\r\n Select,\r\n Popconfirm,\r\n Modal,\r\n Form,\r\n Typography,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faArrowLeft,\r\n faGift,\r\n faPen,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport PrintIcon from \"../../../images/Billing/print.svg\";\r\nimport WalletIcon from \"../../../images/Billing/wallet.svg\";\r\nimport Button from \"../../Common/Button/button\";\r\n// import CashIcon from \"../../../images/Billing/cash.png\";\r\n// import PayTMIcon from \"../../../images/Billing/paytm.png\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport InvoiceService from \"../../../services/invoiceservice\";\r\nimport moment from \"moment\";\r\nimport infoIcon from \"../../../images/Order/info.svg\";\r\nimport { getPDFProformaInvoice } from \"./storeinvoicepdf.component\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nimport InvalidRequestComp from \"../../../screens/RedirectInvalidReqestMessage\";\r\nimport PaytmTransService from \"../../../services/PaytmTransService\";\r\nvar jwt = require(\"jsonwebtoken\");\r\nconst confirm = Modal.confirm;\r\n\r\nconst { Text } = Typography;\r\nvar OTParr = [];\r\n\r\n/**\r\n * This file holds the view of invoice detail and payment options\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 11 June 2020\r\n */\r\n\r\nclass Invoice extends React.Component {\r\n invoiceService = new InvoiceService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n paytmTransService = new PaytmTransService();\r\n state = {\r\n disablegenerateOTP: false,\r\n TimerValue: 0,\r\n isResendOtp: false,\r\n ALTmobileNo: \"\",\r\n InputOTP: \"\",\r\n ReceivedOTP: \"\",\r\n ReceivedOTPForMultiple: [],\r\n reSendOTP: \"\",\r\n ISVerified: false,\r\n invoiceData: {\r\n adjustedLKBonusAmt: 0,\r\n adhocCharges: 0,\r\n paidLess: 0,\r\n lstVMInvoiceDataInvoiceInfo: [],\r\n lstVMVMInvoiceDataInvoicePaymentInfo: [],\r\n customerName: null,\r\n storeID: null,\r\n deliveryType: null,\r\n customerID: null,\r\n corporateID: null,\r\n corporateName: null,\r\n customeraddressID: null,\r\n customeraddressName: null,\r\n customerType: null,\r\n customerTypeName: null,\r\n orderID: null,\r\n orderDate: \"\",\r\n ordertype: null,\r\n ordertypename: null,\r\n pickupDate: \"\",\r\n assignedToUserID: null,\r\n pickupBy: null,\r\n cgstPer: 0,\r\n sgstPer: 0,\r\n igstPer: 0,\r\n splitOrderNumber: null,\r\n uOM: null,\r\n serviceid: null,\r\n servicename: null,\r\n perfomaInvoiceNumber: null,\r\n invoiceID: 0,\r\n invoiceDate: null,\r\n invoiceStatus: null,\r\n invoiceStatusId: null,\r\n walletBalance: null,\r\n serviceAmount: null,\r\n addonserviceamount: null,\r\n deliverycharges: null,\r\n packagingcharges: null,\r\n discountamount: null,\r\n discountname: null,\r\n cgst: null,\r\n sgst: null,\r\n igst: null,\r\n weight: null,\r\n noofgarments: null,\r\n notServedcGST: null,\r\n notServedsGST: null,\r\n notServediGST: null,\r\n notServedserviceamount: null,\r\n notServedaddOnServiceAmount: null,\r\n vMInvoiceGarmentDetails: [],\r\n isShowQRCode: false,\r\n base64Image: \"\",\r\n isQRCodeShow: false,\r\n },\r\n displayDiscountInfo: false,\r\n adhocAmount: 0,\r\n remarks: null,\r\n invoiceremark: null,\r\n adjustmentAmount: 0,\r\n newAdjustmentAmount: 0,\r\n isAdjustmentUpdated: false,\r\n fullLoading: false,\r\n restAmount: 0,\r\n useLKWallet: false,\r\n paymentMethods: {\r\n data: [],\r\n disabled: true,\r\n selected: null,\r\n },\r\n mode: \"single\",\r\n showAddPopup: false,\r\n EDCmachineInfo: [],\r\n transID: \"\",\r\n isTransFail: false,\r\n isShowQRCode: false,\r\n base64Image: \"\",\r\n isQRCodeShow: false,\r\n showPaymentDetailModal: false,\r\n paymentDetail: {\r\n ORDERID: \"\",\r\n TXNAMOUNT: \"\",\r\n TXNDATE: \"\",\r\n STATUS: \"\",\r\n RESPMSG: \"\",\r\n },\r\n IsDetailShow: false,\r\n };\r\n componentDidMount() {\r\n // let post = {\r\n // splitOrderNumber: \"5s2\",\r\n // };\r\n // getPDFProformaInvoice(post);\r\n if (this.props.location.state === undefined) {\r\n this.props.history.push(ROUTES.REDIRECT_INVALID_REQUEST);\r\n }\r\n if (\r\n this.props.match.path ===\r\n [ROUTES.PROFORMA_INVOICE, \":splitOrderID\"].join(\"/\")\r\n ) {\r\n this.getInvoiceDetailFromSplitOrder();\r\n if (this.props.match.params.splitOrderID.split(\",\").length > 1) {\r\n this.setState({ mode: \"multiple\" });\r\n }\r\n }\r\n\r\n this.getPaymentMethods();\r\n\r\n var Settle_Invoice_Without_OTP = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Settle Invoice Without OTP\";\r\n });\r\n\r\n if (Settle_Invoice_Without_OTP.length > 0) {\r\n this.setState({ ISVerified: true });\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.INVOICE\r\n );\r\n this.setState({ userRights: res, showAddPopup: false });\r\n }\r\n getPaymentMethods = () => {\r\n this.invoiceService.getPaymentMethods().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: parseInt(single.enumDetailID),\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n data: data,\r\n disabled: false,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n getInvoiceDetailFromSplitOrder = () => {\r\n this.setState({ fullLoading: true });\r\n // const splitOrderID = this.props.match.params.splitOrderID;\r\n const splitOrderID = this.props.location.state.splitOrderNumber;\r\n this.invoiceService\r\n .getInvoiceDetailFromSplitOrder(splitOrderID)\r\n .then((response) => {\r\n // console.log(\"response->\", response)\r\n if (response.statusCode === 200) {\r\n let updated = response.data;\r\n // updated.cgstPer = 9;\r\n // updated.sgstPer = 9;\r\n // updated.igstPer = 9;\r\n // updated.walletBalance = 80;\r\n // console.log(\"updated->\", updated);\r\n // updated.length > 0 && (\r\n this.setState(\r\n {\r\n // ReceivedOTP:\r\n // updated.otp !== null &&\r\n // updated.otp !== undefined &&\r\n // updated.otp !== \"\"\r\n // ? updated.otp\r\n // : \"\",\r\n invoiceData: updated,\r\n adhocAmount: updated.adhocCharges,\r\n adjustmentAmount: updated.adjustmentAmount,\r\n newAdjustmentAmount: updated.adjustmentAmount,\r\n //condition added by PB for displaying remarks correctly even after generating tax invoice\r\n remarks:\r\n response.data.invoiceStatusId === 1\r\n ? response.data.remark\r\n : response.data.lstVMVMInvoiceDataInvoicePaymentInfo.length >\r\n 0\r\n ? response.data.lstVMVMInvoiceDataInvoicePaymentInfo[0].remark\r\n : \"\",\r\n //ended by PB\r\n invoiceremark:\r\n response.data.invoiceStatusId === 3\r\n ? response.data.invoiceRemark\r\n : null,\r\n },\r\n () =>\r\n this.setState({\r\n //restAmount: Math.round(this.calculateTotal() - 0.01), //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n restAmount: Math.round(this.calculateTotal()), //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n })\r\n );\r\n\r\n //Added by Rashmi 16-Feb-23 /Comment By Hasti - L16814\r\n // if (this.state.mode !== \"single\") {\r\n // let tmparr = [];\r\n // updated.lstVMInvoiceDataInvoiceInfo.forEach((data) => {\r\n // // console.log(\"data.otp->>\", data.otp)\r\n // if (\r\n // data.otp !== \"\" &&\r\n // data.otp !== undefined &&\r\n // data.otp !== null\r\n // ) {\r\n // tmparr.push(data.otp);\r\n // }\r\n // });\r\n\r\n // this.setState({\r\n // ReceivedOTPForMultiple: tmparr,\r\n // });\r\n // }\r\n // );\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_SPLIT_ORDER_DETAILS,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n InsertPaytmprocesslog = (req, res, apiurl, query) => {\r\n let param = {\r\n SplitOrderID: this.props.location.state.splitOrderNumber,\r\n Request: JSON.stringify(req),\r\n Response: JSON.stringify(res),\r\n APIName: apiurl,\r\n QueryName: query,\r\n };\r\n this.invoiceService.InsertPaytmprocesslog(param).then((response) => {});\r\n };\r\n\r\n // CheckPaytmEDCMachineTransData = () => {\r\n // if (this.state.mode === \"single\") {\r\n // if (this.state.paymentMethods.selected == 3) {\r\n // this.invoiceService\r\n // .PaytmEDCTransInfo(this.state.invoiceData.invoiceID)\r\n // .then((res) => {\r\n // if (\r\n // res != null &&\r\n // res.data.id == 0 &&\r\n // res.data.merchantTransactionId == null\r\n // ) {\r\n // this.generateTaxInvoice();\r\n // } else {\r\n // var res = JSON.parse(res.data.response);\r\n // if (\r\n // res != null &&\r\n // res.body.resultInfo.resultStatus == \"SUCCESS\"\r\n // ) {\r\n // notification[\"success\"]({\r\n // message: \"Transaction has been successfully processed.\",\r\n // });\r\n // this.GenerateInvoiceTax();\r\n // return false;\r\n // }\r\n // this.generateTaxInvoice();\r\n // }\r\n // });\r\n // } else {\r\n // this.generateTaxInvoice();\r\n // }\r\n // } else {\r\n // this.generateTaxInvoice();\r\n // }\r\n // };\r\n\r\n CheckPaytmEDCMachineTransData = () => {\r\n // if (this.state.paymentMethods.selected == 3 && this.state.restAmount > 0) {\r\n if (this.state.paymentMethods.selected == 3) {\r\n this.EDCRequest();\r\n } else if (this.state.paymentMethods.selected == 4) {\r\n this.QRCodeRequest();\r\n } else {\r\n this.GenerateInvoiceTax();\r\n }\r\n };\r\n\r\n QRCodeRequest = () => {\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n let transID = this.common.PaytmTransNumber(\r\n this.props.location.state.splitId === undefined\r\n ? this.props.location.state.splitOrderNumber.toUpperCase()\r\n : this.props.location.state.splitId.toUpperCase(),\r\n // this.props.location.state.splitId.toUpperCase(),\r\n // this.state.mode === \"single\"\r\n // ? this.state.invoiceData.invoiceID.toString()\r\n // : // : this.props.match.params.splitOrderID,\r\n // this.props.location.state.splitOrderNumber,\r\n \"Order Payment\"\r\n );\r\n\r\n // console.log(\"1\",this.props.location.state.splitOrderNumber);\r\n // console.log(\"2\",this.props.location.state.splitId);\r\n // console.log(\"3\", this.state.invoiceData.invoiceID.toString());\r\n\r\n this.setState({ modalLoading: true, transID: transID });\r\n this.setState({ showAddPopup: true });\r\n\r\n let excessAmount = this.state.useLKWallet\r\n ? this.state.restAmount +\r\n this.state.invoiceData.walletBalance -\r\n this.calculateTotal()\r\n : this.state.restAmount - this.calculateTotal();\r\n let amountToBeSent =\r\n excessAmount > 0\r\n ? this.state.restAmount - excessAmount\r\n : this.state.restAmount;\r\n\r\n var postdata = {\r\n mid: \"LAUNDR39826025976613\",\r\n orderId: transID,\r\n amount: parseInt(Math.round(amountToBeSent)).toString(),\r\n businessType: \"UPI_QR_CODE\",\r\n posId: localStorage.getItem(\"branchID\"),\r\n clientId: \"Mr9HS8Zd1lClTaJO\",\r\n channelId: \"WEB\",\r\n version: \"V1\",\r\n versionNumber: \"\",\r\n transactionType: 0,\r\n response: \"\",\r\n createdBy: 0,\r\n id:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n callFrom: \"invoice\",\r\n platform: \"web-QR\",\r\n invoiceID:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n };\r\n\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService.QRCodeRequest(postdata).then((response) => {\r\n this.InsertPaytmprocesslog(\r\n postdata,\r\n response,\r\n \"QRCodeRequest\",\r\n \"WebPortal-QRCode\"\r\n );\r\n\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n this.setState({\r\n isShowQRCode: true,\r\n base64Image: res.body.image,\r\n isQRCodeShow: true,\r\n });\r\n postdata.transactionType = 1;\r\n postdata.merchantTransactionId = this.state.transID;\r\n const intervalID = setInterval(() => {\r\n this.paytmTransService\r\n .QRCodeStatusCheck(postdata)\r\n .then((response) => {\r\n this.InsertPaytmprocesslog(\r\n postdata,\r\n response,\r\n \"QRCodeStatusCheck\",\r\n \"WebPortal-QRCode\"\r\n );\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"TXN_SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.GenerateInvoiceTax();\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n this.setState({ modalLoading: false });\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"TXN_FAILURE\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n // debugger;\r\n }\r\n }\r\n }\r\n });\r\n }, 15000);\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus == \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n } else {\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n\r\n // } else {\r\n // this.setState({ showAddPopup: false, modalLoading: false });\r\n // notification[\"error\"]({\r\n // message: labels.BUY_PACKAGE,\r\n // description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n // });\r\n // }\r\n this.setState({ modalLoading: true });\r\n //});\r\n };\r\n\r\n EDCRequest = () => {\r\n this.setState({ isTransFail: false });\r\n this.invoiceService.getEDCMachineInfo().then((response) => {\r\n // this.InsertPaytmprocesslog(parseInt(localStorage.getItem(\"branchID\")),response,\"getEDCMachineInfo\",\"WebPortal-EDC\")\r\n if (response.statusCode == 200) {\r\n if ([undefined, \"\", null].includes(response.data.machineKey)) {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.EDC_CONFIGURATION,\r\n });\r\n this.setState({ modalLoading: false });\r\n return false;\r\n }\r\n let transID = this.common.PaytmTransNumber(\r\n // this.props.location.state.splitId.toUpperCase(),\r\n this.props.location.state.splitId === undefined\r\n ? this.props.location.state.splitOrderNumber.toUpperCase()\r\n : this.props.location.state.splitId.toUpperCase(),\r\n // this.state.mode === \"single\"\r\n // ? this.state.invoiceData.invoiceID.toString()\r\n // : // : this.props.match.params.splitOrderID,\r\n // this.props.location.state.splitOrderNumber,\r\n \"Order Payment\"\r\n );\r\n this.setState({\r\n showAddPopup: true,\r\n EDCmachineInfo: response.data,\r\n transID: transID,\r\n });\r\n let excessAmount = this.state.useLKWallet\r\n ? this.state.restAmount +\r\n this.state.invoiceData.walletBalance -\r\n this.calculateTotal()\r\n : this.state.restAmount - this.calculateTotal();\r\n let amountToBeSent =\r\n excessAmount > 0\r\n ? this.state.restAmount - excessAmount\r\n : this.state.restAmount;\r\n var postdata = {\r\n paytmMid: response.data.paytmMid,\r\n paytmTid: response.data.paytmTid,\r\n transactionDateTime: \"\",\r\n merchantTransactionId: \"\",\r\n merchantReferenceNo: \"\",\r\n transactionAmount: parseInt(\r\n Math.round(amountToBeSent) * 100\r\n ).toString(),\r\n callbackUrl: \"\",\r\n machineKey: response.data.machineKey,\r\n json: 0,\r\n response: \"\",\r\n transactionType: 0,\r\n requestParams: \"\",\r\n createdBy: 0,\r\n status: \"\",\r\n id:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n // this.props.match.params.splitOrderID,\r\n callFrom: \"invoice\",\r\n platform: \"web\",\r\n transctionId: transID,\r\n versionNumber: response.data.versionNumber,\r\n };\r\n this.invoiceService.EDCMachineRequest(postdata).then((response) => {\r\n // this.InsertPaytmprocesslog(postdata,response,\"EDCMachineRequest\",\"WebPortal-EDC\")\r\n\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"ACCEPTED_SUCCESS\") {\r\n postdata.merchantTransactionId = this.state.transID;\r\n postdata.transactionDateTime = response.data.transactionDateTime;\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(\r\n () =>\r\n this.invoiceService\r\n .EDCMachineStatus(postdata)\r\n .then((response) => {\r\n // this.InsertPaytmprocesslog(postdata,response,\"EDCMachineStatus\",\"WebPortal-EDC\")\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.GenerateInvoiceTax();\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n fullLoading: true,\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"FAIL\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n fullLoading: false,\r\n isTransFail: true,\r\n });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n fullLoading: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }, 360000);\r\n }\r\n }\r\n }\r\n }),\r\n 10000\r\n );\r\n } else {\r\n this.setState({ showAddPopup: false, fullLoading: false });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({ showAddPopup: false, fullLoading: false });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.SOMETHING_WENT_WRONG,\r\n // description: this.common.Message(response.message)\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({ showAddPopup: false, fullLoading: false });\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n });\r\n }\r\n });\r\n };\r\n GenerateInvoiceTax = () => {\r\n if (\r\n [null, \"\", undefined].includes(this.state.paymentMethods.selected) &&\r\n [false].includes(this.state.useLKWallet)\r\n )\r\n return notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: labels.PLEASE_SELECT_PAYMENT_MODE,\r\n });\r\n\r\n this.setState({ fullLoading: true });\r\n let request = [];\r\n let excessAmount = this.state.useLKWallet\r\n ? this.state.restAmount +\r\n this.state.invoiceData.walletBalance -\r\n //Math.round(this.calculateTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n : // : this.state.restAmount - Math.round(this.calculateTotal() - 0.01); //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.restAmount - Math.round(this.calculateTotal()); //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n\r\n let amountToBeSent =\r\n excessAmount > 0\r\n ? this.state.restAmount - excessAmount\r\n : this.state.restAmount;\r\n\r\n if (this.state.useLKWallet === true) {\r\n request.push({\r\n invoiceIDs:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n // this.props.match.params.splitOrderID,\r\n paymentMode: this.state.paymentMethods.data.filter(\r\n (x) => x.label.toLowerCase() === \"lk wallet\"\r\n )[0].value,\r\n amount:\r\n //Math.round(this.calculateTotal() - 0.01) >= //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) >= //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.invoiceData.walletBalance\r\n ? this.state.invoiceData.walletBalance\r\n : //: Math.round(this.calculateTotal() - 0.01), //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()), //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n chequeNo: null,\r\n chequeDate: moment().format(\"YYYY-MM-DD\"),\r\n cardNo: null,\r\n transactionNo: this.state.transID,\r\n remark: this.state.remarks,\r\n source: 1,\r\n });\r\n }\r\n if (amountToBeSent > 0) {\r\n //amountToBeSent >= 0 change in condition By Hasti Tilva for isuue #L16335\r\n\r\n request.push({\r\n invoiceIDs:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n // this.props.match.params.splitOrderID,\r\n paymentMode: this.state.paymentMethods.selected,\r\n amount: amountToBeSent,\r\n chequeNo: null,\r\n chequeDate: moment().format(\"YYYY-MM-DD\"),\r\n cardNo: null,\r\n transactionNo: this.state.transID,\r\n remark: this.state.remarks,\r\n source: 1,\r\n });\r\n }\r\n\r\n this.invoiceService.generateTaxInvoice(request).then((response) => {\r\n this.InsertPaytmprocesslog(\r\n request,\r\n response,\r\n \"generateTaxInvoice\",\r\n \"WebPortal-QRCode\"\r\n );\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: labels.INVOICE_GENERATED_SUCCESSFULLY,\r\n onClose: () => {\r\n this.props.history.push(ROUTES.STORE_READY_FOR_DELIVERY_ORDERS);\r\n },\r\n });\r\n\r\n // let post = {\r\n // splitOrderNumber: \"5s2\",\r\n // splitOrderNumber:this.props.match.params.splitOrderID;\r\n // };\r\n // getPDFProformaInvoice(post);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GENERATE_INVOICE,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n this.getInvoiceDetailFromSplitOrder();\r\n });\r\n };\r\n getAdjustmentAmount = (AdjustmentAmount) => {\r\n return parseFloat(\r\n parseFloat(\r\n AdjustmentAmount +\r\n (AdjustmentAmount *\r\n parseFloat(\r\n this.state.invoiceData.cgstPer +\r\n this.state.invoiceData.cgstPer +\r\n this.state.invoiceData.igstPer\r\n )) /\r\n 100\r\n ).toFixed(2)\r\n );\r\n };\r\n saveUpdateProformaInvoice = () => {\r\n this.setState({ fullLoading: true });\r\n const splitOrderID = this.props.location.state.splitOrderNumber;\r\n // this.props.match.params.splitOrderID;\r\n this.invoiceService\r\n .saveUpdateProformaInvoice({\r\n splitOrderNumber: splitOrderID,\r\n adhocCharges:\r\n this.state.adhocAmount === null ? 0 : this.state.adhocAmount,\r\n adjustmentAmount:\r\n this.state.newAdjustmentAmount === null\r\n ? 0\r\n : this.state.isAdjustmentUpdated === true\r\n ? this.state.newAdjustmentAmount\r\n : this.getAdjustmentAmount(this.state.newAdjustmentAmount),\r\n remark: this.state.remarks,\r\n source: 1,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n fullLoading: true,\r\n useLKWallet: false,\r\n restAmount: 0.0,\r\n isAdjustmentUpdated: false,\r\n });\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.INVOICE_DATA_SUBMITTED_SUCCESSFULLY,\r\n });\r\n this.getInvoiceDetailFromSplitOrder();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_SUBMIT_INVOICE_DATA,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n // CheckPaymentDetailLog = () => {\r\n // this.setState({ fullLoading: true });\r\n // const splitOrderID = this.props.location.state.splitOrderNumber;\r\n // this.invoiceService\r\n // .CheckPaymentDetailLog({\r\n // SplitOrderID: splitOrderID,\r\n // })\r\n // .then((response) => {\r\n // if (response.statusCode === 200) {\r\n // // console.log(\"res->\", response);\r\n // if(response.data.length > 0){\r\n // var SourceFrom = response.data[0].sourceFrom;\r\n // if (SourceFrom == \"WebPortal-QRCode\") {\r\n // var tempdata1 = JSON.parse(response.data[0].response);\r\n // var webdata = JSON.parse(tempdata1.data.qrCodeResponse).body;\r\n // this.setState({\r\n // paymentDetail: {\r\n // ORDERID: webdata.orderId,\r\n // TXNAMOUNT: webdata.txnAmount,\r\n // TXNDATE: webdata.txnDate,\r\n // STATUS: webdata.resultInfo.resultStatus,\r\n // RESPMSG: webdata.resultInfo.resultMsg,\r\n // },\r\n // IsDetailShow:true,\r\n // showPaymentDetailModal: true,\r\n // });\r\n // } else if (SourceFrom == \"UI-Android\" || SourceFrom == \"UI-IOS\") {\r\n // var tempdata2 = JSON.parse(response.data[0].response);\r\n // // console.log(\"tempdata2->\", tempdata2);\r\n // this.setState({\r\n // paymentDetail: {\r\n // ORDERID: tempdata2.ORDERID,\r\n // TXNAMOUNT: tempdata2.TXNAMOUNT,\r\n // TXNDATE: tempdata2.TXNDATE,\r\n // STATUS: tempdata2.STATUS,\r\n // RESPMSG: tempdata2.RESPMSG,\r\n // },\r\n // IsDetailShow:true,\r\n // showPaymentDetailModal: true,\r\n // });\r\n // }}\r\n // else{\r\n // this.setState({\r\n // IsDetailShow:false,\r\n // showPaymentDetailModal: true,\r\n // });\r\n // }\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.INVOICE,\r\n // description: \"Unable to get Payment Detail\",\r\n // });\r\n // }\r\n // this.setState({ fullLoading: false });\r\n // });\r\n // };\r\n\r\n CheckPaymentStatus = () => {\r\n // console.log(\"invoicedata->\", this.state.invoiceData);\r\n var postdata = {\r\n mid:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.mid\r\n : this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0].mid,\r\n clientId:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.clientID\r\n : this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0].clientID,\r\n orderId:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.paytmtranID.toString()\r\n : this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0].paytmtranID,\r\n\r\n //QR Code\r\n // mid:\"KLEENC97448479615017\",\r\n // clientId:\"FxU%S%zqMPMUk9Ee\",\r\n // orderId:\"061913CDA008ODC105567\"\r\n\r\n //PG\r\n // mid:\"laundr11769834761468\",\r\n // clientId:\"398Q0RWW1Nsm77Gp\",\r\n // orderId:\"441859CAP001OWI105247\"\r\n };\r\n\r\n // console.log(\"postdata->\", postdata);\r\n this.paytmTransService\r\n .CheckPaymentTransactionStatus(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n // console.log(\"res->\", response.data);\r\n var res = JSON.parse(response.data.transactionStatus);\r\n // console.log(\"res123->\", res);\r\n\r\n // var tempdata1 = JSON.parse(response.data[0].response);\r\n var webdata = res.body;\r\n this.setState({\r\n paymentDetail: {\r\n ORDERID: webdata.orderId,\r\n TXNAMOUNT: webdata.txnAmount,\r\n TXNDATE: webdata.txnDate,\r\n STATUS: webdata.resultInfo.resultStatus,\r\n RESPMSG: webdata.resultInfo.resultMsg,\r\n },\r\n IsDetailShow: true,\r\n showPaymentDetailModal: true,\r\n });\r\n\r\n let params = {\r\n invoiceIds:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n qrCodeStatus: webdata.resultInfo.resultStatus,\r\n };\r\n this.invoiceService.QRCodeStatusUpdate(params).then((response) => {\r\n if (response.statusCode == 200) {\r\n // console.log(\"res->\", response);\r\n if (response.data == 1) {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: \"Status Save successfully\",\r\n });\r\n } else {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: response.message,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n CheckPhonePeStatus = () => {\r\n // console.log(\"invoicedata->\", this.state.invoiceData);\r\n var postdata = {\r\n merchantTransactionId:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.phonePetranID.toString()\r\n : this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0].phonePetranID,\r\n SplitOrderNo: \"\",\r\n };\r\n\r\n // console.log(\"postdata->\", postdata);\r\n this.paytmTransService.CheckPhonePeStatus(postdata).then((response) => {\r\n if (response.statusCode == 200) {\r\n // console.log(\"res->\", response.data);\r\n var res = response.data;\r\n // console.log(\"res123->\", res);\r\n\r\n // var tempdata1 = JSON.parse(response.data[0].response);\r\n var webdata = res.data;\r\n this.setState({\r\n paymentDetail: {\r\n ORDERID: webdata.merchantTransactionId,\r\n TXNAMOUNT: (webdata.amount)/100,\r\n // TXNDATE: webdata.txnDate,\r\n STATUS: res.code,\r\n RESPMSG: res.message,\r\n },\r\n IsDetailShow: true,\r\n showPaymentDetailModal: true,\r\n });\r\n\r\n let params = {\r\n invoiceIds:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n PhonePeStatus: res.code,\r\n };\r\n this.invoiceService.PhonePeStatusUpdate(params).then((response) => {\r\n if (response.statusCode == 200) {\r\n // console.log(\"res->\", response);\r\n if (response.data == 1) {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: \"Status Save successfully\",\r\n });\r\n } else {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: response.message,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n GenerateTaxInvoiceFromCheckNow = (tranID) => {\r\n let amount = Math.round(this.calculateTotal() - this.getPaidTotal());\r\n this.setState({ showPaymentDetailModal: false, fullLoading: true });\r\n let request = [];\r\n request.push({\r\n invoiceIDs:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : this.props.location.state.splitOrderNumber,\r\n paymentMode: 4,\r\n amount: parseFloat(amount),\r\n chequeNo: null,\r\n chequeDate: moment().format(\"YYYY-MM-DD\"),\r\n cardNo: null,\r\n transactionNo: tranID,\r\n remark: \"SettledWithCheckNow\",\r\n source: 1,\r\n });\r\n\r\n // console.log(\"request->\", request);\r\n\r\n this.invoiceService.generateTaxInvoice(request).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: labels.INVOICE_GENERATED_SUCCESSFULLY,\r\n onClose: () => {\r\n this.props.history.push(ROUTES.STORE_READY_FOR_DELIVERY_ORDERS);\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GENERATE_INVOICE,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n this.getInvoiceDetailFromSplitOrder();\r\n });\r\n };\r\n\r\n UpdateInvoiceRemark = () => {\r\n this.setState({ fullLoading: true });\r\n const splitOrderID = this.props.location.state.splitOrderNumber;\r\n // this.props.match.params.splitOrderID;\r\n this.invoiceService\r\n .UpdateInvoiceRemark({\r\n SplitOrderNumber: splitOrderID,\r\n InvoiceRemark: this.state.invoiceremark,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n fullLoading: true,\r\n });\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.INVOICE_REMARK_UPDATED_SUCCESSFULLY,\r\n });\r\n this.getInvoiceDetailFromSplitOrder();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPDATE_INVOICE_REMARK,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n getPaidTotal = () => {\r\n let sum = 0;\r\n if (\r\n this.state.invoiceData.lstVMVMInvoiceDataInvoicePaymentInfo !== undefined\r\n ) {\r\n this.state.invoiceData.lstVMVMInvoiceDataInvoicePaymentInfo.forEach(\r\n function (obj) {\r\n sum += obj.amount;\r\n }\r\n );\r\n }\r\n return sum;\r\n };\r\n calculateTotal = (taxType = false) => {\r\n if (this.state.mode === \"single\") {\r\n return parseFloat(\r\n (\r\n (parseFloat(this.state.invoiceData.serviceAmount) +\r\n parseFloat(this.state.invoiceData.addonserviceamount) +\r\n parseFloat(this.state.invoiceData.deliverycharges) +\r\n parseFloat(this.state.invoiceData.packagingcharges) -\r\n parseFloat(this.state.invoiceData.discountamount) +\r\n // parseFloat(this.state.invoiceData.adhocCharges) +\r\n parseFloat(this.state.adhocAmount) -\r\n parseFloat(this.state.invoiceData.adjustedLKBonusAmt) -\r\n parseFloat(this.state.invoiceData.adjustmentAmount) -\r\n parseFloat(this.state.invoiceData.paidLess)) *\r\n parseFloat(\r\n (\r\n (taxType !== false ? 0 : 1) +\r\n parseFloat(\r\n (\r\n (taxType === \"CGST\"\r\n ? this.state.invoiceData.cgstPer\r\n : taxType === \"SGST\"\r\n ? this.state.invoiceData.sgstPer\r\n : taxType === \"IGST\"\r\n ? this.state.invoiceData.igstPer\r\n : this.state.invoiceData.cgstPer +\r\n this.state.invoiceData.sgstPer +\r\n this.state.invoiceData.igstPer) / 100\r\n ).toFixed(2)\r\n )\r\n ).toFixed(2)\r\n )\r\n ).toFixed(2)\r\n );\r\n } else {\r\n return parseFloat(this.state.invoiceData.totalFinalInvoiceAmount);\r\n }\r\n // if (this.state.mode === \"single\") {\r\n // let adjustedandPaidlessAmt =\r\n // parseFloat(this.state.invoiceData.paidLess) +\r\n // parseFloat(this.state.invoiceData.adjustmentAmount);\r\n // let taxPerc = parseFloat(\r\n // (\r\n // (taxType !== false ? 0 : 1) +\r\n // parseFloat(\r\n // (\r\n // (taxType === \"CGST\"\r\n // ? this.state.invoiceData.cgstPer\r\n // : taxType === \"SGST\"\r\n // ? this.state.invoiceData.sgstPer\r\n // : taxType === \"IGST\"\r\n // ? this.state.invoiceData.igstPer\r\n // : this.state.invoiceData.cgstPer +\r\n // this.state.invoiceData.sgstPer +\r\n // this.state.invoiceData.igstPer) / 100\r\n // ).toFixed(2)\r\n // )\r\n // ).toFixed(2)\r\n // );\r\n\r\n // return parseFloat(\r\n // (\r\n // (parseFloat(this.state.invoiceData.serviceAmount) +\r\n // parseFloat(this.state.invoiceData.addonserviceamount) +\r\n // parseFloat(this.state.invoiceData.deliverycharges) +\r\n // parseFloat(this.state.invoiceData.packagingcharges) -\r\n // parseFloat(this.state.invoiceData.discountamount) +\r\n // // parseFloat(this.state.invoiceData.adhocCharges) +\r\n // parseFloat(this.state.adhocAmount) -\r\n // parseFloat(this.state.invoiceData.adjustedLKBonusAmt)) *\r\n // // parseFloat(\r\n // // (\r\n // // (taxType !== false ? 0 : 1) +\r\n // // parseFloat(\r\n // // (\r\n // // (taxType === \"CGST\"\r\n // // ? this.state.invoiceData.cgstPer\r\n // // : taxType === \"SGST\"\r\n // // ? this.state.invoiceData.sgstPer\r\n // // : taxType === \"IGST\"\r\n // // ? this.state.invoiceData.igstPer\r\n // // : this.state.invoiceData.cgstPer +\r\n // // this.state.invoiceData.sgstPer +\r\n // // this.state.invoiceData.igstPer) / 100\r\n // // ).toFixed(2)\r\n // // )\r\n // // ).toFixed(2)\r\n // // )\r\n // taxPerc -\r\n // (taxType !== false ? 0 : adjustedandPaidlessAmt) -\r\n // (taxType === false\r\n // ? 0\r\n // : adjustedandPaidlessAmt -\r\n // adjustedandPaidlessAmt * (100 / (100 + taxPerc * 100)))\r\n // ).toFixed(2)\r\n // );\r\n // } else {\r\n // return parseFloat(this.state.invoiceData.totalFinalInvoiceAmount);\r\n // }\r\n };\r\n markSettled = () => {\r\n this.setState({ fullLoading: true });\r\n this.invoiceService\r\n .markSettled(this.state.invoiceData.invoiceID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.INVOICE_SETTLED_SUCCESSFULLY,\r\n });\r\n this.getInvoiceDetailFromSplitOrder();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_SETTLE_INVOICE,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n addExcessAmountToWallet = () => {\r\n let excessAmount = this.state.useLKWallet\r\n ? this.state.restAmount +\r\n this.state.invoiceData.walletBalance -\r\n //Math.round(this.calculateTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n : //: this.state.restAmount - Math.round(this.calculateTotal() - 0.01); //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.restAmount - Math.round(this.calculateTotal()); //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n let invoiceIDs = \"\";\r\n let proformaNumbers = \"\";\r\n if (this.state.mode !== \"single\") {\r\n invoiceIDs = this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.map(\r\n (x) => x.invoiceID\r\n );\r\n proformaNumbers = this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.map(\r\n (x) => x.performaNumber\r\n );\r\n invoiceIDs = invoiceIDs.join(\",\");\r\n proformaNumbers = proformaNumbers.join(\",\");\r\n }\r\n const postData = {\r\n customerID: parseInt(this.state.invoiceData.customerID),\r\n orderID: null,\r\n invoiceID:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.invoiceID.toString()\r\n : invoiceIDs,\r\n storeID: localStorage.getItem(\"branchID\"),\r\n advanceAmount: excessAmount,\r\n isExcessAmount: true,\r\n paymentMode: parseInt(this.state.paymentMethods.selected),\r\n chequeNo: null,\r\n chequeDate: null,\r\n cardNo: null,\r\n transactionNo: null,\r\n remark:\r\n \"Excess Amount From Invoice \" + this.state.mode === \"single\"\r\n ? this.state.invoiceData.perfomaInvoiceNumber.toString()\r\n : proformaNumbers,\r\n sourceFrom: 1,\r\n };\r\n this.setState({ fullLoading: true });\r\n this.invoiceService.addExcessAmountToWallet(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.CheckPaytmEDCMachineTransData();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_ADD_AMOUNT_TO_LKWALLET,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n settleWithoutPayment = () => {\r\n this.setState({ fullLoading: true });\r\n let param = {\r\n UserID: parseInt(\r\n jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name\r\n ),\r\n SplitOrderNumber: this.props.location.state.splitOrderNumber,\r\n InvoiceId: this.state.invoiceData.invoiceID,\r\n };\r\n\r\n this.invoiceService.settleinvoicewithoutpayment(param).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.INVOICE_SETTLED_WITH_OUT_PAYMEN_SUCCESSFULLY,\r\n });\r\n this.getInvoiceDetailFromSplitOrder();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVOICE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_SETTLE_INVOICE_WITH_OUT_PAYMENT,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n // AddAltNumberForCustomer = () => {\r\n // if (this.state.ALTmobileNo.length > 0) {\r\n // const postData = {\r\n // CustomerID: parseInt(this.state.invoiceData.customerID),\r\n // AlterNativeMobileNo: this.state.ALTmobileNo.toString(),\r\n // };\r\n // this.setState({ fullLoading: true });\r\n // this.invoiceService.ADDAltNumberForCustomer(postData).then((response) => {\r\n // if (response.statusCode === 200) {\r\n // notification[\"success\"]({\r\n // message: labels.INVOICE,\r\n // description: labels.ALT_NUMBER_ADDED_SUCCESSFULLY,\r\n // });\r\n // this.setState({ fullLoading: false, ALTmobileNo: \"\" });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.INVOICE,\r\n // description: labels.UNABLE_TO_ADD_ALT_NUMBER,\r\n // });\r\n // }\r\n // this.setState({ fullLoading: false, ALTmobileNo: \"\" });\r\n // });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: \"Please Enter Alternative Mobile Number\",\r\n // });\r\n // }\r\n // };\r\n\r\n // DeleteAltNumberForCustomer = () => {\r\n // const postData = {\r\n // CustomerID: parseInt(this.state.invoiceData.customerID),\r\n // AlterNativeMobileNo: \"\",\r\n // };\r\n // this.setState({ fullLoading: true });\r\n // this.invoiceService.ADDAltNumberForCustomer(postData).then((response) => {\r\n // if (response.statusCode === 200) {\r\n // notification[\"success\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.ALT_NUMBER_DELETED_SUCCESSFULLY,\r\n // });\r\n // this.setState({ fullLoading: false });\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.UNABLE_TO_DELETE_ALT_NUMBER,\r\n // });\r\n // }\r\n // this.setState({ fullLoading: false, ALTmobileNo: \"\" });\r\n // this.formInstanceforALTNO.current.setFieldsValue({\r\n // altmobileNo: \"\",\r\n // });\r\n // });\r\n // };\r\n\r\n formInstanceforOTP = React.createRef();\r\n\r\n SendCustomerOTPForCreateOrder = () => {\r\n let Garment_Count = this.state.invoiceData.noofgarments;\r\n let Estimated_Amount = null;\r\n let tempstr = \"\";\r\n let SplitNum = \"\";\r\n if (this.state.mode === \"single\") {\r\n tempstr = this.state.invoiceData.splitOrderNumber + \"/\" + Garment_Count;\r\n SplitNum = this.state.invoiceData.splitOrderNumber;\r\n } else {\r\n for (\r\n let i = 0;\r\n i < this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.length;\r\n i++\r\n ) {\r\n tempstr =\r\n tempstr +\r\n \",\" +\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i]\r\n .splitOrderNumber +\r\n \"/\" +\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i].noOfGarment;\r\n SplitNum =\r\n SplitNum +\r\n \",\" +\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i]\r\n .splitOrderNumber;\r\n }\r\n\r\n tempstr = tempstr.slice(1, tempstr.length);\r\n SplitNum = SplitNum.slice(1, SplitNum.length);\r\n }\r\n\r\n const postData = {\r\n CustomerID: parseInt(this.state.invoiceData.customerID),\r\n MobileNo: this.state.invoiceData.mobileNo.toString(),\r\n AlterNativeMobileNo:\r\n this.state.invoiceData.alterNativeMobileNo.toString(),\r\n ISPickup: false,\r\n GarmentCount: Garment_Count,\r\n SplitOrderIDGarmentCount: tempstr,\r\n Amount: Estimated_Amount,\r\n Type: \"Invoice\",\r\n SplitOrderNumber: SplitNum,\r\n };\r\n\r\n // console.log(\"postData->\", postData);\r\n this.setState({ fullLoading: true });\r\n this.invoiceService\r\n .SendCustomerOTPForCreateOrder(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: labels.OTP_SENT_SUCCESSFULLY,\r\n });\r\n this.setState({ fullLoading: false, disablegenerateOTP: true });\r\n this.setState({\r\n ReceivedOTP: response.data.otp,\r\n });\r\n var timeleft = 0;\r\n var downloadTimer = setInterval(() => {\r\n if (timeleft >= 30) {\r\n clearInterval(downloadTimer);\r\n }\r\n var time = 30 - timeleft;\r\n this.setState({\r\n TimerValue: time,\r\n });\r\n\r\n timeleft += 1;\r\n this.setState({\r\n isResendOtp: true,\r\n });\r\n\r\n if (timeleft >= 31) {\r\n this.setState({\r\n isResendOtp: false,\r\n });\r\n }\r\n }, 1000);\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: labels.UNABLE_TO_SENT_OTP,\r\n });\r\n }\r\n this.setState({ fullLoading: false });\r\n });\r\n };\r\n\r\n // ResendOTP = () => {\r\n // if (this.state.mode === \"single\") {\r\n // if (\r\n // this.state.ReceivedOTP !== null &&\r\n // this.state.ReceivedOTP !== \"\" &&\r\n // this.state.ReceivedOTP !== undefined\r\n // ) {\r\n // this.ResendDeliveryOTP();\r\n // } else {\r\n // this.SendCustomerOTP();\r\n // }\r\n // } else {\r\n // if (this.state.ReceivedOTPForMultiple.length > 0) {\r\n // this.ResendDeliveryOTP();\r\n // } else {\r\n // OTParr = [];\r\n // let sendOtpCount =\r\n // this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.length;\r\n // console.log(\"sendOtpCount\", sendOtpCount);\r\n // this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.forEach((data) => {\r\n // console.log(\"Data\", data);\r\n // this.SendCustomerOTP(data.splitOrderNumber);\r\n // });\r\n // // this.SendCustomerOTP();\r\n // }\r\n // }\r\n // };\r\n\r\n // ResendDeliveryOTP = () => {\r\n // let Garment_Count = this.state.invoiceData.noofgarments;\r\n // let tempstr = \"\";\r\n // let RecOTP = \"\";\r\n // if (this.state.mode === \"single\") {\r\n // tempstr = this.state.invoiceData.splitOrderNumber + \"/\" + Garment_Count;\r\n // RecOTP = this.state.ReceivedOTP;\r\n // } else {\r\n // for (\r\n // let i = 0;\r\n // i < this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.length;\r\n // i++\r\n // ) {\r\n // tempstr =\r\n // tempstr +\r\n // \",\" +\r\n // this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i]\r\n // .splitOrderNumber +\r\n // \"/\" +\r\n // this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i].noOfGarment;\r\n // }\r\n\r\n // tempstr = tempstr.slice(1, tempstr.length);\r\n // // console.log(\"this.state.ReceivedOTPForMultiple\", this.state.ReceivedOTPForMultiple)\r\n // RecOTP = this.state.ReceivedOTPForMultiple[0];\r\n // }\r\n\r\n // const postData = {\r\n // CustomerID: parseInt(this.state.invoiceData.customerID),\r\n // MobileNo: this.state.invoiceData.mobileNo.toString(),\r\n // AlterNativeMobileNo:\r\n // this.state.invoiceData.alterNativeMobileNo.toString(),\r\n // SplitOrderIDGarmentCount: tempstr,\r\n // OTP: RecOTP,\r\n // FullName: this.state.invoiceData.customerName,\r\n // };\r\n\r\n // // console.log(\"postData->\", postData);\r\n // this.setState({ fullLoading: true });\r\n // this.invoiceService.ResendDeliveryOTP(postData).then((response) => {\r\n // // console.log(\"response->\", response);\r\n // if (response.statusCode === 200) {\r\n // notification[\"success\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.OTP_SENT_SUCCESSFULLY,\r\n // });\r\n // this.setState({ fullLoading: false, disablegenerateOTP: false });\r\n // var timeleft = 0;\r\n // var downloadTimer = setInterval(() => {\r\n // if (timeleft >= 30) {\r\n // clearInterval(downloadTimer);\r\n // }\r\n // var time = 30 - timeleft;\r\n // this.setState({\r\n // TimerValue: time,\r\n // });\r\n\r\n // timeleft += 1;\r\n // this.setState({\r\n // isResendOtp: true,\r\n // });\r\n\r\n // if (timeleft >= 31) {\r\n // this.setState({\r\n // isResendOtp: false,\r\n // });\r\n // }\r\n // }, 1000);\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.UNABLE_TO_SENT_OTP,\r\n // });\r\n // }\r\n // this.setState({ fullLoading: false });\r\n // });\r\n // };\r\n\r\n // SendCustomerOTP = (splitdata) => {\r\n // // console.log(\"splitdata\", splitdata)\r\n // let Garment_Count = this.state.invoiceData.noofgarments;\r\n // let Estimated_Amount = null;\r\n // let tempstr = \"\";\r\n // let SplitNum = \"\";\r\n // if (this.state.mode === \"single\") {\r\n // tempstr = this.state.invoiceData.splitOrderNumber + \"/\" + Garment_Count;\r\n // SplitNum = this.state.invoiceData.splitOrderNumber;\r\n // } else {\r\n // for (\r\n // let i = 0;\r\n // i < this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.length;\r\n // i++\r\n // ) {\r\n // tempstr =\r\n // tempstr +\r\n // \",\" +\r\n // this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i]\r\n // .splitOrderNumber +\r\n // \"/\" +\r\n // this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[i].noOfGarment;\r\n // }\r\n\r\n // tempstr = tempstr.slice(1, tempstr.length);\r\n // SplitNum = splitdata;\r\n // }\r\n\r\n // const postData = {\r\n // CustomerID: parseInt(this.state.invoiceData.customerID),\r\n // MobileNo: this.state.invoiceData.mobileNo.toString(),\r\n // AlterNativeMobileNo:\r\n // this.state.invoiceData.alterNativeMobileNo.toString(),\r\n // GarmentCount: Garment_Count,\r\n // Amount: Estimated_Amount,\r\n // SplitOrderIDGarmentCount: tempstr,\r\n // ISPickup: false,\r\n // SplitOrderNumber: SplitNum,\r\n // type: \"Invoice\",\r\n // };\r\n\r\n // // console.log(\"postData->\", postData);\r\n // this.setState({ fullLoading: true });\r\n // this.invoiceService\r\n // .SendCustomerOTPForCreateOrder(postData)\r\n // .then((response) => {\r\n // // console.log(\"response->\", response);\r\n\r\n // if (response.statusCode === 200) {\r\n // notification[\"success\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.OTP_SENT_SUCCESSFULLY,\r\n // });\r\n // this.setState({ fullLoading: false, disablegenerateOTP: false });\r\n // if (this.state.mode === \"single\") {\r\n // this.setState({\r\n // reSendOTP: response.data.otp,\r\n // });\r\n // } else {\r\n // OTParr.push(response.data.otp);\r\n // }\r\n // var timeleft = 0;\r\n // var downloadTimer = setInterval(() => {\r\n // if (timeleft >= 30) {\r\n // clearInterval(downloadTimer);\r\n // }\r\n // var time = 30 - timeleft;\r\n // this.setState({\r\n // TimerValue: time,\r\n // });\r\n\r\n // timeleft += 1;\r\n // this.setState({\r\n // isResendOtp: true,\r\n // });\r\n\r\n // if (timeleft >= 31) {\r\n // this.setState({\r\n // isResendOtp: false,\r\n // });\r\n // }\r\n // }, 1000);\r\n // } else {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: labels.UNABLE_TO_SENT_OTP,\r\n // });\r\n // }\r\n // this.setState({ fullLoading: false });\r\n // });\r\n // };\r\n\r\n ValidateOTP = () => {\r\n // if (this.state.mode === \"single\") {\r\n if (\r\n this.state.ReceivedOTP !== null &&\r\n this.state.ReceivedOTP !== \"\" &&\r\n this.state.ReceivedOTP !== undefined\r\n ) {\r\n if (this.state.ReceivedOTP != this.state.InputOTP) {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: \"Please Enter Valid OTP\",\r\n });\r\n this.setState({ ISVerified: false, InputOTP: \"\" });\r\n this.formInstanceforOTP.current.setFieldsValue({\r\n OTP: \"\",\r\n });\r\n } else {\r\n notification[\"success\"]({\r\n message: labels.ORDERS,\r\n description: \"OTP Varified Successfully\",\r\n });\r\n this.UpdateVerifiedOTPDateTime(this.state.InputOTP);\r\n this.setState({ ISVerified: true, InputOTP: \"\" });\r\n this.formInstanceforOTP.current.setFieldsValue({\r\n OTP: \"\",\r\n });\r\n }\r\n }\r\n // else {\r\n // if (this.state.reSendOTP != this.state.InputOTP) {\r\n // notification[\"error\"]({\r\n // message: labels.ORDERS,\r\n // description: \"Please Enter Valid OTP\",\r\n // });\r\n // this.setState({ ISVerified: false, InputOTP: \"\" });\r\n // this.formInstanceforOTP.current.setFieldsValue({\r\n // OTP: \"\",\r\n // });\r\n // } else {\r\n // notification[\"success\"]({\r\n // message: labels.ORDERS,\r\n // description: \"OTP Varified Successfully\",\r\n // });\r\n // this.UpdateVerifiedOTPDateTime(this.state.InputOTP);\r\n // this.setState({ ISVerified: true, InputOTP: \"\" });\r\n // this.formInstanceforOTP.current.setFieldsValue({\r\n // OTP: \"\",\r\n // });\r\n // }\r\n // }\r\n // }\r\n };\r\n formInstanceforALTNO = React.createRef();\r\n\r\n UpdateVerifiedOTPDateTime = (OTP) => {\r\n const postData = {\r\n OTP: OTP,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.invoiceService.UpdateVerifiedOTPDateTime(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ modalLoading: false });\r\n } else {\r\n this.setState({ modalLoading: false });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n render() {\r\n let post = {\r\n splitOrderNumber:\r\n this.state.mode === \"single\"\r\n ? this.state.invoiceData.splitOrderNumber\r\n : this.props.location.state.splitOrderNumber,\r\n // this.props.match.params.splitOrderID,\r\n };\r\n var Settle_Less_Paid_show = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Settle Less Paid\";\r\n });\r\n\r\n var Close_ODM_Order_show = JSON.parse(\r\n localStorage.getItem(\"buttonAccess\")\r\n ).filter((item) => {\r\n return item.accessName == \"Close ODM Order\";\r\n });\r\n\r\n const labelColors = [\r\n \"#FF8EB1\",\r\n \"#FCC350\",\r\n \"#6ABEFF\",\r\n \"#7AE473\",\r\n \"#FF6A6A\",\r\n \"#8F56F3\",\r\n \"#E162E5\",\r\n \"#B2C12C\",\r\n \"#3C76EB\",\r\n ];\r\n\r\n // console.log(\"data->\", this.state.invoiceData.alterNativeMobileNo);\r\n\r\n const { isShowQRCode, base64Image, isQRCodeShow } = this.state;\r\n var altmobileNo = this.state.invoiceData.alterNativeMobileNo;\r\n // if (this.state.invoiceData.alterNativeMobileNo != undefined) {\r\n // altmobileNo = this.state.invoiceData.alterNativeMobileNo;\r\n // }\r\n // console.log(\"OTPArr\", OTParr)\r\n // console.log(\"paymentmethod\", this.state.paymentMethods);\r\n\r\n return (\r\n \r\n {/*
{JSON.stringify(this.state.invoiceData, null, 2)}
*/}\r\n\r\n {isShowQRCode ? (\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 * Page Header Component from Ant Design\r\n * Please check below link for more options\r\n * https://ant.design/components/page-header/\r\n * https://ant.design/components/page-header/#API\r\n *\r\n */}\r\n this.props.history.goBack()}\r\n backIcon={}\r\n title={labels.INVOICE}\r\n subTitle={\r\n this.state.mode === \"single\" &&\r\n this.state.invoiceData.perfomaInvoiceNumber !== null &&\r\n this.state.invoiceData.perfomaInvoiceNumber !== \"\" ? (\r\n \r\n #{this.state.invoiceData.perfomaInvoiceNumber}\r\n \r\n ) : null\r\n }\r\n extra={\r\n this.state.mode === \"single\" ? (\r\n {\r\n getPDFProformaInvoice(\r\n this.state.invoiceData.orderID,\r\n this.state.invoiceData.splitOrderNumber\r\n );\r\n }}\r\n >\r\n \"print\"\r\n \r\n ) : null\r\n }\r\n />\r\n
\r\n \r\n \r\n
\r\n {this.state.invoiceData.customerName}\r\n
\r\n
\r\n \r\n {this.state.invoiceData.customerTypeName}\r\n {this.state.invoiceData.corporateName !== null &&\r\n this.state.invoiceData.corporateName !== \"\"\r\n ? \" - \" + this.state.invoiceData.corporateName\r\n : \"\"}\r\n \r\n
\r\n
\r\n \"wallet\"\r\n ₹ {this.state.invoiceData.walletBalance}\r\n
\r\n
\r\n {this.state.invoiceData.customeraddressName}\r\n
\r\n \r\n {this.state.mode === \"single\" ? (\r\n \r\n
\r\n {labels.ORDER} #{this.state.invoiceData.orderID}\r\n
\r\n
\r\n {labels.ORDER_TYPE} :{\" \"}\r\n {this.state.invoiceData.ordertypename}\r\n
\r\n
\r\n {labels.ORDER_DATE} :{\" \"}\r\n {moment(this.state.invoiceData.orderDate).format(\r\n \"DD MMM YYYY\"\r\n )}\r\n
\r\n {(this.state.invoiceData.pickupBy !== null) &\r\n (this.state.invoiceData.pickupBy !== \"\") ? (\r\n
\r\n {labels.PICKUP_BY} : {this.state.invoiceData.pickupBy}\r\n
\r\n ) : null}\r\n {this.state.invoiceData.pickupDate !== \"\" ? (\r\n
\r\n {labels.PICKUP_DATE} :{\" \"}\r\n {moment(this.state.invoiceData.pickupDate).format(\r\n \"DD MMM YYYY\"\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 {this.state.mode === \"single\" ? (\r\n \r\n \r\n \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.mode === \"single\" ? (\r\n \r\n \r\n \r\n \r\n {this.state.invoiceData.vMInvoiceGarmentDetails.map(\r\n (item, 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 {this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.map(\r\n (single) => {\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
{labels.DETAILS}{labels.ADD_ON_SERVICES}{labels.AMOUNT}
{labels.PROFORMA_INVOICE}\r\n {labels.ADJUSTED_LK_BONUS_AMOUNT}\r\n {labels.AMOUNT}
\r\n \r\n {this.state.invoiceData.servicename}\r\n \r\n
\r\n {item.tagNumber} - {item.garmentName}\r\n {item.addonservicename}\r\n ₹{\" \"}\r\n {item.serviceamount + item.addOnServiceAmount}\r\n
{single.performaNumber}\r\n ₹ {single.adjustedLKBonusAmt}\r\n \r\n ₹ {single.finalInvoiceAmount}\r\n
\r\n {this.state.mode === \"single\" ? (\r\n \r\n
\r\n
\r\n {labels.SUBTOTAL}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.serviceAmount}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {labels.ADD_ON_SERVICE_CHARGES}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.addonserviceamount}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {labels.ADHOC_CHARGES}\r\n
\r\n
\r\n ₹ {this.state.adhocAmount}\r\n
\r\n
\r\n {this.state.mode === \"single\" ? (\r\n
\r\n
\r\n {labels.ADJUSTED_LK_BONUS_AMOUNT}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.adjustedLKBonusAmt}\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n {labels.ADJUSTED_AMOUNT}\r\n
\r\n
\r\n ₹ {this.state.adjustmentAmount}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {labels.PAIDLESS_AMOUNT}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.paidLess}\r\n
\r\n
\r\n {this.state.invoiceData.discountamount !== 0 ? (\r\n \r\n
\r\n
\r\n {labels.DISCOUNT}\r\n \r\n this.setState({\r\n displayDiscountInfo:\r\n !this.state.displayDiscountInfo,\r\n })\r\n }\r\n >\r\n \"i\"\r\n \r\n
\r\n
\r\n ₹ {this.state.invoiceData.discountamount}\r\n
\r\n
\r\n {this.state.displayDiscountInfo ? (\r\n
\r\n
\r\n
\r\n {this.state.invoiceData.discountname}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.discountamount}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n\r\n
\r\n
\r\n {labels.TAXES_AND_CHARGES}\r\n \r\n this.setState({\r\n displayTaxInfo: !this.state.displayTaxInfo,\r\n })\r\n }\r\n >\r\n \"i\"\r\n \r\n
\r\n
\r\n ₹{\" \"}\r\n {this.state.mode === \"single\"\r\n ? parseFloat(\r\n (\r\n parseFloat(this.state.invoiceData.deliverycharges) +\r\n parseFloat(\r\n this.state.invoiceData.packagingcharges\r\n ) +\r\n parseFloat(this.calculateTotal(\"CGST\")) +\r\n parseFloat(this.calculateTotal(\"SGST\")) +\r\n parseFloat(this.calculateTotal(\"IGST\"))\r\n ).toFixed(2)\r\n )\r\n : parseFloat(\r\n this.state.invoiceData.totalCGST +\r\n this.state.invoiceData.totalSGST +\r\n this.state.invoiceData.totalIGST\r\n ).toFixed(2)}\r\n
\r\n
\r\n {this.state.displayTaxInfo ? (\r\n
\r\n {this.state.mode === \"single\" ? (\r\n \r\n
\r\n
\r\n {labels.PACKAGING_CHARGES}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.packagingcharges}\r\n
\r\n
\r\n
\r\n
\r\n {labels.DELIVERY_CHARGES}\r\n
\r\n
\r\n ₹ {this.state.invoiceData.deliverycharges}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n {labels.CGST}{\" \"}\r\n {this.state.invoiceData.cgstPer !== undefined\r\n ? \"–\" + this.state.invoiceData.cgstPer + \"%\"\r\n : null}\r\n
\r\n
\r\n ₹{\" \"}\r\n {this.state.mode === \"single\"\r\n ? // ? parseFloat(\r\n // parseFloat(this.state.invoiceData.cgst) -\r\n // parseFloat(\r\n // this.state.invoiceData.adhocCharges\r\n // ) *\r\n // parseFloat(\r\n // (\r\n // this.state.invoiceData.cgstPer / 100\r\n // ).toFixed(2)\r\n // ) +\r\n // this.state.adhocAmount *\r\n // parseFloat(\r\n // (\r\n // this.state.invoiceData.cgstPer / 100\r\n // ).toFixed(2)\r\n // ).toFixed(2)\r\n // ).toFixed(2)\r\n this.calculateTotal(\"CGST\")\r\n : parseFloat(\r\n this.state.invoiceData.totalCGST\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.SGST}{\" \"}\r\n {this.state.invoiceData.sgstPer !== undefined\r\n ? \"–\" + this.state.invoiceData.sgstPer + \"%\"\r\n : null}\r\n
\r\n
\r\n ₹{\" \"}\r\n {this.state.mode === \"single\"\r\n ? this.calculateTotal(\"SGST\")\r\n : parseFloat(\r\n this.state.invoiceData.totalSGST\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n {labels.IGST}{\" \"}\r\n {this.state.invoiceData.igstPer !== undefined\r\n ? \"–\" + this.state.invoiceData.igstPer + \"%\"\r\n : null}\r\n
\r\n
\r\n ₹{\" \"}\r\n {this.state.mode === \"single\"\r\n ? this.calculateTotal(\"IGST\")\r\n : parseFloat(\r\n this.state.invoiceData.totalIGST\r\n ).toFixed(2)}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n {labels.TOTAL}\r\n {this.state.invoiceData.noofgarments}\r\n \r\n ₹{\" \"}\r\n {this.state.mode === \"single\"\r\n ? //? Math.round(this.calculateTotal().toFixed(2) - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal().toFixed(2)) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n : parseFloat(\r\n this.state.invoiceData.totalFinalInvoiceAmount\r\n ).toFixed(2)}\r\n \r\n
\r\n {/* */}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.mode === \"single\" ? (\r\n \r\n
\r\n
{labels.PENDING_PAYMENT}
\r\n
₹ {this.state.invoiceData.pendigngPayement}
\r\n
\r\n
\r\n \r\n = 2}\r\n value={this.state.adhocAmount}\r\n step={0.01}\r\n onChange={(value) => {\r\n if (value === \"\" || value === null) {\r\n value = 0;\r\n }\r\n this.setState({ adhocAmount: value });\r\n }}\r\n min={0}\r\n />\r\n
\r\n
\r\n
\r\n {labels.TOTAL_AMOUNT} :\r\n
\r\n
\r\n ₹{\" \"}\r\n {\r\n //Math.round(this.calculateTotal().toFixed(2) - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal().toFixed(2)) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n }\r\n
\r\n
\r\n {/**\r\n * Please go through below documentation\r\n * https://ant.design/components/input/\r\n * https://ant.design/components/input/#API\r\n *\r\n */}\r\n {/* }\r\n suffix={}\r\n className={styles.PromocodeInput}\r\n placeholder=\"Promocode\"\r\n /> */}\r\n
\r\n ) : null}\r\n {this.state.mode === \"single\" &&\r\n this.state.invoiceData.perfomaInvoiceNumber !== null &&\r\n this.state.invoiceData.perfomaInvoiceNumber !== \"\" ? (\r\n
\r\n \r\n = 2}\r\n value={\r\n //Math.round(this.calculateTotal() - this.getPaidTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(\r\n this.calculateTotal() - this.getPaidTotal()\r\n ) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n }\r\n onChange={(value) => {\r\n this.setState({\r\n newAdjustmentAmount:\r\n //Math.round(this.calculateTotal() - 0.01) + //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) + //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.getAdjustmentAmount(\r\n this.state.adjustmentAmount\r\n ) -\r\n value,\r\n isAdjustmentUpdated: true,\r\n });\r\n }}\r\n // // min={\r\n // // Math.round(this.calculateTotal()) +\r\n // // this.state.adjustmentAmount -\r\n // // 9\r\n // // }\r\n // max={9.99}\r\n precision={2}\r\n />\r\n
\r\n ) : null}\r\n
\r\n {![undefined, null, []].includes(this.state.invoiceData) &&\r\n [2, 3].includes(this.state.invoiceData.deliveryType)\r\n ? \"Note : \" +\r\n this.state.invoiceData.deliveryTypeName +\r\n \" - You have been charged \" +\r\n this.state.invoiceData.rateRatio +\r\n \"x of Standard price.\"\r\n : null}\r\n
\r\n\r\n = 2}\r\n value={this.state.remarks}\r\n onChange={(e) => this.setState({ remarks: e.target.value })}\r\n rows={3}\r\n />\r\n {this.state.invoiceData.remarkUpdatedBy != \"\" ? (\r\n \r\n
PI Remarked Updated by
\r\n
{this.state.invoiceData.remarkUpdatedBy}
\r\n
\r\n ) : null}\r\n \r\n {this.state.invoiceData.lstVMVMInvoiceDataInvoicePaymentInfo.map(\r\n (single) => {\r\n return (\r\n <>\r\n
\r\n
{single.paymentModeName}
\r\n {/*
₹ {single.amount}
*/}\r\n
\r\n ₹ {Math.round(single.amount.toFixed(2))}\r\n
\r\n {/* //add here */}\r\n
\r\n
\r\n Transaction Details\r\n
\r\n {[3, 4].includes(single.paymentMode) ? (\r\n <>\r\n {single.sourceFromID === 1 ? (\r\n <>\r\n \r\n
Transaction ID
\r\n
{single.transactionNo}
\r\n
\r\n \r\n ) : (\r\n <>\r\n \r\n
Transaction ID
\r\n \r\n \r\n
{single.transactionNo}
\r\n \r\n \r\n )}\r\n\r\n \r\n
Mode Of Transaction
\r\n
\r\n {single.sourceFromID === 1 ||\r\n single.sourceFromID === 3\r\n ? single.paymentMode === 4\r\n ? \"Paytm QR Code\"\r\n : \"EDC\"\r\n : \"PG\"}\r\n
\r\n \r\n \r\n ) : null}\r\n \r\n
Transaction DateTime
\r\n
\r\n {moment(single.paymentDate).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n
\r\n \r\n \r\n );\r\n }\r\n )}\r\n\r\n {this.state.invoiceData.invoiceStatusId <= 1 ? (\r\n \r\n {this.state.invoiceData.perfomaInvoiceNumber !== null &&\r\n this.state.invoiceData.perfomaInvoiceNumber !== \"\"\r\n ? labels.UPDATE_PROFORMA_INVOICE\r\n : labels.CREATE_PROFORMA_INVOICE}{\" \"}\r\n \r\n ) : null}\r\n \r\n\r\n {/* Check Now for Paytm */}\r\n {/* {(this.state.invoiceData.invoiceStatusId != undefined &&\r\n this.state.invoiceData.paytmtranID.length > 0) ||\r\n (this.state.invoiceData.lstVMInvoiceDataInvoiceInfo !=\r\n undefined &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.length >\r\n 0 &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0]\r\n .invoiceStatus != undefined &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0]\r\n .paytmtranID.length > 0) ? (\r\n \r\n Check Now\r\n \r\n ) : null} */}\r\n \r\n\r\n {/* Check Now for PhonePe */}\r\n {(this.state.invoiceData.invoiceStatusId != undefined &&\r\n this.state.invoiceData.phonePetranID.length > 0) ||\r\n (this.state.invoiceData.lstVMInvoiceDataInvoiceInfo !=\r\n undefined &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo.length >\r\n 0 &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0]\r\n .invoiceStatus != undefined &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo[0]\r\n .phonePetranID.length > 0) ? (\r\n \r\n Check Now\r\n \r\n ) : null}\r\n\r\n {/* Added By Hasti - Delivery OTP Conformation */}\r\n \r\n {!this.state.ISVerified &&\r\n this.state.invoiceData.invoiceStatusId != 3 ? (\r\n
\r\n
\r\n \r\n OTP is sent to Registered mobile number & App\r\n \r\n
\r\n {/* UnComment By Hasti - L16814 */}\r\n \r\n \r\n Registered number :{\" \"}\r\n \r\n {this.state.invoiceData.mobileNo}\r\n
\r\n {/* Comment By Hasti - L16815 */}\r\n {/* {altmobileNo != undefined ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n
\r\n
\r\n 0\r\n }\r\n >\r\n Submit\r\n \r\n
\r\n \r\n }\r\n className={styles.PromocodeInput}\r\n // placeholder=\"Alternative Number\"\r\n onChange={(e) =>\r\n this.setState({\r\n ALTmobileNo: e.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n ) : null} */}\r\n {/* UnComment By Hasti - L16814 */}\r\n
\r\n \r\n Generate OTP\r\n \r\n
\r\n\r\n
\r\n \r\n OTP will be sent to Regesterd mobile number\r\n \r\n
\r\n
\r\n \r\n \r\n 0}\r\n >\r\n Submit\r\n \r\n }\r\n // onPressEnter={this.ValidateOTP}\r\n className={styles.PromocodeInput}\r\n placeholder=\"Enter OTP\"\r\n value={\r\n this.state.InputOTP === \"\"\r\n ? null\r\n : this.state.InputOTP\r\n }\r\n onChange={(e) =>\r\n this.setState({\r\n InputOTP: e.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n Resend OTP\r\n \r\n \r\n \r\n 0:{this.state.TimerValue}\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n {labels.SUBMIT}\r\n \r\n\r\n {\r\n // this.formInstanceforOTP.current.setFieldsValue({\r\n // OTP: \"\",\r\n // });\r\n this.setState({\r\n InputOTP: \"\",\r\n });\r\n }}\r\n style={{ width: \"40%\", marginRight: 20 }}\r\n variant=\"pink\"\r\n size=\"small\"\r\n block\r\n >\r\n {labels.CANCEL}\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n {/* End */}\r\n\r\n \r\n {(this.state.invoiceData.invoiceStatusId === 1 ||\r\n this.state.mode !== \"single\") &&\r\n this.state.ISVerified ? (\r\n \r\n {\r\n //Math.round(this.calculateTotal() - 0.01) > 0 ? ( //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) > 0 ? ( //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n \r\n \r\n
\r\n \r\n this.setState(\r\n {\r\n useLKWallet: event.target.checked,\r\n },\r\n () => this.GenerateInvoiceBalance()\r\n )\r\n }\r\n >\r\n {labels.USE_LK_WALLET}\r\n \r\n
\r\n
\r\n ₹{\" \"}\r\n {\r\n //Math.round(this.calculateTotal() - 0.01) >= //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) >= //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.invoiceData.walletBalance\r\n ? this.state.invoiceData.walletBalance.toFixed(\r\n 2\r\n )\r\n : //: Math.round(this.calculateTotal() - 0.01)} //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n }\r\n {/* {this.state.useLKWallet\r\n ? this.calculateTotal() >=\r\n this.state.invoiceData.walletBalance\r\n ? this.state.invoiceData.walletBalance.toFixed(\r\n 2\r\n )\r\n : this.calculateTotal()\r\n : 0} */}\r\n
\r\n \r\n\r\n
\r\n
{labels.WALLET_BALANCE}
\r\n
\r\n ₹{\" \"}\r\n {this.state.useLKWallet\r\n ? //? Math.round(this.calculateTotal() - 0.01) >= //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) >= //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.invoiceData.walletBalance\r\n ? 0\r\n : this.state.invoiceData.walletBalance -\r\n // Math.round(this.calculateTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n : this.state.invoiceData.walletBalance}\r\n {/* {this.state.useLKWallet\r\n ? this.calculateTotal() >=\r\n this.state.invoiceData.walletBalance\r\n ? this.state.invoiceData.walletBalance.toFixed(\r\n 2\r\n )\r\n : this.calculateTotal()\r\n : 0} */}\r\n
\r\n
\r\n
\r\n ) : null\r\n }\r\n\r\n {\r\n //Math.round(this.calculateTotal() - 0.01) > 0 ? ( //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) > 0 ? ( //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n \r\n
\r\n {/* x.label.toLowerCase() !== \"lk wallet\"\r\n )}\r\n value={this.state.paymentMethods.selected}\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n selected: value,\r\n },\r\n },\r\n () =>\r\n console.log(\r\n this.state.paymentMethods.selected\r\n )\r\n )\r\n }\r\n /> */}\r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n selected: value,\r\n },\r\n },\r\n () =>\r\n console.log(\r\n this.state.paymentMethods.selected\r\n )\r\n )\r\n }\r\n >\r\n {/* {this.state.stateListOptions.length !== 0? */}\r\n {\r\n this.state.paymentMethods.data.map((x) => {\r\n return x.value != -1 && x.value != 2 ? (\r\n \r\n ) : null;\r\n })\r\n // :null\r\n // }\r\n }\r\n \r\n\r\n {\r\n if (value === \"\" || value === null) {\r\n value = 0;\r\n }\r\n this.setState({ restAmount: value });\r\n }}\r\n min={0}\r\n // max={\r\n // this.state.useLKWallet\r\n // ? parseInt((Math.round(this.calculateTotal()) -\r\n // this.state.invoiceData.walletBalance)) <\r\n // 0\r\n // ? 100\r\n // : Math.round(this.calculateTotal()) -\r\n // this.state.invoiceData.walletBalance\r\n // : Math.round(this.calculateTotal()) + 100\r\n // }\r\n />\r\n
\r\n
\r\n ) : null\r\n } \r\n {\r\n if (!visible) {\r\n this.setState({ visible: visible });\r\n return;\r\n }\r\n if (\r\n this.state.useLKWallet\r\n ? this.state.invoiceData.walletBalance >\r\n // Math.round(this.calculateTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n ? false\r\n : //: Math.round(this.calculateTotal() - 0.01) < //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) < //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.restAmount +\r\n this.state.invoiceData.walletBalance\r\n ? true\r\n : false\r\n : this.state.restAmount >\r\n //Math.round(this.calculateTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n ? true\r\n : false\r\n ) {\r\n this.setState({ visible: visible }); // show the popconfirm\r\n } else {\r\n this.CheckPaytmEDCMachineTransData();\r\n }\r\n }}\r\n title={\r\n labels.DO_YOU_WANT_TO_ADD_THE_EXCESS_AMOUNT_TO_THE_LKWALLET +\r\n \" ?\"\r\n }\r\n placement=\"bottom\"\r\n okText={labels.YES}\r\n cancelText={labels.NO}\r\n onConfirm={() => {\r\n this.addExcessAmountToWallet();\r\n }}\r\n onCancel={() => this.CheckPaytmEDCMachineTransData()}\r\n >\r\n {(localStorage\r\n .getItem(\"roleNames\")\r\n .split(\",\")\r\n .indexOf(\"Admin\") > -1 &&\r\n this.state.invoiceData.pickupBy == \"\" &&\r\n (this.state.invoiceData.pickupDate == \"\" || this.state.invoiceData.assignedToUserID ==0 )) ||\r\n (this.state.invoiceData.lstVMInvoiceDataInvoiceInfo &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo\r\n .length > 0\r\n ? this.state.invoiceData\r\n .lstVMInvoiceDataInvoiceInfo[0].invoiceStatus ==\r\n 1\r\n : this.state.invoiceData.invoiceStatusId == 1 &&\r\n this.state.invoiceData.pickupBy == \"\" &&\r\n (this.state.invoiceData.pickupDate == \"\" || this.state.invoiceData.assignedToUserID ==0)) ? (\r\n 0 //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) > 0 //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n ? this.state.useLKWallet\r\n ? //? Math.round(this.calculateTotal() - 0.01) > //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) > //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n this.state.invoiceData.walletBalance\r\n ? this.state.restAmount === 0\r\n ? true\r\n : false\r\n : false\r\n : this.state.restAmount === 0\r\n ? true\r\n : false\r\n : false\r\n }\r\n // onClick={() => console.log(\"Create Tax Invoice\")}\r\n // onClick={this.generateTaxInvoice}\r\n >\r\n {labels.GENERATE_TAX_INVOICE}\r\n \r\n ) : this.state.invoiceData\r\n .lstVMInvoiceDataInvoiceInfo &&\r\n this.state.invoiceData.lstVMInvoiceDataInvoiceInfo\r\n .length > 0 ? (\r\n this.state.invoiceData\r\n .lstVMInvoiceDataInvoiceInfo[0].invoiceStatus == 1\r\n ) : this.state.invoiceData.invoiceStatusId == 1 &&\r\n this.state.invoiceData.pickupBy !== \"\" &&\r\n this.state.invoiceData.pickupDate !== \"\" &&\r\n Close_ODM_Order_show.length ? (\r\n \r\n ) : null}\r\n \r\n
\r\n ) : null}\r\n {/* localStorage\r\n .getItem(\"roleNames\")\r\n .split(\",\")\r\n .indexOf(\"Admin\") > -1 */}\r\n {/* {JSON.stringify(this.state.invoiceData)} */}\r\n {parseInt(this.state.invoiceData.invoiceStatusId) !== 3 &&\r\n Settle_Less_Paid_show.length > 0 &&\r\n this.state.mode === \"single\" &&\r\n this.state.ISVerified ? (\r\n \r\n {labels.SETTLE_LESS_PAID_INVOICE}\r\n \r\n ) : null}\r\n\r\n {this.state.invoiceData\r\n .lstVMVMInvoiceDataInvoicePaymentInfo != undefined &&\r\n this.state.invoiceData.lstVMVMInvoiceDataInvoicePaymentInfo\r\n .length > 0 &&\r\n parseInt(this.state.invoiceData.invoiceStatusId) == 1 ? (\r\n \r\n {labels.SETTLE_WITHOUT_PAYMENT}\r\n \r\n ) : null}\r\n \r\n {this.state.invoiceData.invoiceStatusId == 3 ? (\r\n
\r\n \r\n this.setState({ invoiceremark: e.target.value })\r\n }\r\n // rows={3}\r\n />\r\n {this.state.invoiceData.invoiceRemarkUpdatedBy == \"\" ? (\r\n \r\n {labels.UPDATE_INVOICE_REMARK}\r\n \r\n ) : null}\r\n\r\n {this.state.invoiceData.invoiceRemarkUpdatedBy != \"\" ? (\r\n
\r\n
Invoice Remark Updated by
\r\n
\r\n {this.state.invoiceData.invoiceRemarkUpdatedBy}\r\n
\r\n
\r\n ) : null}\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 {labels.PROCESSING}.....\r\n {/* */}\r\n \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 showPaymentDetailModal: false,\r\n });\r\n }}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n maskClosable={false}\r\n >\r\n
\r\n {this.state.IsDetailShow ? (\r\n <>\r\n
\r\n
\r\n Payment ID : \r\n {this.state.paymentDetail.ORDERID}\r\n
\r\n
\r\n Amount : {this.state.paymentDetail.TXNAMOUNT}\r\n
\r\n {/*
\r\n Transaction Date : \r\n {this.state.paymentDetail.TXNDATE}\r\n
*/}\r\n
\r\n Transaction Status : \r\n {this.state.paymentDetail.STATUS}\r\n
\r\n
\r\n Transaction Message : \r\n {this.state.paymentDetail.RESPMSG}\r\n
\r\n
\r\n {this.state.paymentDetail.STATUS == \"PAYMENT_SUCCESS\" ? (\r\n
\r\n \r\n this.GenerateTaxInvoiceFromCheckNow(\r\n this.state.paymentDetail.ORDERID\r\n )\r\n }\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n
\r\n ) : null}\r\n \r\n ) : (\r\n
Transaction details not found
\r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n GenerateInvoiceBalance = () => {\r\n if (\r\n this.state.invoiceData.walletBalance >=\r\n //Math.round(this.calculateTotal() - 0.01) //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n Math.round(this.calculateTotal()) //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n ) {\r\n this.setState({\r\n restAmount: 0.0,\r\n });\r\n } else {\r\n this.setState({\r\n // restAmount: Math.round(this.calculateTotal() - this.state.invoiceData.walletBalance - 0.01), //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n restAmount: Math.round(\r\n this.calculateTotal() - this.state.invoiceData.walletBalance\r\n ), //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n });\r\n }\r\n if (!this.state.useLKWallet) {\r\n this.setState({\r\n //restAmount: Math.round(this.calculateTotal() - 0.01), //Commented by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n restAmount: Math.round(this.calculateTotal()), //Removed \"- 0.01\" by Parth Jotangiya for RED ticket no: #L15797 on 2021-07-14\r\n });\r\n }\r\n };\r\n\r\n handlePopupCancel = () => {\r\n confirm({\r\n title: \"Do you want to kill these payment process?\",\r\n content: \"When clicked the OK button, Stop the payment process\",\r\n onOk() {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(Math.random() > 0.5 ? resolve : reject, 3000);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 4000);\r\n }).catch(() => console.log(\"Oops errors!\"));\r\n },\r\n onCancel() {},\r\n });\r\n };\r\n}\r\n\r\nexport default withRouter(Invoice);\r\n","import React from \"react\";\r\nimport Invoice from \"../../../components/StoreModule/Invoice/invoice.component\";\r\n\r\nexport default class InvoiceScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass PackageConfiguration {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(lkPackageID) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_LKPACKAGE_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?LKPackageIDs=\" + lkPackageID;\r\n await myApi.endpoints[this.endpoint.DELETE_LKPACKAGE_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(lkPackageID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_LKPACKAGE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_LKPACKAGE_MASTER]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async buyPackage(postData) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.BUY_PACKAGE });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.BUY_PACKAGE]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.buyPackage(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrievePackageConfiguration(param) {\r\n const myApi = new API({ url: this.config.ITEM_LKWALLET_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_LKPACKAGE_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_LKPACKAGE_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrievePackageConfiguration(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default PackageConfiguration;\r\n","import {\r\n notification,\r\n Row,\r\n Col,\r\n Typography,\r\n Modal,\r\n Form,\r\n Select,\r\n Input,\r\n Space,\r\n Spin,\r\n} from \"antd\";\r\nimport React from \"react\";\r\nimport PackageConfigService from \"../../../services/packageconfigurationservice\";\r\nimport InvoiceService from \"../../../services/invoiceservice\";\r\nimport ReadyForDeliveryOrderService from \"../../../services/storereadyfordeliverysplitorderservice\";\r\nimport styles from \"./buypackage.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport PaytmTransService from \"../../../services/PaytmTransService\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\n\r\nconst { Option } = Select;\r\nconst confirm = Modal.confirm;\r\n\r\nexport default class BuyPackage extends React.Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n state = {\r\n modalLoading: false,\r\n loading: false,\r\n packages: [],\r\n selectedPackage: null,\r\n selectedPackageAmount: 0,\r\n selectedPackageName: null,\r\n paymentMethods: {\r\n data: [],\r\n disabled: true,\r\n selected: 1,\r\n },\r\n showBuyModal: false,\r\n customerName: {\r\n // disabled: true,\r\n data: [],\r\n selected: null,\r\n },\r\n isTransFail: false,\r\n showAddPopup: false,\r\n isConfirmPayment: false,\r\n isResponseErrorShow: false,\r\n isShowQRCode: false,\r\n base64Image: \"\",\r\n isQRCodeShow: false\r\n };\r\n service = new PackageConfigService();\r\n invoiceService = new InvoiceService();\r\n readyForDeliveryOrderService = new ReadyForDeliveryOrderService();\r\n paytmTransService = new PaytmTransService();\r\n componentDidMount() {\r\n this.setState({ isResponseErrorShow: false });\r\n this.getPackages();\r\n this.getPaymentMethods();\r\n }\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.BUY_PACKAGE\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({\r\n userRights: res,\r\n isConfirmPayment: false,\r\n showAddPopup: false,\r\n });\r\n }\r\n getPaymentMethods = () => {\r\n this.invoiceService.getPaymentMethods().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: parseInt(single.enumDetailID),\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n data: data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_PAYMENT_METHOD_DATA,\r\n });\r\n }\r\n }\r\n });\r\n };\r\n getPackages = () => {\r\n this.setState({ loading: true });\r\n this.service\r\n .retrievePackageConfiguration({\r\n packageName: null,\r\n pageIndex: 1,\r\n pageSize: 10,\r\n sortColumn: null,\r\n sortOrder: null,\r\n commonSearch: null,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ packages: response.data });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_LOAD_PACKAGES,\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n searchCustomer = (value) => {\r\n if (value !== \"\" && value !== null && value !== undefined) {\r\n this.readyForDeliveryOrderService\r\n .searchCustomer(value)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n data: response.data,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOMERS,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n buyPackageRemoreRequest = (values) => {\r\n // console.log(\"values->\",values);\r\n if (this.state.paymentMethods.selected == 3) {\r\n this.EDCRequest(values);\r\n }\r\n\r\n else if ((this.state.paymentMethods.selected == 4)) {\r\n this.QRCodeRequest(values);\r\n // this.DynamicQRCodeRequest();\r\n }\r\n else {\r\n this.buyPackage(values);\r\n }\r\n };\r\n\r\n EDCRequest = (values) => {\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n let transID = this.common.PaytmTransNumber(\r\n this.state.customerName.selected.toString(),\r\n \"Package Payment\"\r\n );\r\n this.setState({ modalLoading: true, transID: transID });\r\n this.paytmTransService.getEDCMachineInfo().then((response) => {\r\n if (response.statusCode == 200) {\r\n if ([undefined, \"\", null].includes(response.data.machineKey)) {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.EDC_CONFIGURATION,\r\n });\r\n this.setState({ modalLoading: false });\r\n return false;\r\n }\r\n\r\n this.setState({ showAddPopup: true, EDCmachineInfo: response.data });\r\n var postdata = {\r\n paytmMid: response.data.paytmMid,\r\n paytmTid: response.data.paytmTid,\r\n transactionDateTime: \"\",\r\n merchantTransactionId: \"\",\r\n merchantReferenceNo: \"\",\r\n transactionAmount: (\r\n this.state.selectedPackageAmount * 100\r\n ).toString(),\r\n callbackUrl: \"\",\r\n machineKey: response.data.machineKey,\r\n json: 0,\r\n response: \"\",\r\n transactionType: 0,\r\n requestParams: \"\",\r\n createdBy: 0,\r\n status: \"\",\r\n id: this.state.customerName.selected.toString(), //this.state.invoiceData.invoiceID,\r\n callFrom: \"buy-package\",\r\n platform: \"web\",\r\n transctionId: transID,\r\n versionNumber: response.data.versionNumber,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService\r\n .EDCMachineRequest(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"ACCEPTED_SUCCESS\") {\r\n postdata.merchantTransactionId = this.state.transID;\r\n postdata.transactionDateTime =\r\n response.data.transactionDateTime;\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(() => {\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService\r\n .EDCMachineStatus(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.response);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.buyPackage(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n this.setState({ modalLoading: false });\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"FAIL\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus == \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n }\r\n }\r\n }\r\n });\r\n }, 10000);\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n });\r\n }\r\n this.setState({ modalLoading: true });\r\n });\r\n }\r\n\r\n QRCodeRequest = (values) => {\r\n\r\n this.setState({\r\n isTransFail: false,\r\n });\r\n let transID = this.common.PaytmTransNumber(\r\n this.state.customerName.selected.toString(),\r\n \"Package Payment\"\r\n );\r\n this.setState({ modalLoading: true, transID: transID });\r\n // this.paytmTransService.getEDCMachineInfo().then((response) => {\r\n // if (response.statusCode == 200) {\r\n // if ([undefined, \"\", null].includes(response.data.machineKey)) {\r\n // notification[\"error\"]({\r\n // message: labels.BUY_PACKAGE,\r\n // description: labels.EDC_CONFIGURATION,\r\n // });\r\n // this.setState({ modalLoading: false });\r\n // return false;\r\n // }\r\n\r\n // this.setState({ showAddPopup: true, EDCmachineInfo: response.data });\r\n // this.setState({ showAddPopup: true });\r\n var postdata = {\r\n mid: \"\",\r\n orderId: transID,\r\n amount: (\r\n this.state.selectedPackageAmount\r\n ).toString(),\r\n posId: localStorage.getItem(\"branchID\"),\r\n clientId: \"\",\r\n channelId: \"\",\r\n version: \"\",\r\n id: this.state.customerName.selected.toString(), //this.state.invoiceData.invoiceID,\r\n callFrom: \"buy-package\",\r\n platform: \"web-QR\",\r\n versionNumber: \"\",\r\n transactionType: 0,\r\n response: \"\",\r\n createdBy: 0,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.paytmTransService\r\n .QRCodeRequest(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n this.setState({ isShowQRCode: true, base64Image: res.body.image, isQRCodeShow: true })\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(() => {\r\n this.paytmTransService\r\n .QRCodeStatusCheck(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"TXN_SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n this.buyPackage(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n this.setState({ modalLoading: false });\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"TXN_FAILURE\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n // debugger;\r\n\r\n }\r\n }\r\n }\r\n });\r\n }, 15000);\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n // if (\r\n // (res.body.resultInfo.resultStatus == \"FAIL\" ||\r\n // res.body.resultInfo.resultStatus ==\r\n // \"PANDING\") &&\r\n // this.state.isTransFail == false\r\n // ) {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n\r\n // } else {\r\n // this.setState({ showAddPopup: false, modalLoading: false });\r\n // notification[\"error\"]({\r\n // message: labels.BUY_PACKAGE,\r\n // description: labels.UNABLE_TO_PROCESS_PLEASE_CONTACT_TECHNICAL_TEAM,\r\n // });\r\n // }\r\n this.setState({ modalLoading: true });\r\n //});\r\n }\r\n\r\n DynamicQRCodeRequest=()=>{\r\n // this.setState({ showAddPopup: true });\r\n let transID = this.common.PaytmTransNumber(\r\n this.state.customerName.selected.toString(),\r\n \"Package Payment\"\r\n );\r\n var postdata = {\r\n mid: \"\",\r\n orderId: transID,\r\n amount: (\r\n this.state.selectedPackageAmount\r\n ).toString(),\r\n posId: localStorage.getItem(\"branchID\"),\r\n clientId: \"\",\r\n channelId: \"\",\r\n version: \"\",\r\n id: this.state.customerName.selected.toString(), //this.state.invoiceData.invoiceID,\r\n callFrom: \"buy-package\",\r\n platform: \"web-QR\",\r\n versionNumber: \"\",\r\n transactionType: 0,\r\n response: \"\",\r\n createdBy: 0,\r\n };\r\n this.paytmTransService\r\n .DynamicQRCodeRequest(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n // console.log(\"response->\",response);\r\n var res = JSON.parse(response.data.dynamicQRCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"SUCCESS\") {\r\n this.setState({ isShowQRCode: true, base64Image: res.body.image, isQRCodeShow: true })\r\n postdata.transactionType = 1;\r\n const intervalID = setInterval(() => {\r\n this.paytmTransService\r\n .QRCodeStatusCheck(postdata)\r\n .then((response) => {\r\n if (response.statusCode == 200) {\r\n var res = JSON.parse(response.data.qrCodeResponse);\r\n if (res.body.resultInfo.resultStatus == \"TXN_SUCCESS\") {\r\n notification[\"success\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.TRANSACTION_HAS_BEEN_SUCCESSFULLY_PROCESSED,\r\n });\r\n setTimeout(() => {\r\n // this.buyPackage(values);\r\n this.setState({\r\n // transID: postdata.merchantTransactionId,\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n }, 1000);\r\n clearInterval(intervalID);\r\n this.setState({ modalLoading: false });\r\n } else {\r\n if (res.body.resultInfo.resultStatus === \"TXN_FAILURE\") {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n isTransFail: true,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n } else {\r\n // debugger;\r\n\r\n }\r\n }\r\n }\r\n });\r\n }, 15000);\r\n setTimeout(() => {\r\n clearInterval(intervalID);\r\n this.setState({\r\n showAddPopup: false,\r\n modalLoading: false,\r\n isQRCodeShow: false\r\n });\r\n \r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description:\r\n labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n // }\r\n }, 360000);\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n } else {\r\n this.setState({ showAddPopup: false, modalLoading: false });\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: labels.UNABLE_TO_PROCESS_TRANSACTION_TRY_AGAIN,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n\r\n }\r\n\r\n buyPackage = (values) => {\r\n this.setState({ modalLoading: true });\r\n this.service\r\n .buyPackage({\r\n customerID: parseInt(this.state.customerName.selected),\r\n lkPackageID: parseInt(this.state.selectedPackage),\r\n paymentMode: parseInt(this.state.paymentMethods.selected),\r\n chequeNo: null,\r\n chequeDate: null,\r\n cardNo: null,\r\n transactionNo: this.state.transID,\r\n remark: ![null, undefined, \"\"].includes(values.remarks)\r\n ? values.remarks\r\n : \"Buy Package From Web Portal\",\r\n storeID: localStorage.getItem(\"branchID\"),\r\n sourceFrom: 1,\r\n })\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.PACKAGE_PURCHASED_SUCCESSFULLY,\r\n });\r\n this.setState({ showBuyModal: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.BUY_PACKAGE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_BUY_PACKAGE,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n this.setState({\r\n paymentMethods: { ...this.state.paymentMethods, selected: 1 },\r\n });\r\n };\r\n\r\n function = (showConfirm) => {\r\n confirm({\r\n title: \"Do you want to delete these items?\",\r\n content:\r\n \"When clicked the OK button, this dialog will be closed after 1 second\",\r\n onOk() {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(Math.random() > 0.5 ? resolve : reject, 1000);\r\n }).catch(() => console.log(\"Oops errors!\"));\r\n },\r\n onCancel() { },\r\n });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n confirm({\r\n title: \"Do you want to kill these payment process?\",\r\n content: \"When clicked the OK button, Stop the payment process\",\r\n onOk() {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(Math.random() > 0.5 ? resolve : reject, 3000);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 4000);\r\n }).catch(() => console.log(\"Oops errors!\"));\r\n },\r\n onCancel() { },\r\n });\r\n };\r\n\r\n render() {\r\n const colors = [\r\n \"#FF8EB1\",\r\n \"#FCC350\",\r\n \"#6ABEFF\",\r\n \"#7AE473\",\r\n \"#FF6A6A\",\r\n \"#8F56F3\",\r\n \"#E162E5\",\r\n \"#B2C12C\",\r\n \"#3C76EB\",\r\n ];\r\n\r\n const { isShowQRCode, base64Image, isQRCodeShow } = this.state\r\n return (\r\n \r\n\r\n {isShowQRCode ?\r\n \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 {this.state.packages.map((single, index) => {\r\n if (single.isActive) {\r\n return (\r\n \r\n \r\n
\r\n \r\n {single.packageName}\r\n \r\n {single.descriptionTitle}\r\n \r\n ₹{single.packageAmount}\r\n
\r\n
\r\n {\" \"}\r\n + ₹{single.bonusAmount} (Bonus : Valid for{\" \"}\r\n {single.bonusAmountValidityInDays} days)\r\n
\r\n
\r\n
{single.description}
\r\n
\r\n
\r\n {\r\n this.setState({\r\n showBuyModal: true,\r\n selectedPackage: single.lkPackageID,\r\n selectedPackageAmount: single.packageAmount,\r\n selectedPackageName: single.packageName,\r\n });\r\n }}\r\n >\r\n {labels.BUY}\r\n \r\n
\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n
\r\n this.setState({ showBuyModal: false })}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n centered\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n

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

\r\n ₹ {this.state.selectedPackageAmount}\r\n
\r\n \r\n \r\n \r\n {\r\n this.setState({\r\n customerName: {\r\n ...this.state.customerName,\r\n selected: value,\r\n },\r\n });\r\n }}\r\n filterOption={false}\r\n // filterOption={(input, option) =>\r\n // option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n // 0\r\n // }\r\n >\r\n {this.state.customerName.data.length !== 0\r\n ? this.state.customerName.data.map(\r\n (singleCustomerName) => {\r\n return singleCustomerName.customerID !== \"-1\" ? (\r\n \r\n {singleCustomerName.customerName +\r\n \" (\" +\r\n singleCustomerName.mobileNo +\r\n \")\"}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n x.label.toLowerCase() !== \"lk wallet\"\r\n )}\r\n value={this.state.paymentMethods.selected}\r\n onChange={(value) =>\r\n this.setState({\r\n paymentMethods: {\r\n ...this.state.paymentMethods,\r\n selected: 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 this.setState({ showBuyModal: false })}\r\n >\r\n {labels.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 {labels.PROCESSING}.....\r\n \r\n
\r\n \r\n\r\n \r\n

Are you sure close this? Because of payment is in progress

\r\n \r\n\r\n
\r\n );\r\n }\r\n\r\n // handlePopupCancel = () => {\r\n // this.setState({ isConfirmPayment: false, showAddPopup: false });\r\n // };\r\n}\r\n","import React from \"react\";\r\nimport BuyPackage from \"../../../components/LKWallet/BuyPackage/buypackage.component\";\r\n\r\nexport default class BuyPackageScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FingerScanService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n }\r\n async getStores() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_STORE });\r\n let states = [];\r\n let shouldWait = false;\r\n await stateListAPI.endpoints[this.endpoint.GET_STORE]\r\n .getAll()\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n states = this.getStores();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getFactories() {\r\n const stateListAPI = new API({ url: this.config.DROPDOWN_URL });\r\n stateListAPI.createEntity({ name: this.endpoint.GET_FACTORY_LIST });\r\n let states = [];\r\n let shouldWait = false;\r\n await stateListAPI.endpoints[this.endpoint.GET_FACTORY_LIST]\r\n .getAll()\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n states = this.getFactories();\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getUsers(store, factory) {\r\n const stateListAPI = new API({ url: this.config.FINGERPRINT_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_USER_BY_STORE_FACTORY,\r\n });\r\n let states = [];\r\n let factoryAppend =\r\n factory !== null ? \"FactoryId=\" + parseInt(factory) : \"\";\r\n let storeAppend = store !== null ? \"StoreID=\" + parseInt(store) : \"\";\r\n let shouldWait = false;\r\n await stateListAPI.endpoints[this.endpoint.GET_USER_BY_STORE_FACTORY]\r\n .getById(\r\n \"?\" +\r\n factoryAppend +\r\n (factoryAppend !== \"\" && storeAppend !== \"\" ? \"&\" : \"\") +\r\n storeAppend\r\n )\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n states = this.getUsers(store, factory);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getFingers(userid) {\r\n const FingersAPI = new API({ url: this.config.FINGERPRINT_URL });\r\n FingersAPI.createEntity({\r\n name: this.endpoint.GET_FINGER_PRINT_DATA,\r\n });\r\n let respData = [];\r\n let userID = \"UserID=\" + parseInt(userid) ;\r\n await FingersAPI.endpoints[this.endpoint.GET_FINGER_PRINT_DATA]\r\n .getById(\r\n \"?\" +\r\n userID \r\n )\r\n .then((response) => {\r\n respData = response.data;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n return Promise.resolve(respData);\r\n }\r\n\r\n async saveUpdateFingerPrint(params) {\r\n const stateListAPI = new API({ url: this.config.FINGERPRINT_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_FINGERPRINT,\r\n });\r\n let states = [];\r\n let shouldWait = false;\r\n await stateListAPI.endpoints[this.endpoint.SAVE_UPDATE_FINGERPRINT]\r\n .create(params)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n states = this.saveUpdateFingerPrint(params);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n}\r\n","const axios = require(\"axios\");\r\n\r\nexport default class MantraHelper {\r\n constructor() {\r\n }\r\n \r\n async CaptureFinger(quality, timeout) {\r\n let resInfo;\r\n await PrepareScanner().then((res) => {\r\n if (!res) {\r\n return getFalseRes();\r\n }\r\n var MFS100Request = {\r\n \"Quality\": quality,\r\n \"TimeOut\": timeout\r\n };\r\n\r\n \r\n var jsondata = JSON.stringify(MFS100Request);\r\n return PostMFS100Client(\"capture\", jsondata)\r\n .then((resp) => {\r\n \r\n resInfo=resp;\r\n return resp;\r\n });\r\n \r\n });\r\n\r\n return Promise.resolve(resInfo);\r\n // if (! PrepareScanner()) {\r\n // return getFalseRes();\r\n // }\r\n // var MFS100Request = {\r\n // \"Quality\": quality,\r\n // \"TimeOut\": timeout\r\n // };\r\n // let resInfo= {};\r\n // var jsondata = JSON.stringify(MFS100Request);\r\n // return PostMFS100Client(\"capture\", jsondata);\r\n }\r\n\r\n async VerifyFinger(ProbFMR, GalleryFMR) {\r\n let resInfo;\r\n await PrepareScanner().then((res) => {\r\n \r\n if (!res) {\r\n return getFalseRes();\r\n }\r\n var MFS100Request = {\r\n ProbTemplate: ProbFMR,\r\n GalleryTemplate: GalleryFMR,\r\n BioType: \"FMR\" // you can paas here BioType as \"ANSI\" if you are using ANSI Template\r\n };\r\n \r\n \r\n var jsondata = MFS100Request;//JSON.stringify(MFS100Request);\r\n return PostMFS100Client(\"verify\", jsondata)\r\n .then((resp) => {\r\n \r\n resInfo=resp;\r\n return resp;\r\n });\r\n \r\n });\r\n \r\n return Promise.resolve(resInfo);\r\n\r\n // if (!PrepareScanner()) {\r\n // return getFalseRes();\r\n // }\r\n // var MFS100Request = {\r\n // \"ProbTemplate\": ProbFMR,\r\n // \"GalleryTemplate\": GalleryFMR,\r\n // \"BioType\": \"FMR\" // you can paas here BioType as \"ANSI\" if you are using ANSI Template\r\n // };\r\n // var jsondata = JSON.stringify(MFS100Request);\r\n // return PostMFS100Client(\"verify\", jsondata);\r\n }\r\n\r\n}\r\n\r\nvar KeyFlag = \"\";\r\nvar isGetSuccess = false;\r\n\r\n\r\nasync function PrepareScanner() {\r\n var localisGetSuccess = false;\r\n if (!isGetSuccess) {\r\n\r\n await GetMFS100Client(\"info\").then((resInfo) => {\r\n if (!resInfo.httpStaus) {\r\n //alert(resInfo.err);\r\n localisGetSuccess = false;\r\n }\r\n else {\r\n localisGetSuccess = true;\r\n isGetSuccess = true;\r\n }\r\n // if (KeyFlag != null && KeyFlag != 'undefined' && KeyFlag.length > 0) {\r\n // var MFS100Request = {\r\n // \"Key\": KeyFlag,\r\n // };\r\n // var jsondata = JSON.stringify(MFS100Request);\r\n // PostMFS100Client(\"keyinfo\", jsondata);\r\n // }\r\n\r\n });\r\n }else{\r\n localisGetSuccess= true;\r\n }\r\n \r\n // return true;\r\n return Promise.resolve(localisGetSuccess);\r\n \r\n\r\n}\r\n\r\nasync function PostMFS100Client(method, jsonData) {\r\n \r\n let res;\r\n // $.support.cors = true;\r\n // var httpStaus = false;\r\n // $.ajax({\r\n // type: \"POST\",\r\n // async: false,\r\n // crossDomain: true,\r\n // url: getURL() + method,\r\n // contentType: \"application/json; charset=utf-8\",\r\n // data: jsonData,\r\n // dataType: \"json\",\r\n // processData: false,\r\n // success: function (data) {\r\n // httpStaus = true;\r\n // res = { httpStaus: httpStaus, data: data };\r\n // },\r\n // error: function (jqXHR, ajaxOptions, thrownError) {\r\n // res = { httpStaus: httpStaus, err: getHttpError(jqXHR) };\r\n // },\r\n // });\r\n let axiosConfig = {\r\n headers: {\r\n crossDomain: true,\r\n contentType: \"application/json; charset=utf-8\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Accept\":\"application/json, text/plain, */*\",\r\n \"Sec-Fetch-Dest\":\"empty\",\r\n \"Sec-Fetch-Mode\":\"cors\",\r\n \"Sec-Fetch-Site\":\"cross-site\",\r\n \"Accept-Encoding\":\"gzip, deflate, br\",\r\n \"Accept-Language\":\"en-IN,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,hi;q=0.6,gu;q=0.5\",\r\n \"Access-Control-Allow-Credentials\": true,\r\n dataType: \"json\",\r\n }\r\n };\r\n \r\n\r\n return axios.post(getURL() + method, jsonData, { crossdomain: true }, axiosConfig)\r\n .then((data) => {\r\n return { httpStaus: true, data: data };\r\n })\r\n .catch((error) => {\r\n // console.log(error);\r\n return { httpStaus: false, err: getHttpError(error) };\r\n \r\n });\r\n \r\n //return Promise.resolve(res);\r\n\r\n}\r\n\r\nasync function GetMFS100Client(method) {\r\n\t\r\n var res;\r\n // $.support.cors = true;\r\n // var httpStaus = false;\r\n // $.ajax({\r\n // type: \"GET\",\r\n // async: false,\r\n // crossDomain: true,\r\n // url: getURL() + method,\r\n // contentType: \"application/json; charset=utf-8\",\r\n // processData: false,\r\n // success: function (data) {\r\n // httpStaus = true;\r\n // res = { httpStaus: httpStaus, data: data };\r\n // },\r\n // error: function (jqXHR, ajaxOptions, thrownError) {\r\n // res = { httpStaus: httpStaus, err: getHttpError(jqXHR) };\r\n // },\r\n // });\r\n return await axios.get(getURL() + method)\r\n .then((data) => {\r\n return { httpStaus: true, data: data };\r\n })\r\n .catch((error) => {\r\n // console.log(error);\r\n return { httpStaus: false, err: getHttpError(error) };\r\n \r\n });\r\n // return Promise.resolve(res);\r\n}\r\n\r\nfunction GetMFS100Info() {\r\n KeyFlag = \"\";\r\n return GetMFS100Client(\"info\");\r\n}\r\n\r\nfunction GetMFS100KeyInfo(key) {\r\n KeyFlag = key;\r\n if (!PrepareScanner())\r\n {\r\n return getFalseRes();\r\n }\r\n var MFS100Request = {\r\n \"Key\": key,\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n return PostMFS100Client(\"keyinfo\", jsondata);\r\n}\r\nfunction CaptureFinger(quality, timeout) {\r\n\r\n if (!PrepareScanner()) {\r\n return getFalseRes();\r\n }\r\n var MFS100Request = {\r\n \"Quality\": quality,\r\n \"TimeOut\": timeout\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n return PostMFS100Client(\"capture\", jsondata);\r\n}\r\n\r\nfunction MatchFinger(quality, timeout, GalleryFMR) {\r\n if (!PrepareScanner()) {\r\n return getFalseRes();\r\n }\r\n var MFS100Request = {\r\n \"Quality\": quality,\r\n \"TimeOut\": timeout,\r\n \"GalleryTemplate\": GalleryFMR,\r\n \"BioType\": \"FMR\" // you can paas here BioType as \"ANSI\" if you are using ANSI Template\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n return PostMFS100Client(\"match\", jsondata);\r\n}\r\nfunction GetPidData(BiometricArray) {\r\n if (!PrepareScanner()) {\r\n return getFalseRes();\r\n }\r\n var req = new MFS100Request(BiometricArray);\r\n var jsondata = JSON.stringify(req);\r\n return PostMFS100Client(\"getpiddata\", jsondata);\r\n}\r\nfunction GetProtoPidData(BiometricArray) {\r\n if (!PrepareScanner()) {\r\n return getFalseRes();\r\n }\r\n var req = new MFS100Request(BiometricArray);\r\n var jsondata = JSON.stringify(req);\r\n return PostMFS100Client(\"getppiddata\", jsondata);\r\n}\r\nfunction GetRbdData(BiometricArray) {\r\n if (!PrepareScanner()) {\r\n return getFalseRes();\r\n }\r\n var req = new MFS100Request(BiometricArray);\r\n var jsondata = JSON.stringify(req);\r\n return PostMFS100Client(\"getrbddata\", jsondata);\r\n}\r\nfunction GetProtoRbdData(BiometricArray) {\r\n if (!PrepareScanner()) {\r\n return getFalseRes();\r\n }\r\n var req = new MFS100Request(BiometricArray);\r\n var jsondata = JSON.stringify(req);\r\n return PostMFS100Client(\"getprbddata\", jsondata);\r\n}\r\n\r\n\r\n\r\nfunction getHttpError(jqXHR) {\r\n var err = \"Unhandled Exception\";\r\n if (jqXHR.status === 0) {\r\n err = 'Service Unavailable';\r\n } else if (jqXHR.status == 404) {\r\n err = 'Requested page not found';\r\n } else if (jqXHR.status == 500) {\r\n err = 'Internal Server Error';\r\n }\r\n // else if (thrownError === 'parsererror') {\r\n // err = 'Requested JSON parse failed';\r\n // } else if (thrownError === 'timeout') {\r\n // err = 'Time out error';\r\n // } else if (thrownError === 'abort') {\r\n // err = 'Ajax request aborted';\r\n // } \r\n else {\r\n err = 'Unhandled Error';\r\n }\r\n return err;\r\n}\r\n\r\n\r\n// Devyang\r\nfunction getURL() {\r\n var strURL = \"http://localhost:8004/mfs100/\";\r\n\t try {\r\n\t\t \r\n\t\t var protocol = window.location.href;\r\n\t\t //alert(protocol);\r\n\t\t if (protocol.indexOf(\"https\") >= 0) {\r\n\t\t\t\t strURL = \"https://localhost:8003/mfs100/\";\r\n\t\t }\r\n\t\t}\r\n\t\t catch (e)\r\n\t\t {\r\n\t\t\tstrURL = \"https://localhost:8003/mfs100/\";\r\n\t\t }\r\n\treturn strURL;\r\n}\r\n\r\n\r\n//\r\n\r\n/////////// Classes\r\n\r\nfunction Biometric(BioType, BiometricData, Pos, Nfiq, Na) {\r\n this.BioType = BioType;\r\n this.BiometricData = BiometricData;\r\n this.Pos = Pos;\r\n this.Nfiq = Nfiq;\r\n this.Na = Na;\r\n}\r\n\r\nfunction MFS100Request(BiometricArray) {\r\n this.Biometrics = BiometricArray;\r\n}\r\n\r\nfunction getFalseRes()\r\n{\r\n var res;\r\n res = { httpStaus: false, err: \"Error while calling service\" };\r\n return res;\r\n}","import React from \"react\";\r\nimport { Row, Col, Form, Select, notification } from \"antd\";\r\nimport FingerScanService from \"../../services/fingerscanservice\";\r\nimport styles from \"./fingerprint.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport MantraHelper from \"./mantraHelper\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\n\r\nexport default class FingerScanScreen extends React.Component {\r\n fingerScanService = new FingerScanService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n mantraHelper = new MantraHelper();\r\n state = {\r\n storeOptions: {\r\n data: [],\r\n disabled: true,\r\n },\r\n factoryOptions: {\r\n data: [],\r\n disabled: true,\r\n },\r\n userOptions: {\r\n data: [],\r\n disabled: true,\r\n },\r\n fingerData: {\r\n data: [],\r\n isChanged: false,\r\n },\r\n };\r\n dummyImg =\r\n \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mN8+PDVYgAIqANRetRIXAAAAABJRU5ErkJggg==\";\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.COLLECT_FINGERPRINTS\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n this.getStores();\r\n this.getFactories();\r\n }\r\n getStores = () => {\r\n this.setState({\r\n storeOptions: {\r\n ...this.state.storeOptions,\r\n disabled: true,\r\n },\r\n });\r\n this.fingerScanService.getStores().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n storeOptions: {\r\n ...this.state.storeOptions,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to get List of Stores\",\r\n });\r\n }\r\n });\r\n };\r\n getFactories = () => {\r\n this.setState({\r\n factoryOptions: {\r\n ...this.state.factoryOptions,\r\n disabled: true,\r\n },\r\n });\r\n this.fingerScanService.getFactories().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n factoryOptions: {\r\n ...this.state.factoryOptions,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to get List of Factories\",\r\n });\r\n }\r\n });\r\n };\r\n getUsers = (store, factory) => {\r\n this.fingerScanService.getUsers(store, factory).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n userOptions: {\r\n ...this.state.userOptions,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to get List of Users\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getFingers = (userid) => {\r\n this.fingerScanService.getFingers(userid).then((response) => {\r\n if (response.statusCode === 200) {\r\n response.data.userId = userid;\r\n this.setState({\r\n fingerData: {\r\n data: response.data,\r\n isChanged: false,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message ? response.message : \"Unable to get data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n CollectFinger = (imgId) => {\r\n let quality = 60; //(1 to 100) (recommanded minimum 55)\r\n let timeout = 20; // seconds (minimum=10(recommanded), maximum=60, unlimited=0 )\r\n\r\n // let res =\r\n this.mantraHelper\r\n .CaptureFinger(quality, timeout)\r\n .then((res) => {\r\n if (res.httpStaus) {\r\n // document.getElementById(\"body_txtStatus\").value = \"ErrorCode: \" + res.data.ErrorCode + \" ErrorDescription: \" + res.data.ErrorDescription;\r\n if (res.data.data.ErrorCode == \"0\") {\r\n switch (imgId) {\r\n case \"1\":\r\n this.setState({\r\n fingerData: {\r\n ...this.state.fingerData,\r\n data: {\r\n ...this.state.fingerData.data,\r\n f1Image: res.data.data.BitmapData,\r\n f1ISOTemplate: res.data.data.IsoTemplate,\r\n f1AnsiTemplate: res.data.data.AnsiTemplate,\r\n },\r\n isChanged: true,\r\n },\r\n });\r\n // this.state.fingerData.data.f1Image= res.data.BitmapData;\r\n // this.state.fingerData.data.f1IsoTemplate= res.data.IsoTemplate;\r\n // this.state.fingerData.data.f1AnsiTemplate= res.data.AnsiTemplate;\r\n break;\r\n case \"2\":\r\n this.setState({\r\n fingerData: {\r\n ...this.state.fingerData,\r\n data: {\r\n ...this.state.fingerData.data,\r\n f2Image: res.data.data.BitmapData,\r\n f2ISOTemplate: res.data.data.IsoTemplate,\r\n f2AnsiTemplate: res.data.data.AnsiTemplate,\r\n },\r\n isChanged: true,\r\n },\r\n });\r\n // this.state.fingerData.data.f2Image = res.data.BitmapData;\r\n // this.state.fingerData.data.f2IsoTemplate= res.data.IsoTemplate;\r\n // this.state.fingerData.data.f2AnsiTemplate= res.data.AnsiTemplate;\r\n break;\r\n case \"3\":\r\n this.setState({\r\n fingerData: {\r\n ...this.state.fingerData,\r\n data: {\r\n ...this.state.fingerData.data,\r\n f3Image: res.data.data.BitmapData,\r\n f3ISOTemplate: res.data.data.IsoTemplate,\r\n f3AnsiTemplate: res.data.data.AnsiTemplate,\r\n },\r\n isChanged: true,\r\n },\r\n });\r\n // this.state.fingerData.data.f3Image = res.data.BitmapData;\r\n // this.state.fingerData.data.f3IsoTemplate= res.data.IsoTemplate;\r\n // this.state.fingerData.data.f3AnsiTemplate= res.data.AnsiTemplate;\r\n break;\r\n default:\r\n notification[\"warning\"]({\r\n message: \"Please refresh and try again.\",\r\n });\r\n }\r\n \r\n // document.getElementById(\"body_imgFinger\").src = res.data.BitmapData;\r\n // document.getElementById(\"body_txtQuality\").value = res.data.Quality;\r\n // document.getElementById(\"body_txtISOTemplate\").value = res.data.IsoTemplate;\r\n // document.getElementById(\"body_txtANSITemplate\").value = res.data.AnsiTemplate;\r\n }\r\n } else {\r\n // alert(res.err);\r\n notification[\"error\"]({\r\n message: res.err,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n //res = { httpStaus: false, err:error };\r\n console.log(error);\r\n });\r\n };\r\n\r\n saveUpdateFingerPrint = () => {\r\n // const params = {\r\n // FingurePrintID: 2,\r\n // UserId: 1,\r\n // F1Image: 'test',\r\n // F1ISOTemplate: 'test',\r\n // F1AnsiTemplate: 'test',\r\n // F2Image: 'test',\r\n // F2ISOTemplate: 'test',\r\n // F2AnsiTemplate: 'test',\r\n // F3Image: 'test',\r\n // F3ISOTemplate: 'test',\r\n // F3AnsiTemplate: 'test',\r\n // };\r\n\r\n \r\n if (!this.state.fingerData.isChanged) {\r\n notification[\"warning\"]({\r\n message: \"No chages detected.\",\r\n });\r\n return;\r\n }\r\n\r\n this.fingerScanService\r\n .saveUpdateFingerPrint(this.state.fingerData.data)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n //msg\r\n notification[\"success\"]({\r\n message: \"Finger print saved successfully\",\r\n duration: 1.5,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to submit fingerprint data\",\r\n });\r\n }\r\n });\r\n };\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value, option) => {\r\n this.getUsers(\r\n option.type === \"store\" ? value.substr(1, 2) : null,\r\n option.type === \"factory\" ? value.substr(1, 2) : null\r\n );\r\n }}\r\n >\r\n {this.state.storeOptions.data.map((store) => {\r\n return parseInt(store.value) !== -1 ? (\r\n \r\n {store.text}\r\n \r\n ) : null;\r\n })}\r\n\r\n {this.state.factoryOptions.data.map((factory) => {\r\n return parseInt(factory.value) !== -1 ? (\r\n \r\n {factory.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.getFingers(value);\r\n }}\r\n >\r\n {this.state.userOptions.data.map((user) => {\r\n return (\r\n \r\n {user.firstName}\r\n \r\n );\r\n })}\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.CollectFinger(\"1\");\r\n }}\r\n >\r\n Collect\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n this.CollectFinger(\"2\");\r\n }}\r\n >\r\n Collect\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n this.CollectFinger(\"3\");\r\n }}\r\n >\r\n Collect\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport FingerScanComp from \"../../components/FingerScan/collectFingerPrint.component\";\r\n\r\nexport default class FingerScanScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FingerScanService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n }\r\n\r\n async getAttendanceData(store, factory) {\r\n const stateListAPI = new API({ url: this.config.FINGERPRINT_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_ATTENDANCE_DATA,\r\n });\r\n let states = [];\r\n let factoryAppend =\r\n factory !== null ? \"FactoryId=\" + parseInt(factory) : \"\";\r\n let storeAppend = store !== null ? \"StoreID=\" + parseInt(store) : \"\";\r\n let shouldWait = false;\r\n await stateListAPI.endpoints[this.endpoint.GET_ATTENDANCE_DATA]\r\n .getById(\r\n \"?\" +\r\n factoryAppend +\r\n (factoryAppend !== \"\" && storeAppend !== \"\" ? \"&\" : \"\") +\r\n storeAppend\r\n )\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 401) {\r\n shouldWait = true;\r\n }\r\n console.log(error);\r\n });\r\n if (shouldWait) {\r\n let common = new Common();\r\n await common.refreshToken().then((response) => {\r\n common.setToken(response);\r\n states = this.getAttendanceData(store, factory);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getFIngerTempl(store, factory) {\r\n const stateListAPI = new API({ url: this.config.FINGERPRINT_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_STORE_FICTORY_ISOTEMP,\r\n });\r\n let states = [];\r\n let factoryAppend =\r\n factory !== null ? \"FactoryId=\" + parseInt(factory) : \"\";\r\n let storeAppend = store !== null ? \"StoreID=\" + parseInt(store) : \"\";\r\n await stateListAPI.endpoints[this.endpoint.GET_STORE_FICTORY_ISOTEMP]\r\n .getById(\r\n \"?\" +\r\n factoryAppend +\r\n (factoryAppend !== \"\" && storeAppend !== \"\" ? \"&\" : \"\") +\r\n storeAppend\r\n )\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n return Promise.resolve(states);\r\n }\r\n\r\n async AddUpdatePunchData(params) {\r\n const stateListAPI = new API({ url: this.config.FINGERPRINT_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.ADD_UPDATE_PUNCHIN,\r\n });\r\n let states = [];\r\n await stateListAPI.endpoints[this.endpoint.ADD_UPDATE_PUNCHIN]\r\n .create(params)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n return Promise.resolve(states);\r\n }\r\n\r\n\r\n\r\n\r\n async getAttendanceReport(param) {\r\n const myApi = new API({ url: this.config.FINGERPRINT_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_ATTENDANCE_REPORT,\r\n }); //var change\r\n let itemArray = [];\r\n //method name change\r\n await myApi.endpoints[this.endpoint.GET_ATTENDANCE_REPORT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n // this.handleError(err);\r\n console.log(err);\r\n });\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n\r\n}\r\n","import React from \"react\";\r\nimport { notification, Radio, Table } from \"antd\";\r\nimport styles from \"./attendance.module.css\";\r\nimport Button from \"../../components/Common/Button/button\";\r\nimport AttendanceService from \"../../services/attendanceservice\";\r\nimport MantraHelper from \"../FingerScan/mantraHelper\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\n\r\nexport default class Attendance extends React.Component {\r\n attendanceService = new AttendanceService();\r\n mantraHelper = new MantraHelper();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n state = {\r\n loading: false,\r\n dataSource: [],\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n lISNormal = 1;\r\n fingerMaster = [];\r\n store = null;\r\n factory = null;\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ATTENDANCE\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n let storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n\r\n if (storeOrFactory === \"store\") {\r\n this.store = parseInt(localStorage.getItem(\"branchID\"));\r\n } else {\r\n this.factory = parseInt(localStorage.getItem(\"branchID\"));\r\n }\r\n this.getAttendanceData();\r\n this.getFIngerTempl();\r\n }\r\n\r\n async PunchIn(lIsPucnhin) {\r\n // debugger;\r\n // const params = {\r\n // fingurePrintID: 10,\r\n // userId: 0,\r\n // storeId: this.store,\r\n // isManual: 0,\r\n // matchedTempl: 0,\r\n // addedBy: 0,\r\n // ISPunchIn: lIsPucnhin,\r\n // ISNormal: this.lISNormal,//Need to get data whether is normal or OT\r\n // FactoryId: this.factory,\r\n // };\r\n\r\n let quality = 60; //(1 to 100) (recommanded minimum 55)\r\n let timeout = 20; // seconds (minimum=10(recommanded), maximum=60, unlimited=0 )\r\n // let res1 = this.mantraHelper.VerifyFinger(\"test\", \"test\");\r\n this.mantraHelper.CaptureFinger(quality, timeout).then((res) => {\r\n // debugger;\r\n if (res.httpStaus) {\r\n // let isMatched = false;\r\n // let indFinger = 0;\r\n let SwipedISOTempl = res.data.data.IsoTemplate;\r\n // //F1ISOTemplate\r\n // while ((!isMatched) && (this.fingerMaster.length > indFinger)) {\r\n // debugger;\r\n this.VerifyFingerArray(SwipedISOTempl, lIsPucnhin);\r\n // debugger;\r\n // var aa =this.mantraHelper.VerifyFinger(SwipedISOTempl, this.fingerMaster[indFinger].F1ISOTemplate).then((resp) => {\r\n // if (resp.httpStaus) {\r\n // if (resp.data.Status) {\r\n // isMatched = true;\r\n // params.fingurePrintID = this.fingerMaster[indFinger].FingurePrintID;\r\n // params.userId = this.fingerMaster[indFinger].UserId;\r\n // params.MatchedTempl = 'F1ISOTemplate';\r\n // }\r\n // }\r\n // else {\r\n // notification[\"error\"]({\r\n // message: resp.err,\r\n // });\r\n // }\r\n // })\r\n //Promise.resolve(aa);\r\n // indFinger++;\r\n // }\r\n /*\r\n \r\n \r\n //F3ISOTemplate\r\n while ((!isMatched) && (this.fingerMaster.length > indFinger)) {\r\n let res = this.mantraHelper.VerifyFinger(SwipedISOTempl, this.fingerMaster[indFinger].F3ISOTemplate);\r\n if (res.httpStaus) {\r\n if (res.data.Status) {\r\n isMatched = true;\r\n params.fingurePrintID = this.fingerMaster[indFinger].FingurePrintID;\r\n params.userId = this.fingerMaster[indFinger].UserId;\r\n params.MatchedTempl = 'F3ISOTemplate';\r\n }\r\n }\r\n else {\r\n notification[\"error\"]({\r\n message: res.err,\r\n });\r\n }\r\n indFinger++;\r\n }\r\n \r\n if (isMatched) {\r\n // Do punchin-OUT\r\n this.attendanceService.AddUpdatePunchData(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Attandance Marked successfully \",\r\n duration: 1.5,\r\n });\r\n //Play Sound\r\n let msg = new SpeechSynthesisUtterance('Have a good day!');\r\n window.speechSynthesis.speak(msg);\r\n this.getAttendanceData();\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to submit fingerprint data\",\r\n });\r\n }\r\n });\r\n \r\n } else {\r\n //Not Matched \r\n notification[\"error\"]({\r\n message: \"Finger not matched, Pleae swipe again.\",\r\n });\r\n let msg = new SpeechSynthesisUtterance('Please swipe again.');\r\n window.speechSynthesis.speak(msg);\r\n }\r\n */\r\n } else {\r\n // alert(res.err);\r\n notification[\"error\"]({\r\n message: res.err,\r\n });\r\n }\r\n });\r\n }\r\n\r\n async VerifyFingerArray(SwipedISOTempl, lIsPucnhin) {\r\n const params = {\r\n fingurePrintID: 0,\r\n userId: 0,\r\n storeId: this.store,\r\n isManual: 0,\r\n matchedTempl: 0,\r\n addedBy: 0,\r\n iSPunchIn: lIsPucnhin,\r\n iSNormal: parseInt(this.lISNormal), //Need to get data whether is normal or OT\r\n factoryId: this.factory,\r\n };\r\n let isMatched = false;\r\n let indFinger = 0;\r\n\r\n //F1ISOTemplate\r\n while (!isMatched && this.fingerMaster.length > indFinger) {\r\n await this.mantraHelper\r\n .VerifyFinger(\r\n SwipedISOTempl,\r\n this.fingerMaster[indFinger].f1ISOTemplate\r\n )\r\n .then((resp) => {\r\n if (resp.httpStaus) {\r\n if (resp.data.data.Status) {\r\n isMatched = true;\r\n params.fingurePrintID = this.fingerMaster[\r\n indFinger\r\n ].fingurePrintID;\r\n params.userId = this.fingerMaster[indFinger].userId;\r\n params.matchedTempl = \"F1ISOTemplate\";\r\n }\r\n }\r\n // else {\r\n // notification[\"error\"]({\r\n // message: resp.err,\r\n // });\r\n // }\r\n });\r\n\r\n // debugger;\r\n indFinger++;\r\n }\r\n\r\n indFinger = 0;\r\n //F2ISOTemplate\r\n while (!isMatched && this.fingerMaster.length > indFinger) {\r\n await this.mantraHelper\r\n .VerifyFinger(\r\n SwipedISOTempl,\r\n this.fingerMaster[indFinger].f2ISOTemplate\r\n )\r\n .then((resp) => {\r\n if (resp.httpStaus) {\r\n if (resp.data.data.Status) {\r\n isMatched = true;\r\n params.fingurePrintID = this.fingerMaster[\r\n indFinger\r\n ].fingurePrintID;\r\n params.userId = this.fingerMaster[indFinger].userId;\r\n params.matchedTempl = \"F2ISOTemplate\";\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: resp.err,\r\n });\r\n }\r\n });\r\n indFinger++;\r\n }\r\n indFinger = 0;\r\n //F3ISOTemplate\r\n while (!isMatched && this.fingerMaster.length > indFinger) {\r\n await this.mantraHelper\r\n .VerifyFinger(\r\n SwipedISOTempl,\r\n this.fingerMaster[indFinger].f3ISOTemplate\r\n )\r\n .then((resp) => {\r\n if (resp.httpStaus) {\r\n if (resp.data.data.Status) {\r\n isMatched = true;\r\n params.fingurePrintID = this.fingerMaster[\r\n indFinger\r\n ].fingurePrintID;\r\n params.userId = this.fingerMaster[indFinger].userId;\r\n params.matchedTempl = \"F3ISOTemplate\";\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: resp.err,\r\n });\r\n }\r\n });\r\n indFinger++;\r\n }\r\n\r\n \r\n if (isMatched) {\r\n // Do punchin-OUT\r\n this.attendanceService.AddUpdatePunchData(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Attandance Marked successfully \",\r\n duration: 1.5,\r\n });\r\n //Play Sound\r\n let msg = new SpeechSynthesisUtterance(\"Have a good day!\");\r\n window.speechSynthesis.speak(msg);\r\n this.getAttendanceData();\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to submit fingerprint data\",\r\n });\r\n }\r\n });\r\n } else {\r\n //Not Matched\r\n notification[\"error\"]({\r\n message: \"Finger not matched, Pleae swipe again.\",\r\n });\r\n let msg = new SpeechSynthesisUtterance(\"Please swipe again.\");\r\n window.speechSynthesis.speak(msg);\r\n }\r\n }\r\n\r\n getAttendanceData = () => {\r\n // let storeOrFactory = localStorage\r\n // .getItem(\"Store/FactoryType\")\r\n // .toLowerCase();\r\n // let store = null;\r\n // let factory = null;\r\n // if (storeOrFactory === \"store\") {\r\n // store = parseInt(localStorage.getItem(\"branchID\"));\r\n // } else {\r\n // factory = parseInt(localStorage.getItem(\"branchID\"));\r\n // }\r\n this.attendanceService\r\n .getAttendanceData(this.store, this.factory)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n dataSource: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to get attendance data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getFIngerTempl = () => {\r\n this.attendanceService\r\n .getFIngerTempl(this.store, this.factory)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n this.fingerMaster = response.data;\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Unable to get data please try agin.\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n columns = [\r\n {\r\n title: \"Id\",\r\n dataIndex: \"attandanceId\",\r\n key: \"attandanceId\",\r\n sorter: false,\r\n },\r\n {\r\n title: \"User Name\",\r\n dataIndex: \"userName\",\r\n key: \"userName\",\r\n sorter: false,\r\n },\r\n {\r\n title: \"Normal/OT\",\r\n dataIndex: \"isNormal\",\r\n key: \"isNormal\",\r\n sorter: true,\r\n render: (isNormal) => (isNormal !== 1 ? \"OT\" : \"Normal\"),\r\n },\r\n {\r\n title: \"In TIme\",\r\n dataIndex: \"inTIme\",\r\n key: \"inTIme\",\r\n sorter: true,\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY HH:mm\");\r\n },\r\n },\r\n ];\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n (this.lISNormal = event.target.value)}\r\n buttonStyle=\"solid\"\r\n size=\"large\"\r\n >\r\n \r\n Normal\r\n \r\n \r\n OT\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n this.PunchIn(1);\r\n }}\r\n >\r\n In\r\n \r\n {\r\n this.PunchIn(0);\r\n }}\r\n >\r\n Out\r\n \r\n
\r\n
{this.state.dataSource.length}
\r\n
\r\n

\r\n Press the button and just scan your finger. Once finger print will be\r\n matched, a sound will be played to notify that the attendance is\r\n marked\r\n

\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport Attendance from \"../../components/Attendance/attendance.component\";\r\n\r\nexport default class AttendanceScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Table,\r\n notification,\r\n DatePicker,\r\n Descriptions,\r\n} from \"antd\";\r\n\r\nimport Moment from \"moment\";\r\nimport AttendanceService from \"../../services/attendanceservice\";\r\nimport UserService from \"../../services/userservice\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class AttendanceReport extends React.Component {\r\n userservice = new UserService();\r\n attendanceService = new AttendanceService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n excelFile: ,\r\n deliveryOrderItems: [],\r\n UserOptions: [],\r\n UserSelection: [],\r\n reportData: [],\r\n ID: 0,\r\n data: [],\r\n selectedRowKeys: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: false,\r\n fromDate: Moment().startOf(1, \"months\").date(1),\r\n toDate: Moment(),\r\n invoiceDate: null,\r\n performaDate: null,\r\n customerName: {\r\n // disabled: true,\r\n data: [],\r\n selected: null,\r\n },\r\n selectedOrdersOfCustomer: null,\r\n };\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"User Name\",\r\n dataIndex: \"userName\",\r\n key: \"userName\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Store/Factory Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"In Time\",\r\n dataIndex: \"inTime\",\r\n key: \"inTime\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY HH:mm\");\r\n },\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Out Time\",\r\n dataIndex: \"outTime\",\r\n key: \"outTime\",\r\n render: (text) => {\r\n return Moment(text).format(\"DD-MM-YYYY HH:mm\");\r\n },\r\n // sorter: true,\r\n },\r\n\r\n {\r\n title: \"Normal / OT\",\r\n dataIndex: \"isNormal\",\r\n key: \"isNormal\",\r\n // sorter: true,\r\n render: (isNormal) => (isNormal !== 1 ? \"OT\" : \"Normal\"),\r\n },\r\n ];\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ATTENDANCE_REPORT\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n componentDidMount() {\r\n this.getUsers({\r\n userID: null,\r\n pageIndex: 1,\r\n pageSize: 1000,\r\n });\r\n this.fetchItems();\r\n }\r\n\r\n getUsers(params = {}) {\r\n this.setState({ tableLoading: true });\r\n params = { ...params, CommonSearch: this.state.search };\r\n this.userservice.retrieveUserMaster(params).then((userList) => {\r\n if (userList.statusCode === 200) {\r\n this.setState({\r\n ...this.state.UserOptions,\r\n UserOptions: userList.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: userList.message\r\n ? userList.message\r\n : \"Unable to get list of users\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n\r\n handleUserChange = (value) => {\r\n this.setState({\r\n ...this.state.UserSelection,\r\n UserSelection: value,\r\n });\r\n };\r\n //function for get data from server call\r\n // fetchItems = (params = {}) => {\r\n fetchItems = () => {\r\n this.setState({ loading: true });\r\n let userParams = null;\r\n if (\r\n this.state.UserSelection !== undefined &&\r\n this.state.UserSelection.length > 0\r\n ) {\r\n userParams = \"\";\r\n for (var j = 0; j < this.state.UserSelection.length; j++) {\r\n userParams += this.state.UserSelection[j] + \",\";\r\n }\r\n }\r\n const params = {\r\n fromDate: Moment(this.state.fromDate).format(\"YYYY-MM-DD\"),\r\n toDate: Moment(this.state.toDate).format(\"YYYY-MM-DD\"),\r\n Users: userParams,\r\n };\r\n\r\n this.attendanceService.getAttendanceReport(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n reportData: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: response.message\r\n ? response.message\r\n : \"Failed to get report data\",\r\n });\r\n }\r\n });\r\n\r\n this.setState({ loading: false });\r\n };\r\n\r\n downloadReport = () => {\r\n this.setState({ loading: true });\r\n let userParams = null;\r\n if (\r\n this.state.UserSelection !== undefined &&\r\n this.state.UserSelection.length > 0\r\n ) {\r\n userParams = \"\";\r\n for (var j = 0; j < this.state.UserSelection.length; j++) {\r\n userParams += this.state.UserSelection[j] + \",\";\r\n }\r\n }\r\n const params = {\r\n fromDate: Moment(this.state.fromDate).format(\"YYYY-MM-DD\"),\r\n toDate: Moment(this.state.toDate).format(\"YYYY-MM-DD\"),\r\n Users: userParams,\r\n };\r\n\r\n this.attendanceService.getAttendanceReport(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \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({ excelFile: })\r\n );\r\n }\r\n });\r\n this.setState({ loading: false });\r\n };\r\n\r\n \r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const deliveryOrderItems = this.state.deliveryOrderItems;\r\n\r\n return (\r\n
\r\n {this.state.excelFile}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"fromDate\")}\r\n value={this.state.fromDate}\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"toDate\")}\r\n value={this.state.toDate}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {\r\n this.handleUserChange(value);\r\n }}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.UserOptions.map((users) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n\r\n \r\n \r\n View\r\n \r\n this.downloadReport()}\r\n >\r\n Download\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport AttendanceReport from \"../../components/Attendance/attendanceReport.component\";\r\n\r\nexport default class AttendanceScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport CityService from \"../../../services/cityservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../../shared/validator\";\r\nimport Common from \"../../../services/common\";\r\nimport Resortingandpackagingservice from \"../../../services/resortingandpackagingservice\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport GeneratePrintInfo from \"../ResortingAndPackaging/printstikerprint\";\r\n// let cityname = \"\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst TWO_MONTHS_AGO = new Date();\r\nTWO_MONTHS_AGO.setMonth(TWO_MONTHS_AGO.getMonth() - 1);\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.resortingandpackagingservice = new Resortingandpackagingservice();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n resortingAndPackagingItem: [],\r\n orderFromDate: Moment(TWO_MONTHS_AGO).startOf(1, \"months\").date(1),\r\n orderToDate: Moment(),\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n rowselectedvalue: \"\",\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n loading: true,\r\n userRights: [],\r\n printInfo: [],\r\n stickerID: 0,\r\n showAddPopup: false,\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName ==\r\n this.UserRightsConfiguration.RESORTING_AND_PACKAGING_LIST\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.STICKER_ID,\r\n dataIndex: \"stickerID\",\r\n key: \"stickerID\",\r\n sorter: true,\r\n render: (text) => {\r\n return (\r\n this.GenerateStickers(text)}\r\n >\r\n {text}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.SPLIT_ORDER_NUMBER,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PACKING_IDS,\r\n dataIndex: \"packingIds\",\r\n key: \"packingIds\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n\r\n // render: (text, record) => (\r\n // \r\n // {text.length > 150 ? (\r\n // \r\n // {text}\r\n // \r\n // ) : (\r\n // text\r\n // )}\r\n // \r\n // ),\r\n },\r\n {\r\n title: labels.PACKED_On,\r\n dataIndex: \"packedOn\",\r\n key: \"packedOn\",\r\n sorter: true,\r\n render: (text) =>\r\n ![null, \"\", undefined].includes(text)\r\n ? Moment(text).format(\"DD-MM-YYYY HH:mm:ss\")\r\n : null,\r\n },\r\n\r\n {\r\n title: labels.CUSTOMER_NAME,\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.NO_OF_GARMENTS,\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PACKED_GARMENTS,\r\n dataIndex: \"packedGarments\",\r\n key: \"packedGarments\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n GenerateStickers = (text) => {\r\n if (text != \"\") {\r\n // this.setState({ generateBtnLoading: true });\r\n this.resortingandpackagingservice\r\n .GetStickerInfoToPrint(parseInt(text))\r\n .then((res) => {\r\n // if (res.data.stickerID != \"\") {\r\n\r\n this.setState(\r\n {\r\n showAddPopup: true,\r\n printInfo: res.data,\r\n stickerID: res.data.stickerID,\r\n },\r\n () => {\r\n this.setState({\r\n listItemsRes: [],\r\n resortingAndPackagingServices: {\r\n vMPackingMaterial: [],\r\n },\r\n });\r\n // formReference.current.resetFields();\r\n }\r\n );\r\n this.setState({ generateBtnLoading: false });\r\n // } else {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Ganerate Sticker\",\r\n // \"Sticker Id Not Generated.\"\r\n // );\r\n // }\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: labels.UNABLE_TO_GET_STICKERID,\r\n });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n factoryID: localStorage.getItem(\"branchID\"),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n factoryID: localStorage.getItem(\"branchID\"),\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n factoryID: localStorage.getItem(\"branchID\"),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n });\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n var postdata = {\r\n stickerID: 0,\r\n splitOrderNumber: \"string\",\r\n packedOn: \"2020-11-06T07:10:50.725Z\",\r\n packingIds: \"string\",\r\n customerName: \"string\",\r\n storeName: \"string\",\r\n noOfGarment: 0,\r\n packedGarments: 0,\r\n factoryID: parseInt(params.factoryID),\r\n totalRecords: 0,\r\n pageIndex: params.pageIndex,\r\n pageSize: params.pageSize,\r\n sortColumn: params.sortColumn,\r\n sortOrder: params.sortOrder,\r\n commonSearch: params.commonSearch != undefined ? params.commonSearch : \"\",\r\n // orderFromDate: Moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n // orderToDate: Moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n };\r\n this.resortingandpackagingservice\r\n .ResortingAndPackagingList(postdata)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n cityID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n resortingAndPackagingItem: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.RESORTING_AND_PACKAGING,\r\n description: this.common.Message(items.message),\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n // this.resetFields();\r\n //window.location.reload();\r\n };\r\n\r\n // handleDateChange = (date, name) => {\r\n // this.setState({ [name]: date });\r\n // };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const resortingAndPackagingItem = this.state.resortingAndPackagingItem;\r\n const listItems = resortingAndPackagingItem.map((item, index) => ({\r\n key: index,\r\n stickerID: item.stickerID,\r\n splitOrderNumber: item.splitOrderNumber,\r\n packedOn: item.packedOn,\r\n // packedOn: ![null, undefined, \"\"].includes(item.packedOn)\r\n // ? item.packedOn.split(\"T\")[0]\r\n // : \"\",\r\n packingIds: item.packingIds,\r\n customerName: item.customerName,\r\n storeName: item.storeName,\r\n noOfGarment: item.noOfGarment,\r\n packedGarments: item.packedGarments,\r\n deliveryType: item.deliveryType,\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n ,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n {/* \r\n \r\n this.fetchItems({\r\n factoryID: localStorage.getItem(\"branchID\"),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n })\r\n }\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ResortingAndPackagingListInfo from \"../../../components/FactoryModule/ResortingAndPackagingList/ResortingAndPackagingList.component\";\r\n\r\nexport default class ResortingAndPackagingScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class CashCollection {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getCashCollectionEntries(\r\n index = 0,\r\n size = 0,\r\n sortColumn = null,\r\n sortOrder = null,\r\n search = null,\r\n storeID = null,\r\n userID = null,\r\n cashStatus = null,\r\n fromDate = null,\r\n toDate = null\r\n ) {\r\n const allFactoriesAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n allFactoriesAPI.createEntity({\r\n name: this.endpoint.GET_CASH_COLLECTION_DATA,\r\n });\r\n let factories = [];\r\n let payload = {\r\n storeIDs: storeID,\r\n executiveUserID: userID,\r\n status: cashStatus,\r\n fromDate: fromDate, // \"2020-10-01\",\r\n toDate: toDate, //\"2020-10-26\",\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n };\r\n await allFactoriesAPI.endpoints[this.endpoint.GET_CASH_COLLECTION_DATA]\r\n .getAllPost(payload)\r\n .then((response) => {\r\n factories = response.data;\r\n })\r\n .catch((err) => {\r\n factories = this.common.handleError(err);\r\n });\r\n if (factories.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n factories = this.getCashCollectionEntries(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n storeID,\r\n userID,\r\n cashStatus,\r\n fromDate,\r\n toDate\r\n );\r\n });\r\n }\r\n return Promise.resolve(factories);\r\n }\r\n\r\n async submitCashCollectionData(postData) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.SUBMIT_CASH_COLLECTION_DATA });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.SUBMIT_CASH_COLLECTION_DATA]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.submitCashCollectionData(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getAccountExecutiveByStoreID(storeid) {\r\n const userAPI = new API({ url: this.config.DROPDOWN_URL });\r\n userAPI.createEntity({\r\n name: this.endpoint.GET_ACCOUNT_EXEC_LIST_BY_STOREID,\r\n });\r\n let users = [];\r\n const idParam = \"?StoreID=\" + storeid;\r\n await userAPI.endpoints[this.endpoint.GET_ACCOUNT_EXEC_LIST_BY_STOREID]\r\n .getOne(idParam)\r\n .then((response) => {\r\n users = response.data;\r\n })\r\n .catch((err) => {\r\n users = this.common.handleError(err);\r\n });\r\n if (users.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n users = this.getAccountExecutiveByStoreID(storeid);\r\n });\r\n }\r\n return Promise.resolve(users);\r\n }\r\n\r\n // handleError(error) {\r\n // console.log(error.message);\r\n // }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport TableActions from \"../Common/TableActions/tableactions\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n // Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n DatePicker,\r\n Modal,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport ROUTES from \"../../routes\";\r\nimport CashCollection from \"../../services/cashcollectionservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport PickupService from \"../../services/pickupservice\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../services/common\";\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 26 October 2020\r\n */\r\nclass Master extends React.Component {\r\n cashCollectionService = new CashCollection();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n pickupService = new PickupService();\r\n commonReq = new Common();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n cashCollections: [],\r\n branchTypes: [],\r\n selectedBranch: null,\r\n userListOptions: [],\r\n userID: \"\",\r\n userName: [],\r\n selectedRowKeys: [],\r\n // selectedIds: null,\r\n showSubmitModal: false,\r\n modalLoading: false,\r\n collectionType: \"\",\r\n invoiceIds: \"\",\r\n walletIds: \"\",\r\n fromDate: Moment().subtract(30, \"days\"),\r\n toDate: Moment(),\r\n statusDDL: [],\r\n cashStatus: 1,\r\n accountExecutive: \"\",\r\n AccountExecList: [],\r\n showfilterBox: false,\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.CASH_COLLECTION\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n var storeData = JSON.parse(localStorage.getItem(\"BranchInfo\"));\r\n for (var i = 0; i < storeData.length; i++) {\r\n var res = storeData.filter((store) => store.branchType === \"Store\");\r\n }\r\n this.setState({ branchTypes: res });\r\n }\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n // {\r\n // title: \"ID\",\r\n // dataIndex: \"id\",\r\n // key: \"id\",\r\n // sorter: true,\r\n // width: \"3%\",\r\n // },\r\n {\r\n title: \"Order Number\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"amount\",\r\n key: \"amount\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Type\",\r\n dataIndex: \"type\",\r\n key: \"type\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Customer Paid Date\",\r\n dataIndex: \"customerPaidDate\",\r\n key: \"customerPaidDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: \"Cash Submission Date\",\r\n dataIndex: \"cashSubmissionDate\",\r\n key: \"cashSubmissionDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? undefined\r\n : moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n // {\r\n // title: \"Collection Type\",\r\n // dataIndex: \"collectionType\",\r\n // key: \"collectionType\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: \"Cash Submission Status\",\r\n dataIndex: \"cashSubmissionStatusName\",\r\n key: \"cashSubmissionStatusName\",\r\n sorter: true,\r\n },\r\n\r\n // {\r\n // title: \"Cash Submitted To User\",\r\n // dataIndex: \"cashSubmittedToUser\",\r\n // key: \"cashSubmittedToUser\",\r\n // sorter: true,\r\n // },\r\n // {\r\n // title: \"Cash Submission Remark\",\r\n // dataIndex: \"cashSubmissionRemark\",\r\n // key: \"cashSubmissionRemark\",\r\n // sorter: true,\r\n // },\r\n\r\n {\r\n title: \"Executive Name\",\r\n dataIndex: \"executiveName\",\r\n key: \"executiveName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Account Executive Name\",\r\n dataIndex: \"accountExecutiveName\",\r\n key: \"accountExecutiveName\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: \"Actions\",\r\n // key: \"actions\",\r\n // render: (text, record) => (\r\n // \r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isView == true ? (\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // ) : null}\r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isUpdate == true ? (\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 componentDidMount() {\r\n this.getCashCollectionList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.getCashCollectionStatus();\r\n // this.getUserList(parseInt(localStorage.getItem(\"branchID\")));\r\n }\r\n\r\n getCashCollectionList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.cashCollectionService\r\n .getCashCollectionEntries(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch\r\n ? this.state.selectedBranch.toString()\r\n : null,\r\n this.state.userID ? this.state.userID : null,\r\n this.state.cashStatus,\r\n Moment(this.state.fromDate).format(\"YYYY-MM-DD\"),\r\n Moment(this.state.toDate).format(\"YYYY-MM-DD\")\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let cashCollectionData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.id;\r\n singleData.customerPaidDate = singleData.customerPaidDate\r\n ? moment(singleData.customerPaidDate).format(\"YYYY-MM-DD\")\r\n : undefined;\r\n singleData.cashSubmissionDate = singleData.cashSubmissionDate\r\n ? moment(singleData.cashSubmissionDate).format(\"YYYY-MM-DD\")\r\n : undefined;\r\n cashCollectionData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ cashCollections: cashCollectionData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: cashCollectionData.length\r\n ? cashCollectionData[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Collection\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of cash collection data\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n getUserList = (storeId) => {\r\n this.pickupService.getUserListBasedOnStore(storeId).then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ userListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Collection\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of user data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n RestoreDDlValue = (e) => {\r\n this.setState({ userID: e });\r\n // accountExecutive: e\r\n // var userArray = this.state.userListOptions.filter((x) => x.value === e);\r\n // if (userArray !== undefined) {\r\n // this.setState({\r\n // userID: userArray[0].value,\r\n // userName: userArray[0].text,\r\n // });\r\n // }\r\n };\r\n RestoreDDlValueAccountExec = (e) => {\r\n this.setState({ accountExecutive: e });\r\n };\r\n\r\n getAccountExecByStoreID = (storeId) => {\r\n this.cashCollectionService\r\n .getAccountExecutiveByStoreID(storeId)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ AccountExecList: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Collection\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of account executive data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleSelect = (event) => {\r\n this.setState({ selectedBranch: event }, () => {\r\n if (![null, undefined, \"\"].includes(this.state.selectedBranch)) {\r\n this.getUserList(this.state.selectedBranch.toString());\r\n } else {\r\n this.setState({ userListOptions: [] });\r\n }\r\n });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showSubmitModal: false });\r\n };\r\n\r\n submitCashCollection = (values) => {\r\n this.setState({ modalLoading: true });\r\n let invoiceId = [];\r\n let walletId = [];\r\n let InvoiceCollectionType = this.state.selectedRows.map((type) => {\r\n if (type.collectionType === \"Invoice\") {\r\n invoiceId.push(type.id);\r\n }\r\n if (type.collectionType === \"Wallet\") {\r\n walletId.push(type.id);\r\n }\r\n });\r\n\r\n let postData = {\r\n invoicePaymentIDs: invoiceId.toString(),\r\n lkWalletIDs: walletId.toString(),\r\n userID: jwt.decode(JSON.parse(localStorage.getItem(\"currentuser\")).token)\r\n .unique_name,\r\n accountUserID: this.state.accountExecutive,\r\n remark: values.remarks,\r\n };\r\n this.cashCollectionService\r\n .submitCashCollectionData(postData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Cash Collection\",\r\n description: response.message\r\n ? response.message\r\n : \"Data is successfully saved\",\r\n });\r\n this.setState({ showSubmitModal: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Collection\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to submit data\",\r\n duration: 1.5,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n window.location.reload();\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n getCashCollectionStatus = () => {\r\n this.commonReq.GetSystemEnums(\"CashCollectionStatus\").then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ statusDDL: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Cash Collection\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get status data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleSelectStatus = (event) => {\r\n this.setState({ cashStatus: event });\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getCashCollectionList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n {\r\n this.setState({\r\n showSubmitModal: true,\r\n selectedRows: this.state.selectedRows,\r\n });\r\n this.getAccountExecByStoreID(this.state.selectedBranch);\r\n }}\r\n key=\"2\"\r\n >\r\n Submit\r\n \r\n ) : null,\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.getCashCollectionList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n )\r\n }\r\n initialValues={{\r\n store: this.state.selectedBranch\r\n ? this.state.selectedBranch\r\n : undefined,\r\n user: this.state.userID ? this.state.userID : undefined,\r\n fromDate: this.state.fromDate,\r\n toDate: this.state.toDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.branchTypes.length !== 0\r\n ? this.state.branchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {/* {this.state.stateListOptions.length !== 0? */}\r\n {\r\n this.state.userListOptions.map((user) => {\r\n return user.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n // :null\r\n // }\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleDateChange(dates[0], \"fromDate\");\r\n this.handleDateChange(dates[1], \"toDate\");\r\n }}\r\n value={[this.state.fromDate, this.state.toDate]}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n defaultValue={[\r\n this.state.fromDate.toString(),\r\n this.state.toDate.toString(),\r\n ]}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n {/* \r\n \r\n this.handleDateChange(date, \"toDate\")}\r\n value={this.state.toDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(Moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n */}\r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.statusDDL.length !== 0\r\n ? this.state.statusDDL.map((user) => {\r\n return user.enumDetailID !== \"-1\" ? (\r\n \r\n {user.enumDetailName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n this.setState({\r\n selectedRowKeys: selectedRowKeys,\r\n selectedRows: selectedRows,\r\n });\r\n\r\n // //for multiple ids\r\n // this.setState({\r\n // selectedIds:\r\n // selectedRows.length > 0 ? selectedRows[0].id : null,\r\n // });\r\n },\r\n getCheckboxProps: (record) => {\r\n let shouldDisable = true; //default is disabled\r\n if (record.cashSubmissionStatus === 1) {\r\n shouldDisable = false;\r\n } else {\r\n shouldDisable = true;\r\n }\r\n return { disabled: shouldDisable };\r\n },\r\n }}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getCashCollectionList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n {\r\n this.submitCashCollection(values);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {/* {this.state.stateListOptions.length !== 0? */}\r\n {\r\n this.state.AccountExecList.map((user) => {\r\n return user.value !== \"-1\" ? (\r\n \r\n ) : null;\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 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\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport CashCollection from \"../../components/CashCollection/cashcollection.component\";\r\n\r\nexport default class CashCollectionScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\n class BulkUploadCouponService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n \r\n async getbulkcouponcodesdata(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_BULK_COUPON_MAP_UPLOAD_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_BULK_COUPON_MAP_UPLOAD_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n // console.log('data->',data);\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getbulkcouponcodesdata(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n \r\n async uploadFile(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n \r\n myApi.createEntity({ name: this.endpoint.UPLOAD_BULK_COUPON_CUSTMAPPING });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.UPLOAD_BULK_COUPON_CUSTMAPPING]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n // console.log(\"uploaddata->\",data);\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadFile(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n \r\n async getReport(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n // console.log(\"paramgetreport->\",param);\r\n myApi.createEntity({ name: this.endpoint.GET_COUPON_BULK_UPLOAD_FILE_REPORT });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_COUPON_BULK_UPLOAD_FILE_REPORT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n \r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getReport(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n \r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default BulkUploadCouponService;\r\n","import React from \"react\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport Button from \"../../components/Common/Button/button\";\r\nimport styles from \"../LKWallet/EmployeeCredit/lkemployeecredit.module.css\";\r\nimport TableActions from \"../../components/Common/TableActions/tableactions\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n // Popconfirm,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n // DatePicker,\r\n Upload,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faDownload,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport BulkUploadCouponService from \"../../services/bulkuploadcouponservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { labels } from \"../../shared/language\";\r\nimport Common from \"../../services/common\";\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nclass Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.bulkuploadcouponService = new BulkUploadCouponService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n excelFile: ,\r\n\r\n bulkuploadCouponItems: [],\r\n couponMapFileID: 0,\r\n fileName: \"\",\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n EmployeeCreditDetailsList: [],\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.UPLOAD_CUSTOMER_TO_COUPON_MAPPING\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.FILE_NAME,\r\n dataIndex: \"fileName\",\r\n key: \"fileName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.TOTAL_RECORDS,\r\n dataIndex: \"totalCnt\",\r\n key: \"totalCnt\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_BY,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n {\r\n title: labels.SUCCEEDED,\r\n dataIndex: \"succeeded\",\r\n key: \"succeeded\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.couponMapFileID, true)}\r\n type=\"link\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.FAILED,\r\n dataIndex: \"failed\",\r\n key: \"failed\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.couponMapFileID, false)}\r\n type=\"link\"\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 const { pagination } = this.state;\r\n this.fetchItems({\r\n couponMapFileID: this.state.couponMapFileID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n couponMapFileID: this.state.couponMapFileID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getReport = (id, type) => {\r\n this.bulkuploadcouponService\r\n .getReport({\r\n couponMapFileID: parseInt(id),\r\n isSucceeded: type,\r\n })\r\n .then((response) => {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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({ excelFile: })\r\n );\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n couponMapFileID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.bulkuploadcouponService\r\n .getbulkcouponcodesdata(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n couponMapFileID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n bulkuploadCouponItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_BULK_UPLOAD_COUPON_CODES_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleUpload = (values) => {\r\n this.setState({ modalLoading: true });\r\n let postData = new FormData();\r\n\r\n postData.append(\"CouponBulkUploadFile\", values.file[0].originFileObj);\r\n\r\n this.bulkuploadcouponService.uploadFile(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n description: this.common.Message(response.message),\r\n });\r\n this.fetchItems({\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n ...this.state.pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.UPLOAD_CUSTOMER_TO_COUPON_MAPPING,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPLOAD_THE_FILE,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n couponMapFileID: 0,\r\n fileName: \"\",\r\n totalCnt: \"\",\r\n succeeded: \"\",\r\n failed: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n fileName,\r\n totalCnt,\r\n succeeded,\r\n failed,\r\n pagination,\r\n loading,\r\n remark,\r\n } = this.state;\r\n const bulkuploadCouponItems = this.state.bulkuploadCouponItems;\r\n let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = bulkuploadCouponItems.map((item, index) => ({\r\n key: item.couponMapFileID,\r\n couponMapFileID: item.couponMapFileID,\r\n fileName: item.fileName,\r\n totalCnt: item.totalCnt,\r\n succeeded: item.succeeded,\r\n failed: item.failed,\r\n totalRecords: item.totalRecords,\r\n createdBy: item.createdBy,\r\n createdByName: item.createdByName,\r\n createdOn: item.createdOn,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n \r\n {labels.DOWNLOAD_FORMAT}\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n {labels.UPLOAD_FILE}\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 if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n }}\r\n >\r\n {\r\n setTimeout(() => {\r\n onSuccess(\"ok\");\r\n }, 0);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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(Master);\r\n","import React from 'react'\r\nimport BulkuploadcouponcodesComponent from '../../components/BulkUploadCouponCodes/bulkuploadcouponcodes.component';\r\n\r\nexport default class BulkUploadCouponCodesScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport Common from \"./common\";\r\n\r\nclass StandardRateCardService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n handleError = () => {\r\n return null;\r\n };\r\n\r\n async deleteStandardRateCard(standardRateID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.DELETE_STATIC_SERVICE_RATE_BY_ID,\r\n });\r\n let itemArray = [];\r\n let ID = \"?IDs=\" + standardRateID;\r\n\r\n await myApi.endpoints[this.endpoint.DELETE_STATIC_SERVICE_RATE_BY_ID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.deleteStandardRateCard(standardRateID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async addUpdateStandardRateCard(postFormData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.SAVE_UPDATE_STATIC_SERVICE_RATE_SAMPLE,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_STATIC_SERVICE_RATE_SAMPLE]\r\n .create(postFormData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.addUpdateStandardRateCard(postFormData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStandardRateCardData(index, size, sortColumn, sortOrder, search) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STATIC_SERVICE_RATE_SAMPLE });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_STATIC_SERVICE_RATE_SAMPLE]\r\n .getAllPost({\r\n garmentCategory: \"\",\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStandardRateCardData(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\nexport default StandardRateCardService;\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../Common/Button/button\";\r\nimport Filters from \"../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n Upload,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport StandardRateCardService from \"../../services/standardratecardservice\";\r\nimport PackagingChargesService from \"../../services/packagingchargeservice\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport Configuration from \"../../shared/configuration\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport { RegexInteger, MessageNumbers } from \"../../shared/validator\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n standardRateService = new StandardRateCardService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n PackageChargeService = new PackagingChargesService();\r\n config = new Configuration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n modalLoading: false,\r\n ID: 0,\r\n showfilterBox: false,\r\n factories: [],\r\n\r\n garmentImage: \"\",\r\n fileList: [],\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n\r\n serviceListOptions: [],\r\n serviceID: \"\",\r\n serviceName: [],\r\n\r\n garmentCategory: \"\",\r\n garmentName: \"\",\r\n servicePrefixUOM: \"\",\r\n rate: 0,\r\n\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showAddPopup: false,\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STANDARD_RATE_CARD\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: \"ID\",\r\n dataIndex: \"id\",\r\n key: \"id\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Garment Category\",\r\n dataIndex: \"garmentCategory\",\r\n key: \"garmentCategory\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (category) => (\r\n \r\n {category}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Garment Name\",\r\n dataIndex: \"garmentName\",\r\n key: \"garmentName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Service\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n // render: (text) => {\r\n // return moment(text).format(\"YYYY-MM-DD\");\r\n // },\r\n },\r\n {\r\n title: \"Service Prefix/UOM\",\r\n dataIndex: \"other\",\r\n key: \"other\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Rate\",\r\n dataIndex: \"rate\",\r\n key: \"rate\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Image\",\r\n dataIndex: \"image\",\r\n key: \"image\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address.split(\r\n this.config.STANDARD_RATE_CARD_AND_GARMENT_MASTER_IMAGE_URL\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"view\",\r\n ID: record.id,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n garmentCategory: record.garmentCategory,\r\n garmentName: record.garmentName,\r\n servicePrefixUOM: record.other,\r\n rate: record.rate,\r\n garmentImage: record.image,\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState(\r\n {\r\n popupMode: \"edit\",\r\n\r\n ID: record.id,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n garmentCategory: record.garmentCategory,\r\n garmentName: record.garmentName,\r\n servicePrefixUOM: record.other,\r\n rate: record.rate,\r\n garmentImage: record.image,\r\n },\r\n () => this.setState({ showAddPopup: true })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.handleDelete(record.id)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n this.getStandardRateCardList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.DropDownServiceList();\r\n }\r\n handleDelete = (standardRateID) => {\r\n this.setState({ tableLoading: true });\r\n this.standardRateService\r\n .deleteStandardRateCard(standardRateID)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Standard Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Standard rate card deleted successfully\",\r\n });\r\n this.getStandardRateCardList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Standard Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to delete standard rate card\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n addUpdateStandardRateCard = (values) => {\r\n this.setState({ modalLoading: true });\r\n var fileData = this.state.fileList;\r\n const postFormData = new FormData();\r\n\r\n postFormData.append(\"ID\", this.state.ID);\r\n postFormData.append(\"garmentCategory\", values.garmentCategory);\r\n postFormData.append(\"garmentName\", values.garmentName);\r\n postFormData.append(\"serviceID\", this.state.serviceID);\r\n postFormData.append(\"serviceName\", this.state.serviceName);\r\n postFormData.append(\"other\", values.servicePrefixUOM);\r\n postFormData.append(\"rate\", values.rate);\r\n postFormData.append(\r\n \"image\",\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n postFormData.append(\"isNewImgUploaded\", true);\r\n postFormData.append(\"oldGarmentImg\", this.oldServiceImageFromUrl());\r\n\r\n for (var value of postFormData.values()) {\r\n // console.log(value);\r\n }\r\n this.standardRateService\r\n .addUpdateStandardRateCard(postFormData)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Standard Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Data saved successfully\",\r\n });\r\n this.getStandardRateCardList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Standard Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to submit data\",\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n ID: 0,\r\n serviceID: \"\",\r\n serviceName: [],\r\n garmentCategory: \"\",\r\n garmentName: \"\",\r\n servicePrefixUOM: \"\",\r\n rate: \"\",\r\n fileList: [],\r\n garmentImage: \"\",\r\n });\r\n };\r\n\r\n oldServiceImageFromUrl = () => {\r\n let str1 = \"\";\r\n if (![undefined, null, \"\"].includes(this.state.garmentImage)) {\r\n let str = this.state.garmentImage.split(\"/\");\r\n str1 = str[str.length - 1];\r\n }\r\n return str1;\r\n };\r\n getBase64 = (file) => {\r\n return 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\n\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n handleChange = (info) => {\r\n if (info.fileList.length > 0) {\r\n if (info.file !== undefined) {\r\n const isJpgOrPng =\r\n info.file.type === \"image/png\" ||\r\n info.file.type === \"image/jpeg\" ||\r\n info.file.type === \"image/jpg\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Standard Rate Card\",\r\n description: \"You can only upload JPG/PNG/JPEG file!\",\r\n });\r\n // this.setState({ fileList: [] });\r\n info.file = undefined;\r\n }\r\n let isLt1M = false;\r\n if (info.file !== undefined) {\r\n isLt1M = info.file.size / 1024 / 1024 < 1;\r\n if (!isLt1M) {\r\n notification[\"error\"]({\r\n message: \"Standard Rate Card\",\r\n description: \"Image must be smaller than 1 MB!\",\r\n });\r\n // this.setState({ fileList: [] });\r\n info.file = undefined;\r\n }\r\n }\r\n if (isJpgOrPng && isLt1M) {\r\n info.file.status = \"done\";\r\n }\r\n }\r\n var infoFileList = [];\r\n infoFileList.push(info.file);\r\n info.file = infoFileList.filter((x) => x != undefined);\r\n this.setState({ fileList: info.file });\r\n if (info.file.length > 0) {\r\n this.setState({ garmentImage: \"\" });\r\n }\r\n } else {\r\n this.setState({ fileList: [], garmentImage: \"\" });\r\n }\r\n };\r\n\r\n getStandardRateCardList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n this.setState({ tableLoading: true });\r\n this.standardRateService\r\n .getStandardRateCardData(index, size, sortColumn, sortOrder, search)\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.id;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Standard Rate Card\",\r\n description: response.message\r\n ? response.message\r\n : \"Unable to get list of standard rate card data\",\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n };\r\n\r\n RestoreDDlValue = (e) => {\r\n var serviceArray = this.state.serviceListOptions.filter(\r\n (x) => x.value === e\r\n );\r\n if (serviceArray !== undefined) {\r\n this.setState({\r\n serviceID: serviceArray[0].value,\r\n serviceName: serviceArray[0].text,\r\n });\r\n }\r\n };\r\n\r\n DropDownServiceList = () => {\r\n this.PackageChargeService.serviceListItems().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ serviceListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Standard Rate Card\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of service data\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n handleInputChange = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n };\r\n\r\n render() {\r\n const disableAll = this.state.popupMode === \"view\";\r\n const uploadButton =\r\n this.state.fileList.length === 0 ? (\r\n
\r\n \r\n
Upload
\r\n
\r\n ) : null;\r\n\r\n return (\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getStandardRateCardList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />,\r\n /**\r\n * Add Factory Button redirects to add form\r\n */\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n \r\n this.setState({\r\n ID: 0,\r\n showAddPopup: true,\r\n popupMode: \"add\",\r\n currentExpense: {},\r\n })\r\n }\r\n key=\"2\"\r\n >\r\n Add Standard Rate Card\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getStandardRateCardList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n this.addUpdateStandardRateCard(values);\r\n }}\r\n initialValues={{\r\n serviceName: this.state.serviceName,\r\n garmentCategory: this.state.garmentCategory,\r\n garmentName: this.state.garmentName,\r\n servicePrefixUOM: this.state.servicePrefixUOM,\r\n rate: this.state.rate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.serviceListOptions.map((service) =>\r\n service.value !== \"-1\" ? (\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 {this.state.popupMode === \"edit\" ||\r\n this.state.popupMode === \"add\" ? (\r\n <>\r\n \r\n \r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n {/* {this.state.fileList.length >= 0\r\n ? null\r\n : uploadButton} */}\r\n {uploadButton}\r\n \r\n \r\n {this.state.ID != 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {this.state.popupMode === \"view\" ? (\r\n \r\n Cancel\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\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport StandardRateCard from \"../../components/StandardRateCard/standardratecard.component\";\r\n\r\nexport default class StandardRateCardScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass ServiceIconItem {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async removeItems(IconID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_SERVICE_ICONS_BY_ID });\r\n let itemArray = [];\r\n\r\n let ID = \"?IconIDs=\" + IconID;\r\n await myApi.endpoints[this.endpoint.DELETE_SERVICE_ICONS_BY_ID]\r\n .getOne(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(IconID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(formData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_SERVICE_ICON_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.SAVE_UPDATE_SERVICE_ICON_MASTER]\r\n .create(formData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(formData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_SERVICE_ICON_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_SERVICE_ICON_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default ServiceIconItem;\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport Filters from \"../../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n Checkbox,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n Upload,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport ServiceIconItem from \"../../../services/serviceiconsservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Configuration from \"../../../shared/configuration\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport PackagingChargesService from \"../../../services/packagingchargeservice\";\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport TextArea from \"antd/lib/input/TextArea\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class Master extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.serviceIcon = new ServiceIconItem();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.PackageChargeService = new PackagingChargesService();\r\n this.config = new Configuration();\r\n this.state = {\r\n modalLoading: false,\r\n serviceItems: [],\r\n iconID: 0,\r\n iconName: \"\",\r\n serviceID: 0,\r\n serviceName: [],\r\n serviceListOptions: [],\r\n description: \"\",\r\n\r\n iconImage: \"\",\r\n fileList: [],\r\n previewVisible: false,\r\n previewImage: \"\",\r\n previewTitle: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n isResponseErrorShow: false,\r\n mode: \"add\",\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.SERVICE_ICONS\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: \"Icon ID\",\r\n // dataIndex: \"iconID\",\r\n // key: \"iconID\",\r\n // },\r\n // {\r\n // title: \"Service ID\",\r\n // dataIndex: \"serviceID\",\r\n // key: \"serviceID\",\r\n // },\r\n {\r\n title: \"Service Name\",\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Description\",\r\n dataIndex: \"description\",\r\n key: \"description\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Icon Name\",\r\n dataIndex: \"iconName\",\r\n key: \"iconName\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Icon Image\",\r\n dataIndex: \"iconImage\",\r\n key: \"iconImage\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (address) => (\r\n \r\n {address.split(this.config.SERVICE_ICONS_MASTER_IMAGE_URL)}\r\n \r\n ),\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n mode: \"edit\",\r\n showAddPopup: true,\r\n iconID: record.iconID,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n iconName: record.iconName,\r\n description: record.description,\r\n iconImage: record.iconImage,\r\n isEnabled: true,\r\n isVisible: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n \r\n this.setState({\r\n mode: \"edit\",\r\n showAddPopup: true,\r\n iconID: record.iconID,\r\n serviceID: record.serviceID,\r\n serviceName: record.serviceName,\r\n iconName: record.iconName,\r\n description: record.description,\r\n iconImage: record.iconImage,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.iconID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n iconID: this.state.iconID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.DropDownServiceList();\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n iconID: this.state.iconID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table paginaion when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n iconID: this.state.iconID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n \r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.serviceIcon.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n iconID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n serviceItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of service icon data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (iconID) => {\r\n if ([null, undefined, \"\"].includes(iconID)) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"Service Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.setState({ loading: true });\r\n this.serviceIcon.removeItems(iconID).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Service Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Service Icons Master\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n iconID: parseInt(this.state.iconID),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Service Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n oldIconImageFromUrl = () => {\r\n let str1 = \"\";\r\n if (![undefined, null, \"\"].includes(this.state.iconImage)) {\r\n let str = this.state.iconImage.split(\"/\");\r\n str1 = str[str.length - 1];\r\n }\r\n return str1;\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var fileData = this.state.fileList;\r\n const formData = new FormData();\r\n let isNewImageUpload = this.state.fileList.length === 0 ? false : true;\r\n formData.append(\r\n \"image\",\r\n this.state.fileList.length > 0\r\n ? this.state.fileList[0].originFileObj\r\n : null\r\n );\r\n formData.append(\"iconID\", this.state.iconID);\r\n formData.append(\"serviceID\", this.state.serviceID);\r\n formData.append(\"IconName\", this.state.iconName);\r\n formData.append(\"description\", this.state.description);\r\n formData.append(\"isActive\", true);\r\n formData.append(\"isNewImgUploaded\", isNewImageUpload);\r\n formData.append(\"oldIconImg\", this.oldIconImageFromUrl());\r\n\r\n for (var value of formData.values()) {\r\n // console.log(value);\r\n }\r\n this.setState({ modalLoading: true });\r\n this.serviceIcon.insertUpdateItems(formData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"Service Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Service Icons Master\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n iconID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"Service Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n //function for changing/updating the service name\r\n handleServiceIconName = (e) => {\r\n let iconNm = e.target.value;\r\n this.setState({ iconName: iconNm });\r\n };\r\n\r\n handleDescriptionChange = (e) => {\r\n let details = e.target.value;\r\n this.setState({ description: details });\r\n };\r\n\r\n getBase64 = (file) => {\r\n return 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\n\r\n handlePreview = async (file) => {\r\n if (!file.url && !file.preview) {\r\n file.preview = await this.getBase64(file.originFileObj);\r\n }\r\n\r\n this.setState({\r\n previewImage: file.url || file.preview,\r\n previewVisible: true,\r\n previewTitle:\r\n file.name || file.url.substring(file.url.lastIndexOf(\"/\") + 1),\r\n });\r\n };\r\n\r\n handleChange = (info) => {\r\n if (info.fileList.length > 0) {\r\n if (info.file !== undefined) {\r\n const isJpgOrPng =\r\n info.file.type === \"image/svg+xml\" ||\r\n info.file.type === \"image/jpeg\" ||\r\n info.file.type === \"image/png\" ||\r\n info.file.type === \"image/jpg\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: \"You can only upload JPG/PNG/SVG/JPEG file!\",\r\n });\r\n info.file = undefined;\r\n }\r\n let isLt1M = false;\r\n if (info.file !== undefined) {\r\n isLt1M = info.file.size / 1024 / 1024 < 1;\r\n if (!isLt1M) {\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: \"Image must be smaller than 1 MB!\",\r\n });\r\n info.file = undefined;\r\n }\r\n }\r\n if (isJpgOrPng && isLt1M) {\r\n info.file.status = \"done\";\r\n }\r\n var infoFileList = [];\r\n infoFileList.push(info.file);\r\n info.file = infoFileList.filter((x) => x != undefined);\r\n this.setState({ fileList: info.file });\r\n if (info.file.length > 0) {\r\n this.setState({ iconImage: \"\" });\r\n }\r\n }\r\n } else {\r\n this.setState({ fileList: [], iconImage: \"\" });\r\n }\r\n };\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n serviceID: 0,\r\n serviceName: [],\r\n iconName: \"\",\r\n iconID: 0,\r\n description: \"\",\r\n fileList: [],\r\n isAddOn: false,\r\n isEnabled: false,\r\n isVisible: false,\r\n iconImage: \"\",\r\n });\r\n };\r\n\r\n handleCheckbox = (event) => {\r\n this.setState({ isAddOn: event.target.checked });\r\n };\r\n\r\n beforeUpload = (file) => {\r\n const isJpgOrPng = file.type === \"image/jpeg\" || file.type === \"image/png\";\r\n if (!isJpgOrPng) {\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: \"You can only upload JPG/PNG file!\",\r\n });\r\n this.setState({ fileList: [] });\r\n }\r\n const isLt2M = file.size / 1024 / 1024 < 1;\r\n if (!isLt2M) {\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: \"Image must smaller than 1MB!\",\r\n });\r\n this.setState({ fileList: [] });\r\n }\r\n return isJpgOrPng && isLt2M;\r\n };\r\n\r\n DropDownServiceList = () => {\r\n this.PackageChargeService.serviceListItems().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ serviceListOptions: items.data });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Service Icons Master\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of service icons data\",\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n RestoreDDlValue = (e) => {\r\n var serviceArray = this.state.serviceListOptions.filter(\r\n (x) => x.value === e\r\n );\r\n if (serviceArray !== undefined) {\r\n this.setState({\r\n serviceID: serviceArray[0].value,\r\n serviceName: serviceArray[0].text,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n serviceName,\r\n iconName,\r\n description,\r\n pagination,\r\n iconImage,\r\n loading,\r\n } = this.state;\r\n const Regex = /^[A-Za-z0-9_&-\\s]*$/;\r\n const serviceItems = this.state.serviceItems;\r\n const listItems = serviceItems.map((item, index) => ({\r\n key: item.iconID,\r\n iconID: item.iconID,\r\n serviceID: item.serviceID,\r\n serviceName: item.serviceName,\r\n iconName: item.iconName,\r\n description: item.description,\r\n iconImage: item.iconImage,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n const uploadButton =\r\n this.state.fileList.length === 0 ? (\r\n
\r\n \r\n
Upload
\r\n
\r\n ) : null;\r\n return (\r\n
\r\n ,\r\n\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Service Icon\r\n \r\n ) : null,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n serviceItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\r\n ) : null}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.serviceListOptions.map((service) =>\r\n service.value !== \"-1\" ? (\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 {this.state.isEnabled === false ? (\r\n <>\r\n \r\n \r\n {\r\n onSuccess({ status: \"done\" }, file);\r\n }}\r\n >\r\n {/* {this.state.fileList.length >= 0\r\n ? null\r\n : uploadButton} */}\r\n {uploadButton}\r\n \r\n \r\n {this.state.serviceID != 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport ServiceIcons from \"../../../components/Master/ServiceIcons/serviceIconsmaster.component\"\r\n\r\nexport default class ServiceIconsScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Modal,\r\n Checkbox,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faPencilAlt,\r\n faInfo,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\n// import ROUTES from \"../../../routes\";\r\nimport CreateOrderService from \"../../../services/createorderservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n/**\r\n * A factory master screen which holds grid view for master screens and form with steps\r\n *\r\n * @author Niraj Gohel\r\n *\r\n * @since 1.0.0\r\n * @created 16 June 2020\r\n */\r\nclass Master extends React.Component {\r\n createOrderService = new CreateOrderService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n /**\r\n * State Varibales to determine/toggle multiple components on screen\r\n *\r\n * @var showFilterBox : toggle this variable to show/hide the filter box on the top of the table\r\n */\r\n state = {\r\n showfilterBox: false,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.PARTIAL_ORDER_RECEIVED\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n /**\r\n * Columns Object for rendering table kindly go through\r\n * https://ant.design/components/table/#API\r\n * https://ant.design/components/table/\r\n * https://ant.design/components/table/#Column\r\n */\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER_ID,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_OUT_GATE_PASS,\r\n dataIndex: \"storeOutGatePassNo\",\r\n key: \"storeOutGatePassNo\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_OUT_GATEPASS_TIME,\r\n dataIndex: \"storeOutGatePassTime\",\r\n key: \"storeOutGatePassTime\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n {\r\n title: labels.FACTORY_IN_DATE,\r\n dataIndex: \"factoryInDate\",\r\n key: \"factoryInDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.RECENT_STORE_IN_DATES,\r\n dataIndex: \"recentStoreInDates\",\r\n key: \"recentStoreInDates\",\r\n sorter: true,\r\n width: \"12%\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (text) => (\r\n \r\n {text}\r\n \r\n ),\r\n },\r\n {\r\n title: labels.DELIVERY_DATE,\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, \"\", undefined].includes(text)\r\n ? undefined\r\n : moment(text).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n title: labels.ORDER_LOT_SIZE,\r\n dataIndex: \"orderLotSize\",\r\n key: \"orderLotSize\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_IN_GARMENTS,\r\n dataIndex: \"storeInGarments\",\r\n key: \"storeInGarments\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_IN_STICKER_ID,\r\n dataIndex: \"stickerIds\",\r\n key: \"stickerIds\",\r\n sorter: true,\r\n width: \"10%\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (stickerIds) => {\r\n return (\r\n \r\n {stickerIds}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.BALANCE_GARMENTS,\r\n dataIndex: \"balanceGarments\",\r\n key: \"balanceGarments\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getPartialOrderReceivedList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n\r\n getPartialOrderReceivedList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.createOrderService\r\n .getPartialOrderReceivedList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n {\r\n pagination: { ...this.state.pagination, current: 1 },\r\n tableLoading: false,\r\n },\r\n () => {\r\n this.getPartialOrderReceivedList(\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n }\r\n );\r\n }\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n singleData.key = singleData.splitOrderNumber;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PARTIAL_ORDER_RECEIVED,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_PARTIAL_ORDER_DATE,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleChangeBranch = () => {\r\n this.getPartialOrderReceivedList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n };\r\n render() {\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n return (\r\n
\r\n \r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getPartialOrderReceivedList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // key=\"3\"\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n 6 && this.columns.length <= 12\r\n ? { x: 1400 }\r\n : { x: 2000 }\r\n }\r\n columns={this.columns}\r\n dataSource={this.state.factories}\r\n loading={this.state.tableLoading}\r\n pagination={this.state.pagination}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getPartialOrderReceivedList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Master);\r\n","import React from \"react\";\r\nimport PartialOrderReceived from \"../../../components/StoreModule/PartialOrderReceived/partialorderreceivedlist.component\";\r\n\r\n/**\r\n * Create PickUp Screen\r\n *\r\n * @author Payal Bharakhda\r\n *\r\n * @since 1.0.0\r\n * @created 13 July 2020\r\n */\r\nexport default class PartialOrderReceivedScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport CustomerService from \"../../../../services/customerservice\";\r\nimport { notification, Typography, Form, Input, Spin } from \"antd\";\r\nimport styles from \"../../../Common/Styles/master.module.css\";\r\nimport Button from \"../../../Common/Button/button\";\r\n\r\nexport default class Verification extends React.Component {\r\n customerService = new CustomerService();\r\n componentDidMount() {\r\n const url = new URL(window.location.href);\r\n const Emailtoken = url.searchParams.get(\"token\");\r\n this.VerifyCutomerEmail(Emailtoken);\r\n }\r\n\r\n VerifyCutomerEmail = (Emailtoken) => {\r\n this.customerService.VerifyCutomerEmail(Emailtoken).then((response) => { \r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Verification successful, you can now login\",\r\n duration: 2,\r\n onClose: () => {\r\n window.location.href = \"https://www.laundrokart.com/\";\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Customer Master\",\r\n description: response.message\r\n ? response.message\r\n : \"Something Went Wrong\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass PaytmEDCMachineConfigService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getActiveUserList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_ACTIVE_USER_LIST });\r\n let users = [];\r\n await myApi.endpoints[this.endpoint.GET_ACTIVE_USER_LIST]\r\n .getAll()\r\n .then((response) => {\r\n users = response.data;\r\n })\r\n .catch((err) => {\r\n users = this.common.handleError(err);\r\n });\r\n if (users.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n users = this.getActiveUserList();\r\n });\r\n }\r\n return Promise.resolve(users);\r\n }\r\n\r\n async getStateDetailByStateId(StateID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STATE_DETAIL_BY_ID });\r\n let itemArray = [];\r\n let ID = \"?StateID=\" + StateID;\r\n await myApi.endpoints.GetStateDetailByStateID.getById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStateDetailByStateId(StateID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async removeItems(edcInfoId) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_PAYTM_EDC_MACHINE_MASTER });\r\n let itemArray = [];\r\n let ID = \"?edcInfoIds=\" + edcInfoId;\r\n await myApi.endpoints[this.endpoint.DELETE_PAYTM_EDC_MACHINE_MASTER]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(edcInfoId);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.ADD_UPDATE_PAYTM_EDC_MACHINE_INFO,\r\n });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.ADD_UPDATE_PAYTM_EDC_MACHINE_INFO]\r\n .create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PAYTM_EDC_MASTER });\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_PAYTM_EDC_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n\r\nexport default PaytmEDCMachineConfigService;\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../../components/Common/Button/button\";\r\nimport Filters from \"../../components/Common/Filters/filters\";\r\nimport TableActions from \"../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport PaytmEDCMachineConfigService from \"../../services/paytmedcmachineconfigservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../shared/validator\";\r\nimport DiscountMasterService from \"../../services/discountmasterservice\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class PaytmEDCMachineConfig extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.paytmEDCConfigService = new PaytmEDCMachineConfigService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.discountmasterservice = new DiscountMasterService();\r\n\r\n this.state = {\r\n modalLoading: false,\r\n paytmEDCConfigItems: [],\r\n edcInfoId: 0,\r\n platformList: [\r\n {\r\n key: 1,\r\n value: \"web\",\r\n },\r\n {\r\n key: 2,\r\n value: \"android\",\r\n },\r\n ],\r\n paytmMachineID: \"\",\r\n paytmTerminalID: \"\",\r\n VersionNo: \"\",\r\n MachineKey: \"\",\r\n serialNumber: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n selectedPlatform: \"\",\r\n applicableStoreIds: {\r\n disabled: true,\r\n data: [],\r\n },\r\n UserList: {\r\n disabled: true,\r\n data: [],\r\n },\r\n selectedUser: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.PAYTM_EDC_MACHINE_CONFING\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n // {\r\n // title: 'edcInfoId',\r\n // dataIndex: 'edcInfoId',\r\n // key: 'edcInfoId',\r\n // },\r\n {\r\n title: \"Paytm Machine id\",\r\n dataIndex: \"paytmMid\",\r\n key: \"paytmMid\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Paytm Terminal id\",\r\n dataIndex: \"paytmTid\",\r\n key: \"paytmTid\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Machine Key\",\r\n dataIndex: \"machineKey\",\r\n key: \"machineKey\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Version No\",\r\n dataIndex: \"versionNumber\",\r\n key: \"versionNumber\",\r\n sorter: true,\r\n },\r\n // {\r\n // title: \"Store/User ID\",\r\n // dataIndex: \"id\",\r\n // key: \"id\",\r\n // sorter: true,\r\n // },\r\n {\r\n title: \"Store/User Name\",\r\n dataIndex: \"storeOrUserName\",\r\n key: \"storeOrUserName\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Serial Number\",\r\n dataIndex: \"serialNumber\",\r\n key: \"serialNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Platform\",\r\n dataIndex: \"platform\",\r\n key: \"platform\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n edcInfoId: record.edcInfoId,\r\n paytmMachineID: record.paytmMid,\r\n paytmTerminalID: record.paytmTid,\r\n VersionNo: record.versionNumber,\r\n MachineKey: record.machineKey,\r\n selectedPlatform: record.platform,\r\n selectedStore: record.storeOrUserName,\r\n selectedUser: record.storeOrUserName,\r\n serialNumber: record.serialNumber,\r\n isEnabled: true,\r\n isVisible: true,\r\n showAddPopup: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n {\r\n this.setState({\r\n edcInfoId: record.edcInfoId,\r\n paytmMachineID: record.paytmMid,\r\n paytmTerminalID: record.paytmTid,\r\n VersionNo: record.versionNumber,\r\n MachineKey: record.machineKey,\r\n selectedPlatform: record.platform,\r\n selectedStore: record.storeOrUserName,\r\n selectedUser: record.storeOrUserName,\r\n serialNumber: record.serialNumber,\r\n showAddPopup: true,\r\n });\r\n if (record.platform === \"web\") {\r\n this.getStores();\r\n } else {\r\n this.getActiveUserList();\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.edcInfoId)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n getStores = () => {\r\n this.discountmasterservice.getStoresList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n applicableStoreIds: {\r\n ...this.state.applicableStoreIds,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n selectedUser: undefined,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Unable to get data for applicable stores\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n getActiveUserList = () => {\r\n this.paytmEDCConfigService.getActiveUserList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n UserList: {\r\n ...this.state.UserList,\r\n data: response.data,\r\n disabled: false,\r\n },\r\n selectedStore: undefined,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Unable to get data for applicable stores\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.paytmEDCConfigService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n paytmEDCConfigItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Paytm EDC Machine Configuration\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of state data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (edcInfoId) => {\r\n if (edcInfoId === \"\" || edcInfoId === null || edcInfoId === undefined) {\r\n // openNotificationWithIcon(\r\n // \"error\",\r\n // \"State Master\",\r\n // \"Please Select Atleast One Row\"\r\n // );\r\n notification[\"error\"]({\r\n message: \"Paytm EDC Machine Configuration\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.paytmEDCConfigService.removeItems(edcInfoId).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"State Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Paytm EDC Machine Configuration\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"State Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Paytm EDC Machine Configuration\",\r\n description: items.message,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n let res = this.state.applicableStoreIds.data.filter(\r\n (x) => x.text === this.state.selectedStore\r\n );\r\n\r\n if (this.state.selectedPlatform !== \"web\") {\r\n res = this.state.UserList.data.filter(\r\n (x) => x.text === this.state.selectedUser\r\n );\r\n }\r\n\r\n var postData = {\r\n edcInfoId: this.state.edcInfoId,\r\n paytmMid: this.state.paytmMachineID,\r\n paytmTid: this.state.paytmTerminalID,\r\n machineKey: this.state.MachineKey,\r\n versionNumber: this.state.VersionNo,\r\n id: res.length > 0 ? parseInt(res[0].value) : 0,\r\n platform: this.state.selectedPlatform,\r\n serialNumber: this.state.serialNumber,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.paytmEDCConfigService.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"State Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Paytm EDC Machine Configuration\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"State Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Paytm EDC Machine Configuration\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleInputOnChange = (evt) => {\r\n this.setState({ [evt.target.name]: evt.target.value });\r\n };\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n edcInfoId: 0,\r\n // stateID: 0,\r\n paytmMachineID: \"\",\r\n paytmTerminalID: \"\",\r\n VersionNo: \"\",\r\n MachineKey: \"\",\r\n selectedPlatform: \"\",\r\n selectedUser: \"\",\r\n selectedStore: \"\",\r\n serialNumber: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n HandleApplicatoinDDL = (id, key) => {\r\n let res = [];\r\n if (key === \"user\") {\r\n res = this.state.UserList.data.filter((x) => x.value === id);\r\n this.setState({\r\n selectedUser: res.length > 0 ? res[0].text : 0,\r\n // selectedStore: undefined,\r\n });\r\n } else {\r\n res = this.state.applicableStoreIds.data.filter((x) => x.value === id);\r\n this.setState({\r\n selectedStore: res.length > 0 ? res[0].text : 0,\r\n // selectedUser: undefined,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n paytmMachineID,\r\n paytmTerminalID,\r\n VersionNo,\r\n MachineKey,\r\n serialNumber,\r\n pagination,\r\n loading,\r\n } = this.state;\r\n const paytmEDCConfigItems = this.state.paytmEDCConfigItems;\r\n\r\n const listItems = paytmEDCConfigItems.map((item, index) => ({\r\n key: item.edcInfoId,\r\n edcInfoId: item.edcInfoId,\r\n paytmMid: item.paytmMid,\r\n paytmTid: item.paytmTid,\r\n machineKey: item.machineKey,\r\n versionNumber: item.versionNumber,\r\n id: item.id,\r\n storeOrUserName: item.storeOrUserName,\r\n platform: item.platform,\r\n serialNumber: item.serialNumber,\r\n isActive: item.isActive.toString(),\r\n createdBy: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD/MM/YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n const store = this.state.selectedStore;\r\n const users = this.state.selectedUser;\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Paytm EDC Machine Configuration\r\n \r\n ) : null,\r\n\r\n // {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n ]}\r\n />\r\n \r\n
null}>\r\n \r\n \r\n \r\n {/**\r\n * For More Clarity over what \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n paytmEDCConfigItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\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 var platformArray = this.state.platformList.filter(\r\n (x) => x.key === e\r\n );\r\n\r\n if (platformArray !== undefined) {\r\n this.setState(\r\n {\r\n selectedPlatform: platformArray[0].value,\r\n },\r\n () => {\r\n if (platformArray[0].value === \"web\") {\r\n this.getStores();\r\n } else {\r\n this.getActiveUserList();\r\n }\r\n }\r\n );\r\n }\r\n }}\r\n disabled={this.state.isEnabled}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {/* {this.state.stateListOptions.length !== 0? */}\r\n {\r\n this.state.platformList.map((platform) => {\r\n return (\r\n \r\n );\r\n })\r\n // :null\r\n // }\r\n }\r\n \r\n \r\n \r\n {[\"\", null, undefined].includes(\r\n this.state.selectedPlatform\r\n ) ? null : this.state.selectedPlatform === \"web\" ? (\r\n \r\n \r\n {\r\n this.HandleApplicatoinDDL(e, \"store\");\r\n }}\r\n disabled={this.state.isEnabled}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n defaultValue={store}\r\n >\r\n {this.state.applicableStoreIds.data.length !== 0\r\n ? this.state.applicableStoreIds.data.map(\r\n (applicableStoreIds) => {\r\n return applicableStoreIds.value !== \"-1\" ? (\r\n \r\n {applicableStoreIds.text}\r\n \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {\r\n this.HandleApplicatoinDDL(e, \"user\");\r\n }}\r\n disabled={this.state.isEnabled}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n defaultValue={users}\r\n >\r\n {this.state.UserList.data.length !== 0\r\n ? this.state.UserList.data.map((user) => {\r\n return user.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from \"react\";\r\nimport PaytmEDCMachineConfig from \"../../components/PaytmEDCMachineConfig/paytmedcmachineconfig.component\";\r\n\r\nexport default class PaytmEDCMachineConfigScreen extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nclass Holidayservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveStore() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE });\r\n let itemArray = [];\r\n await myApi.endpoints.GetStoreList.getAll()\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveStore();\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_HOLIDAY_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.GetHolidayMaster.getAllPost(param)\r\n .then(({ data }) => {\r\n // console.log(\"data12345->\", data);\r\n // if (!data.ok) {\r\n // this.handleResponseError(response);\r\n // }\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async insertUpdateItems(postData) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.SAVE_UPDATE_HOLIDAY_MASTER });\r\n let itemArray = [];\r\n await myApi.endpoints.SaveUpdateHolidayMaster.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.insertUpdateItems(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async removeItems(holidayID) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.DELETE_HOLIDAY_BY_HOLIDAYID });\r\n let itemArray = [];\r\n let ID = \"?holidayIDs=\" + holidayID;\r\n await myApi.endpoints[this.endpoint.DELETE_HOLIDAY_BY_HOLIDAYID]\r\n .deleteById(ID)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.removeItems(holidayID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default Holidayservice;\r\n","import React from \"react\";\r\nimport styles from \"../Common/Styles/master.module.css\";\r\nimport Button from \"../../components/Common/Button/button\";\r\nimport TableActions from \"../../components/Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n DatePicker,\r\n Spin,\r\n Checkbox,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n // faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Holidayservice from \"../../services/holidayservice\";\r\n\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../shared/userrightsconfiguration\";\r\nimport {\r\n RegexLettersDigitsUnderScoreHyphen,\r\n MessageLettersDigitsUnderScoreHyphen,\r\n} from \"../../shared/validator\";\r\nimport { View } from \"@react-pdf/renderer\";\r\n\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\n// const variable for notification\r\nconst openNotificationWithIcon = (type, title, message) => {\r\n notification[type]({\r\n message: title,\r\n description: message,\r\n });\r\n};\r\n\r\nexport default class holidayconfiguration extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.holidayservice = new Holidayservice();\r\n\r\n this.state = {\r\n modalLoading: false,\r\n storelist: [],\r\n holidayConfigItems: [],\r\n holidayID: 0,\r\n storeNames: \"\",\r\n storeIDs: \"\",\r\n holidayDate: \"\",\r\n remark: \"\",\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n loading: true,\r\n showAddPopup: false,\r\n };\r\n this.handlePopupAdd = this.handlePopupAdd.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.HOLIDAY_CONFIGURATION\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Holiday Date\",\r\n dataIndex: \"holidayDate\",\r\n key: \"holidayDate\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeNames\",\r\n key: \"storeNames\",\r\n sorter: true,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (storeNames) => (\r\n \r\n {storeNames}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Remark\",\r\n dataIndex: \"remark\",\r\n key: \"remark\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Created On\",\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Created By\",\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Actions\",\r\n key: \"actions\",\r\n render: (text, record) => (\r\n \r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isView == true ? (\r\n \r\n \r\n this.setState({\r\n holidayID: record.holidayID,\r\n storeIDs: record.storeIDs,\r\n holidayDate: Moment(record.holidayDate, \"DD/MM/YYYY\"),\r\n remark: record.remark,\r\n isEnabled: true,\r\n isVisible: true,\r\n showAddPopup: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isUpdate == true ? (\r\n \r\n {\r\n this.setState({\r\n holidayID: record.holidayID,\r\n storeIDs: record.storeIDs,\r\n holidayDate: Moment(record.holidayDate, \"DD/MM/YYYY\"),\r\n remark: record.remark,\r\n showAddPopup: true,\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n this.removeItems(record.holidayID)}\r\n onCancel={() => null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.getStore();\r\n }\r\n\r\n //function for handling search change event\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for multiple selection of rows by using checkbox\r\n selectionType = \"checkbox\";\r\n rowSelection = {\r\n onChange: (selectedRowKeys, selectedRows) => {\r\n this.setState({ rowselectedvalue: selectedRowKeys });\r\n },\r\n getCheckboxProps: (record) => ({\r\n disabled: record.name === \"Disabled User\", // Column configuration not to be checked\r\n name: record.name,\r\n }),\r\n };\r\n\r\n //function for deleting multiple seletion of rows\r\n deleteSelected = () => {\r\n var rowselectedvalue = this.state.rowselectedvalue.toString();\r\n this.removeItems(rowselectedvalue);\r\n };\r\n\r\n /**\r\n * Functions to handle popup actions\r\n *\r\n * @todo handle ok button with Form.onFinish instead of button onClick\r\n */\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n getStore = () => {\r\n this.holidayservice.retrieveStore().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n storelist: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Holiday Configuration\",\r\n description: \"Unable to get list of store\",\r\n });\r\n }\r\n });\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.holidayservice.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n holidayConfigItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Holiday Configuration\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of Holiday data\",\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n //function for deleting data from server call\r\n removeItems = (holidayID) => {\r\n if (holidayID === \"\" || holidayID === null || holidayID === undefined) {\r\n notification[\"error\"]({\r\n message: \"Holiday Configuration\",\r\n description: \"Please Select Atleast One Row\",\r\n });\r\n } else {\r\n this.holidayservice.removeItems(holidayID).then((items) => {\r\n if (items.result === \"Success\") {\r\n notification[\"success\"]({\r\n message: \"Holiday Configuration\",\r\n description: items.message,\r\n });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Holiday Configuration\",\r\n description: items.message,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n //function for adding data to back-end by server call\r\n handlePopupAdd = (event) => {\r\n var postData = {\r\n holidayID: this.state.holidayID,\r\n storeIDs: this.state.storeIDs,\r\n holidayDate: Moment(this.state.holidayDate).format(\"YYYY/MM/DD\"),\r\n remark: this.state.remark,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.holidayservice.insertUpdateItems(postData).then((items) => {\r\n if (items.result === \"Success\") {\r\n // openNotificationWithIcon(\"success\", \"State Master\", items.message);\r\n notification[\"success\"]({\r\n message: \"Holiday Configuration\",\r\n description: items.message,\r\n });\r\n this.setState({ items: items, showAddPopup: false });\r\n const { pagination } = this.state;\r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n // ...filters,\r\n });\r\n this.resetFields();\r\n } else {\r\n // openNotificationWithIcon(\"error\", \"State Master\", items.message);\r\n notification[\"error\"]({\r\n message: \"Holiday Configuration\",\r\n description: items.message,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n // RestoreDDlValue = (e) => {\r\n // this.setState({\r\n // selectedstore: [null, undefined, \"\"].includes(e) ? \"\" : e.join(\",\"),\r\n // });\r\n // };\r\n\r\n handleInputOnChange = (evt) => {\r\n this.setState({ [evt.target.name]: evt.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n //function for clearing out the states\r\n resetFields = () => {\r\n this.setState({\r\n holidayID: 0,\r\n storeIDs: \"\",\r\n holidayDate: \"\",\r\n remark: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n\r\n handleChangee = (id) => {\r\n // console.log(\"id->\", id);\r\n };\r\n\r\n render() {\r\n \r\n const { storeIDs, holidayDate, remark, pagination, loading } = this.state;\r\n const holidayConfigItems = this.state.holidayConfigItems;\r\n const listItems = holidayConfigItems.map((item, index) => ({\r\n key: item.holidayID,\r\n holidayID: item.holidayID,\r\n holidayDate: Moment(item.holidayDate).format(\"DD-MM-YYYY\"),\r\n storeNames: item.storeNames,\r\n createdBy: item.createdBy,\r\n remark: item.remark,\r\n storeIDs: item.storeIDs,\r\n isActive: item.isActive.toString(),\r\n createdByName: item.createdByName,\r\n createdOn: Moment(item.createdOn).format(\"DD-MM-YYYY hh:mm:ss a\"),\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n return (\r\n
\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n >\r\n Add Holiday Configuration\r\n \r\n ) : null,\r\n ]}\r\n />\r\n\r\n \r\n \r\n {this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isDelete == true ? (\r\n holidayConfigItems.length > 0 ? (\r\n null}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n \r\n \r\n ) : null\r\n ) : null}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"holidayDate\")\r\n }\r\n disabled={this.state.isEnabled}\r\n disabledDate={(currentDate) =>\r\n currentDate < Moment().endOf(\"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n storeIDs: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n \r\n this.handleChangee(event);\r\n }\r\n );\r\n }}\r\n disabled={this.state.isEnabled}\r\n defaultValue={\r\n this.state.storeIDs === \"\"\r\n ? []\r\n : this.state.storeIDs.split(\",\")\r\n }\r\n // value={\r\n // this.state.storeIDs === \"\"\r\n // ? []\r\n // : this.state.storeIDs.split(\",\")\r\n // }\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {this.state.storelist.map((item) => {\r\n return item.value !== \"-1\" ? (\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n {/* \r\n \r\n {\r\n if (e.target.checked) {\r\n \r\n let allOpt = this.state.storelist\r\n .map((store) => {\r\n return (store.value);\r\n })\r\n .filter((x) => x !== \"-1\");\r\n \r\n \r\n \r\n\r\n this.setState(\r\n {\r\n storeIDs: [null, undefined, \"\"].includes(allOpt)\r\n ? \"\"\r\n : allOpt.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangee(e);\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n storeIDs: \"\",\r\n },\r\n () => this.handleChangee(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 {this.state.isVisible ? (\r\n <>\r\n \r\n Cancel\r\n \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","import React from 'react';\r\nimport Holiday from '../../components/HoliDay/holidayconfiguration.component';\r\n\r\nexport default class holidayconfigurationscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class orderhistoryservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getOrderHistory(type, Id) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_ORDER_HISTORY,\r\n });\r\n let states = [];\r\n\r\n let append = \"?IDType=\" + type + \"&OrderID=\" + Id;\r\n await stateListAPI.endpoints[this.endpoint.GET_ORDER_HISTORY]\r\n .getById(append)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getOrderHistory(type, Id);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getOrderListByMobileNo(MobileNo) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_ORDERLISTBYMOBILENO,\r\n });\r\n let states = [];\r\n\r\n let append = \"?MobileNo=\" + MobileNo \r\n await stateListAPI.endpoints[this.endpoint.GET_ORDERLISTBYMOBILENO]\r\n .getById(append)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getOrderHistory(MobileNo);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getfactorystatusdata(Id) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_ORDER_HISTORY_FROM_SPLITEORDERNUMBER,\r\n });\r\n let states = [];\r\n\r\n let append = \"?SplitOrderNumber=\" + Id;\r\n await stateListAPI.endpoints[\r\n this.endpoint.GET_ORDER_HISTORY_FROM_SPLITEORDERNUMBER\r\n ]\r\n .getById(append)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getfactorystatusdata(Id);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n async getMoreData(Id) {\r\n const stateListAPI = new API({ url: this.config.ITEM_STORE_URL });\r\n stateListAPI.createEntity({\r\n name: this.endpoint.GET_ORDER_HISTORY_LOADMOREDATA,\r\n });\r\n let states = [];\r\n\r\n let append = \"?SplitOrderNumber=\" + Id;\r\n await stateListAPI.endpoints[\r\n this.endpoint.GET_ORDER_HISTORY_LOADMOREDATA\r\n ]\r\n .getById(append)\r\n .then((response) => {\r\n states = response.data;\r\n })\r\n .catch((err) => {\r\n states = this.common.handleError(err);\r\n });\r\n if (states.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n states = this.getfactorystatusdata(Id);\r\n });\r\n }\r\n return Promise.resolve(states);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Tabs,\r\n Select,\r\n Input,\r\n Col,\r\n Row,\r\n Form,\r\n Space,\r\n List,\r\n Card,\r\n Divider,\r\n notification,\r\n Typography,\r\n Spin,\r\n Modal,\r\n} from \"antd\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport OrderHistoryservice from \"../../../services/orderhistoryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Styles from \"./orderhistory.module.css\";\r\nimport { getPDFProformaInvoice } from \"../Invoice/storeinvoicepdf.component\";\r\nimport CreateOrderService from \"../../../services/createorderservice\";\r\nimport moment from \"moment\";\r\nconst { TabPane } = Tabs;\r\nconst { Text } = Typography;\r\n\r\nexport default class orderhistory extends React.Component {\r\n formRef = React.createRef();\r\n OrderHistoryservice = new OrderHistoryservice();\r\n OrderService = new CreateOrderService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n\r\n state = {\r\n ShowPickupList: false,\r\n ShowOrderList: false,\r\n modalLoading: false,\r\n isResponseErrorShow: false,\r\n pickerData: [\r\n { label: \"Order\", value: \"1\" },\r\n { label: \"Pickup\", value: \"2\" },\r\n { label: \"Mobile No\", value: \"3\" },\r\n ],\r\n panes: 2,\r\n SearchType: \"\",\r\n userRights: [],\r\n orderId: \"\",\r\n OrderHistoryData: {},\r\n CustomerDetail: {},\r\n showDetail: false,\r\n spliteOrderwisedata: [],\r\n defultActivactionkey: \"\",\r\n factoryData: null,\r\n orderHistoryPackingDetail: [],\r\n orderHistoryPackingMaterial: [],\r\n postProcessData: [],\r\n deliveryData: [],\r\n paymentData: [],\r\n remarksData: [],\r\n processData: [],\r\n pickupcallback: [],\r\n deliverycallback: [],\r\n deliveryEscalationData: [],\r\n header: [],\r\n OrderList: [],\r\n PickupList: [],\r\n IsLoadMoreData: false,\r\n QcStatusData: null,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.STORE_ORDER_HISTORY\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupAdd = (SearchType, OrderID) => {\r\n this.setState({ modalLoading: true });\r\n\r\n this.setState({\r\n factoryData: null,\r\n orderHistoryPackingDetail: [],\r\n orderHistoryPackingMaterial: [],\r\n postProcessData: [],\r\n deliveryData: [],\r\n paymentData: [],\r\n remarksData: [],\r\n processData: [],\r\n pickupcallback: [],\r\n deliverycallback: [],\r\n deliveryEscalationData: [],\r\n QcStatusData: null,\r\n });\r\n if (SearchType == 1 || SearchType == 2) {\r\n this.OrderHistoryservice.getOrderHistory(\r\n SearchType,\r\n parseInt(OrderID)\r\n // parseInt(this.state.orderId)\r\n ).then((items) => {\r\n if (items.result === \"Success\") {\r\n // notification[\"success\"]({\r\n // message: \"Order History\",\r\n // description: items.message,\r\n // });\r\n\r\n this.setState({\r\n //ShowOrderList: false,\r\n OrderHistoryData: items.data,\r\n showAddPopup: false,\r\n showDetail: true,\r\n panes:\r\n items.data.splitOrderNumber != null\r\n ? items.data.splitOrderNumber.length\r\n : 0,\r\n spliteOrderwisedata:\r\n items.data.splitOrderNumber != null\r\n ? items.data.splitOrderNumber\r\n : [],\r\n defultActivactionkey:\r\n items.data.splitOrderNumber != null\r\n ? items.data.splitOrderNumber[0].splitOrderNumber\r\n : 0,\r\n });\r\n if (items.data.splitOrderNumber != null) {\r\n this.getfactorystatusdata(\r\n items.data.splitOrderNumber[0].splitOrderNumber\r\n );\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Order History\",\r\n description: items.message,\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n } else {\r\n this.setState({ modalLoading: true });\r\n this.OrderHistoryservice.getOrderListByMobileNo(this.state.orderId).then(\r\n (items) => {\r\n if (items.result === \"Success\") {\r\n this.setState({\r\n OrderList: items.data.orderList,\r\n PickupList: items.data.pickupList,\r\n ShowOrderList: true,\r\n ShowPickupList: true,\r\n showDetail: false,\r\n OrderHistoryData: [],\r\n spliteOrderwisedata: [],\r\n });\r\n // console.log(\"orderlisy::\", items.data);\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Order History\",\r\n description: items.message,\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n }\r\n );\r\n }\r\n };\r\n\r\n getfactorystatusdata = (spliteOrderId) => {\r\n this.setState({ modalLoading: true });\r\n this.OrderHistoryservice.getfactorystatusdata(spliteOrderId).then(\r\n (items) => {\r\n console.log(\"items->\", items);\r\n if (items.result === \"Success\") {\r\n this.setState({\r\n factoryData: items.data,\r\n orderHistoryPackingDetail: items.data.orderHistoryPackingDetail,\r\n orderHistoryPackingMaterial: items.data.orderHistoryPackingMaterial,\r\n postProcessData: items.data.postProcessData,\r\n deliveryData: items.data.deliveryData,\r\n paymentData: items.data.paymentData,\r\n remarksData: items.data.remarksData,\r\n processData: items.data.processData,\r\n pickupcallback: items.data.pickupCallBack,\r\n deliverycallback: items.data.deliveryCallBack,\r\n deliveryEscalationData: items.data.deliveryEscalationData,\r\n });\r\n this.setState({ modalLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Order History\",\r\n description: items.message,\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n this.setState({ modalLoading: false });\r\n }\r\n }\r\n );\r\n };\r\n\r\n callInvoicePrint = () => {\r\n var OrderID = this.state.factoryData.orderID;\r\n var SpliteOrderID = this.state.defultActivactionkey;\r\n getPDFProformaInvoice(OrderID, SpliteOrderID);\r\n };\r\n\r\n callEstimatedIncoiceprint = () => {\r\n var OrderID = this.state.factoryData.orderID;\r\n this.getPDFEstimatedOrder(OrderID);\r\n };\r\n\r\n getPDFEstimatedOrder = (orderID) => {\r\n this.OrderService.getEstimatedOrderPrintByOrderID(orderID).then(\r\n (response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data.length > 0) {\r\n window.open(response.data[0].location, \"_blank\");\r\n // window.location.reload();\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GENERATE_ESTIMATED_ORDER,\r\n });\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.ORDERS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GENERATE_ESTIMATED_ORDER,\r\n });\r\n }\r\n // window.location.reload();\r\n }\r\n );\r\n };\r\n\r\n LoadMoredata = (spliteOrderId) => {\r\n // console.log(\"spliteOrderId->\",spliteOrderId);\r\n this.setState({ modalLoading: true });\r\n this.OrderHistoryservice.getMoreData(spliteOrderId).then((items) => {\r\n console.log(\"items->\", items);\r\n if (items.result === \"Success\") {\r\n this.setState({\r\n QcStatusData: items.data,\r\n IsLoadMoreData: true,\r\n });\r\n this.setState({ modalLoading: false });\r\n } else {\r\n notification[\"error\"]({\r\n message: \"Order History\",\r\n description: items.message,\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n this.setState({ modalLoading: false });\r\n }\r\n });\r\n };\r\n\r\n renderItemForFactoryStatus = (splitOrderNumber) => {\r\n return (\r\n
\r\n
\r\n Factory Status\r\n
\r\n {this.state.factoryData != null ? (\r\n
\r\n
\r\n Store Out Date & Time : \r\n {this.state.factoryData.storeOutDatetime != null ||\r\n this.state.factoryData.storeOutDatetime != undefined ? (\r\n \r\n {\" \"}\r\n {moment(this.state.factoryData.storeOutDatetime).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {/* \r\n {this.state.factoryData.storeOutDatetime}\r\n */}\r\n
\r\n\r\n
\r\n \r\n Total Garments : {this.state.factoryData.totalGarment}\r\n \r\n {/* \r\n {this.state.factoryData.totalGarment}\r\n */}\r\n
\r\n \r\n \r\n Factory-In status\r\n \r\n\r\n
\r\n First In Date & Time : \r\n {this.state.factoryData.firstFactoryInDatetime != null ||\r\n this.state.factoryData.firstFactoryInDatetime != undefined ? (\r\n \r\n {\" \"}\r\n {moment(this.state.factoryData.firstFactoryInDatetime).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {this.state.factoryData.firstFactoryInDatetime !== null ? (\r\n \r\n {\"(\" + this.state.factoryData.factoryInByName + \")\"}\r\n \r\n ) : null}\r\n {/* \r\n {this.state.factoryData.firstFactoryInDatetime}\r\n */}\r\n
\r\n
\r\n Last In Date & Time : \r\n {this.state.factoryData.lastFactoryInDatetime != null ||\r\n this.state.factoryData.lastFactoryInDatetime != undefined ? (\r\n \r\n {\" \"}\r\n {moment(this.state.factoryData.lastFactoryInDatetime).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {this.state.factoryData.lastFactoryInDatetime !== null ? (\r\n \r\n {\"(\" + this.state.factoryData.factoryInByName + \")\"}\r\n \r\n ) : null}\r\n {/* \r\n {this.state.factoryData.lastFactoryInDatetime}\r\n */}\r\n
\r\n \r\n Processing Details\r\n {this.state.processData != null &&\r\n this.state.processData.map((e) => (\r\n
\r\n {e.processGarments +\r\n \" Garments - \" +\r\n moment(e.processTime).format(\"DD-MM-YYYY HH:mm:ss\") +\r\n \" - \" +\r\n e.processBy}\r\n
\r\n ))}\r\n \r\n\r\n Packaging Status\r\n

\r\n
\r\n ) : null}\r\n {this.state.orderHistoryPackingDetail != null &&\r\n this.state.orderHistoryPackingDetail.map((item) => (\r\n
\r\n
\r\n Sticker ID : {item.stickerID} \r\n {item.stickerID !== \"\" ? (\r\n {\"(\" + item.stickerInByName + \")\"}\r\n ) : null}\r\n {/* {item.stickerID} */}\r\n
\r\n
\r\n Packaging ID : {item.packingID}\r\n {/* {item.packingID} */}\r\n
\r\n
\r\n Packaged On :\r\n {/* {item.packedOn} */}\r\n\r\n {item.packedOn != null || item.packedOn != undefined ? (\r\n \r\n {\" \"}\r\n {moment(item.packedOn).format(\"DD-MM-YYYY HH:mm:ss\")}\r\n \r\n ) : null}\r\n
\r\n
\r\n No. of Garments : {item.noOfGarment}\r\n {/* {item.noOfGarment} */}\r\n
\r\n
\r\n Packaged Garments : {item.packedGarments}\r\n {/* {item.packedGarments} */}\r\n
\r\n
\r\n Factory Out Date & Time :\r\n {item.gatePassCreatedDateTime != null ||\r\n item.gatePassCreatedDateTime != undefined ? (\r\n \r\n {\" \"}\r\n {moment(item.gatePassCreatedDateTime).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {/* {item.gatePassCreatedDateTime} */}\r\n
\r\n
\r\n Gate Pass Number : {item.factoryGatePassNumber} \r\n {item.factoryGatePassNumber !== \"\" ? (\r\n {\"(\" + item.factoryGatepassByName + \")\"}\r\n ) : null}\r\n {/* {item.factoryGatePassNumber} */}\r\n
\r\n
\r\n Order Lot Size : {item.noOfGarment}\r\n {/* {item.noOfGarment} */}\r\n
\r\n
\r\n Previously Sent : {item.previouslySent}\r\n {/* {item.previouslySent} */}\r\n
\r\n
\r\n Sending today : {item.garmentsSent}\r\n {/* {item.garmentsSent} */}\r\n
\r\n
\r\n Pending : {item.pending}\r\n {/* {item.pending} */}\r\n
\r\n {this.state.orderHistoryPackingMaterial.map((e) => {\r\n if (item.stickerID == e.stickerID) {\r\n return (\r\n
\r\n \r\n {e.packingMaterialName} : {e.totalCounts}\r\n \r\n {/* {e.totalCounts} */}\r\n
\r\n );\r\n }\r\n })}\r\n \r\n
\r\n ))}\r\n {this.state.factoryData != null ? (\r\n
\r\n
\r\n \r\n Balance Garments : {this.state.factoryData.balancedGarments}\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 renderItemForPostProcess = () => {\r\n return (\r\n
\r\n
\r\n Post Process\r\n
\r\n {this.state.orderHistoryPackingDetail != null &&\r\n this.state.orderHistoryPackingDetail.map((data) => {\r\n return (\r\n
\r\n
\r\n Store In Date & Time : {data.stickerID}\r\n {/* {data.stickerID} */}\r\n
\r\n\r\n {this.state.postProcessData.map((e) =>\r\n data.stickerID == e.stickerID ? (\r\n
\r\n Packaging ID : {e.packingID}\r\n\r\n {e.storeInDateTime != null ||\r\n e.storeInDateTime != undefined ? (\r\n \r\n {\" \"}\r\n {moment(e.storeInDateTime).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {e.storeInDateTime !== \"\" ? (\r\n {\"(\" + e.storeInByName + \")\"}\r\n ) : null}\r\n\r\n {/* \r\n {e.packingID} {e.storeInDateTime}\r\n */}\r\n
\r\n ) : null\r\n )}\r\n \r\n
\r\n );\r\n })}\r\n {this.state.factoryData != null ? (\r\n
\r\n Partial Order : {this.state.factoryData.isPartialOrder}\r\n {/* \r\n {this.state.factoryData.isPartialOrder}\r\n */}\r\n
\r\n ) : null}\r\n \r\n {this.state.deliveryData.map((e) => (\r\n
\r\n
\r\n Delivery Details : {e.SearchType}\r\n {/* {e.SearchType} */}\r\n
\r\n
\r\n Delivery Type : {e.deliveryType}\r\n {/* {e.deliveryType} */}\r\n
\r\n
\r\n Delivery Boy : {e.deliveryBoy}\r\n {/* {e.deliveryBoy} */}\r\n
\r\n
\r\n Delivery Date : \r\n {/* {e.deliveryDate} */}\r\n {e.deliveryDate != null || e.deliveryDate != undefined ? (\r\n {moment(e.deliveryDate).format(\"DD-MM-YYYY\")}\r\n ) : null}\r\n
\r\n
\r\n No. of time Rescheduled : {e.rescheduledCount}\r\n
\r\n
\r\n Old Delivery Date : \r\n {e.oldDeliveryDate != null || e.oldDeliveryDate != undefined ? (\r\n {moment(e.oldDeliveryDate).format(\"DD-MM-YYYY\")}\r\n ) : null}\r\n
\r\n
\r\n Delivered Date : \r\n {e.deliveredDate != null || e.deliveredDate != undefined ? (\r\n {moment(e.deliveredDate).format(\"DD-MM-YYYY\")}\r\n ) : null}\r\n {/* {e.deliveredDate} */}\r\n
\r\n
\r\n ))}\r\n\r\n \r\n\r\n {this.state.deliveryEscalationData != null &&\r\n this.state.deliveryEscalationData.map((data) => {\r\n return (\r\n
\r\n
\r\n Escalation :\r\n
\r\n
\r\n 1st Delivery Escalation : \r\n {data.firstEscalatedDate != null ||\r\n data.firstEscalatedDate != undefined ? (\r\n \r\n {\" \"}\r\n {moment(data.firstEscalatedDate).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {data.firstEscalatedDate !== \"\" ? (\r\n {\"(\" + data.firstEscalatedBy + \")\"}\r\n ) : null}\r\n
\r\n
\r\n 2nd Delivery Escalation : \r\n {data.secondEscalatedDate != null ||\r\n data.secondEscalatedDate != undefined ? (\r\n \r\n {\" \"}\r\n {moment(data.secondEscalatedDate).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {data.secondEscalatedDate !== \"\" ? (\r\n {\"(\" + data.secondEscalatedBy + \")\"}\r\n ) : null}\r\n
\r\n
\r\n 3rd Delivery Escalation : \r\n {data.lastEscalatedDate != null ||\r\n data.lastEscalatedDate != undefined ? (\r\n \r\n {\" \"}\r\n {moment(data.lastEscalatedDate).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {data.lastEscalatedDate !== \"\" ? (\r\n {\"(\" + data.lastEscalatedBy + \")\"}\r\n ) : null}\r\n
\r\n \r\n
\r\n );\r\n })}\r\n\r\n {/* {this.state.pickupcallback != null ||\r\n this.state.deliverycallback != null ? ( */}\r\n
\r\n Customer Communication\r\n
\r\n {/* ) : null} */}\r\n {/* {this.state.pickupcallback != null ? (\r\n
\r\n
\r\n Pickup :\r\n
\r\n {this.state.pickupcallback.map((e) => (\r\n
\r\n Call back request :\r\n {e.createdOn != null || e.createdOn != undefined ? (\r\n \r\n {\" \"}\r\n {moment(e.createdOn).format(\"DD-MM-YYYY HH:mm:ss\")}\r\n \r\n ) : null}\r\n
\r\n ))}\r\n
\r\n ) : null} */}\r\n\r\n
\r\n Delivery call back request :\r\n
\r\n\r\n {this.state.deliverycallback != null ? (\r\n
\r\n {/*
\r\n Delivery :\r\n
\r\n
\r\n Call back request :\r\n
*/}\r\n {this.state.deliverycallback.map((e) => (\r\n
\r\n Call back request : \r\n {e.createdOn != null || e.createdOn != undefined ? (\r\n \r\n {\" \"}\r\n {moment(e.createdOn).format(\"DD-MM-YYYY HH:mm:ss\")}\r\n \r\n ) : null}\r\n
\r\n ))}\r\n
\r\n ) : null}\r\n\r\n {/* \r\n
\r\n {\" \"}\r\n OTP Verification\r\n
\r\n
\r\n \r\n {\" \"}\r\n Pickup :{\" \"}\r\n {(this.state.factoryData != null && this.state.factoryData.pickupOTPVerifiedDate !=null)&&\r\n this.state.OrderHistoryData.mobileNo +\r\n \" - \" +\r\n moment(this.state.factoryData.pickupOTPVerifiedDate).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n
\r\n
\r\n \r\n {\" \"}\r\n Delivery :{\" \"}\r\n {(this.state.factoryData != null && this.state.factoryData.deliveryOTPVerifiedDate != null) &&\r\n this.state.OrderHistoryData.mobileNo +\r\n \" - \" +\r\n moment(this.state.factoryData.deliveryOTPVerifiedDate).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n
*/}\r\n
\r\n );\r\n };\r\n\r\n renderItemForPaymentStatus = () => {\r\n return (\r\n
\r\n
\r\n Payment Status\r\n
\r\n {this.state.factoryData != null ? (\r\n
\r\n
\r\n \r\n Split Order Status : {this.state.factoryData.splitOrderStatus}\r\n \r\n {/* \r\n {this.state.factoryData.splitOrderStatus}\r\n */}\r\n
\r\n
\r\n \r\n Estimated Amount :{\" \"}\r\n {this.state.factoryData.estimatedInvoiceAmount}\r\n \r\n {/* \r\n {this.state.factoryData.estimatedInvoiceAmount}\r\n */}\r\n
\r\n
\r\n ) : null}\r\n\r\n {this.state.paymentData.map((e) => (\r\n
\r\n
\r\n PI Amount : {e.piAmount}\r\n {/* {e.piAmount} */}\r\n
\r\n
\r\n Invoice Amount : {e.invoiceAmount}\r\n {/* {e.invoiceAmount} */}\r\n
\r\n \r\n Payment Details\r\n
\r\n Invoice Status : {e.invoiceStatus}\r\n {/* {e.invoiceStatus} */}\r\n
\r\n
\r\n Invoice Number : {e.invoiceNumber}\r\n {/* {e.invoiceNumber} */}\r\n
\r\n
\r\n Invoice Date :\r\n {e.invoiceDate != null || e.invoiceDate != undefined ? (\r\n \r\n {\" \"}\r\n {moment(e.invoiceDate).format(\"DD-MM-YYYY HH:mm:ss\")}\r\n \r\n ) : null}\r\n {/* {e.invoiceDate} */}\r\n
\r\n
\r\n \r\n Invoice Amount : {e.invoiceAmount} ({e.userName})\r\n \r\n {/* {e.invoiceAmount} */}\r\n
\r\n
\r\n Cash : {e.cash}\r\n {/* {e.cash} */}\r\n
\r\n
\r\n LK Wallet : {e.lkWallet}\r\n {/* {e.lkWallet} */}\r\n
\r\n
\r\n LK Bonus : {e.lkBonus}\r\n {/* {e.lkBonus} */}\r\n
\r\n
\r\n Paytm EDC/QR/PG : {e.paytm}\r\n {/* {e.paytm} */}\r\n
\r\n
\r\n Transaction No : {e.transactionNo}\r\n {/* {e.transactionNo} */}\r\n
\r\n
\r\n Transaction Date & Time :\r\n {e.transactionDate != null || e.transactionDate != undefined ? (\r\n \r\n {\" \"}\r\n {moment(e.transactionDate).format(\"DD-MM-YYYY HH:mm:ss\")}\r\n \r\n ) : null}\r\n {/* {e.transactionDate} */}\r\n
\r\n\r\n
\r\n View : \r\n this.callInvoicePrint()}\r\n >\r\n PI\r\n \r\n
\r\n\r\n
\r\n View : \r\n this.callInvoicePrint()}\r\n >\r\n Tax Invoice\r\n \r\n
\r\n
\r\n ))}\r\n\r\n
\r\n View : \r\n this.callEstimatedIncoiceprint()}\r\n >\r\n Estimated Invoice\r\n \r\n
\r\n\r\n \r\n Remarks\r\n\r\n {this.state.remarksData.map((e) => (\r\n
\r\n
\r\n Customer Remarks : {e.customerRemark}\r\n {/* {e.customerRemark} */}\r\n
\r\n
\r\n Pickup Boy Remarks : {e.pickupBoyRemark}\r\n {/* {e.pickupBoyRemark} */}\r\n
\r\n
\r\n Logistics Remarks : {e.logisticsRemarks}\r\n {/* {e.logisticsRemarks} */}\r\n
\r\n
\r\n \r\n Operational Instructions : {e.operationalInstructions}\r\n \r\n {/* {e.operationalInstructions} */}\r\n
\r\n
\r\n ))}\r\n {this.state.paymentData.map((e) => (\r\n
\r\n Update Proforma Invoice : {e.updateProformaInvoice}\r\n {/* {e.updateProformaInvoice} */}\r\n
\r\n ))}\r\n {this.state.remarksData.map((e) => (\r\n
\r\n
\r\n PI Remark Updated By : {e.piRemarkUpdatedBy}\r\n
\r\n
\r\n Invoice Remark : {e.invoiceRemark}\r\n
\r\n
\r\n \r\n Invoice Remark Updated By : {e.invoiceRemarkUpdatedBy}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n // resetFields=()=>{\r\n // this.setState({\r\n // SearchType:'',\r\n // orderId:''\r\n // })\r\n // }\r\n\r\n render() {\r\n const { SearchType, orderId } = this.state;\r\n return (\r\n
\r\n {\r\n this.handlePopupAdd(SearchType, orderId);\r\n }}\r\n initialValues={{ SearchType, orderId }}\r\n >\r\n \r\n \r\n \r\n {\r\n this.formRef.current.setFieldsValue({ orderId: undefined });\r\n this.setState({\r\n SearchType: value,\r\n orderId: \"\",\r\n OrderHistoryData: [],\r\n spliteOrderwisedata: [],\r\n showDetail: false,\r\n ShowOrderList: false,\r\n ShowPickupList: false,\r\n });\r\n }}\r\n >\r\n {this.state.pickerData.map((x) => {\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 let val = e.target.value;\r\n this.setState({\r\n orderId: 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 {this.state.ShowOrderList ? OrderID: : null}\r\n {this.state.ShowOrderList &&\r\n this.state.OrderList != null &&\r\n this.state.OrderList != undefined &&\r\n this.state.OrderList.length > 0\r\n ? this.state.OrderList.map((e) => {\r\n return (\r\n //
\r\n {\r\n // console.log(\"Id->\",event)\r\n // this.setState({ SearchType: 1 });\r\n this.handlePopupAdd(1, e.orderID);\r\n }}\r\n >\r\n {e.orderID}\r\n \r\n //
\r\n );\r\n })\r\n : null}\r\n
\r\n {this.state.ShowPickupList ? PickupID: : null}\r\n {this.state.ShowPickupList &&\r\n this.state.PickupList != null &&\r\n this.state.PickupList != undefined &&\r\n this.state.PickupList.length > 0\r\n ? this.state.PickupList.map((e) => {\r\n return (\r\n //
\r\n {\r\n // console.log(\"Id->\",event)\r\n // this.setState({ SearchType: 1 });\r\n this.handlePopupAdd(2, e.pickupID);\r\n }}\r\n >\r\n {e.pickupID}\r\n \r\n //
\r\n );\r\n })\r\n : null}\r\n {this.state.showDetail ? (\r\n \r\n \r\n
\r\n Customer Detail\r\n

\r\n
\r\n
\r\n \r\n {\" \"}\r\n Customer Name : {\r\n this.state.OrderHistoryData.customerName\r\n }{\" \"}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.customerName}\r\n */}\r\n
\r\n
\r\n Mobile No : {this.state.OrderHistoryData.mobileNo} \r\n {/* \r\n {\" \"}\r\n {this.state.OrderHistoryData.mobileNo}\r\n */}\r\n
\r\n
\r\n {this.state.OrderHistoryData.emailID == \"\" ? (\r\n E-mail ID : NA\r\n ) : (\r\n \r\n E-mail ID : {this.state.OrderHistoryData.emailID}{\" \"}\r\n \r\n )}\r\n
\r\n
\r\n \r\n {\" \"}\r\n Customer Type : {\r\n this.state.OrderHistoryData.customerType\r\n }{\" \"}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.customerType}\r\n */}\r\n
\r\n
\r\n \r\n {\" \"}\r\n Customer Order Count :{\" \"}\r\n {this.state.OrderHistoryData.orderCount}{\" \"}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.orderCount}\r\n */}\r\n
\r\n
\r\n \r\n {\" \"}\r\n Wallet Cash : {this.state.OrderHistoryData.lkCashBlcAmt}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.lkCashBlcAmt}\r\n */}\r\n
\r\n
\r\n \r\n Wallet Bonus : {this.state.OrderHistoryData.lkCreditBlcAmt}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.lkCreditBlcAmt}\r\n */}\r\n
\r\n
\r\n Last Order Date : \r\n {this.state.OrderHistoryData.lastOrderDate != null ||\r\n this.state.OrderHistoryData.lastOrderDate != undefined ? (\r\n \r\n {\" \"}\r\n {moment(\r\n this.state.OrderHistoryData.lastOrderDate.split(\" \")[0]\r\n ).format(\"DD-MM-YYYY\")}\r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n LTV : {this.state.OrderHistoryData.totalTaxInvoice}/\r\n {this.state.OrderHistoryData.totalOrder} - Avg. Order Value :{\" \"}\r\n {this.state.OrderHistoryData.avgOrderValue}\r\n \r\n
\r\n
\r\n \r\n
\r\n Order Detail\r\n
\r\n
\r\n \r\n Store Name : {this.state.OrderHistoryData.storeName}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.storeName}\r\n */}\r\n
\r\n
\r\n \r\n Pickup Placed Platform :{\" \"}\r\n {this.state.OrderHistoryData.pickupSourceFrom}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.pickupSourceFrom}\r\n */}\r\n
\r\n
\r\n Pick ID : {this.state.OrderHistoryData.pickupID}\r\n {/* \r\n {this.state.OrderHistoryData.pickupID}\r\n */}\r\n
\r\n
\r\n \r\n Pickup Boy : {this.state.OrderHistoryData.pickupBoy}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.pickupBoy}\r\n */}\r\n
\r\n
\r\n Pickup Request Created Date & Time : \r\n {this.state.OrderHistoryData.pickupCreatedOn != null ||\r\n this.state.OrderHistoryData.pickupCreatedOn != undefined ? (\r\n \r\n {moment(this.state.OrderHistoryData.pickupCreatedOn).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n\r\n {/* \r\n {this.state.OrderHistoryData.pickupCreatedOn}\r\n */}\r\n
\r\n
\r\n Pickup Date :\r\n {this.state.OrderHistoryData.pickupDate != null ||\r\n this.state.OrderHistoryData.pickupDate != undefined ? (\r\n \r\n {moment(\r\n this.state.OrderHistoryData.pickupDate.split(\" \")[0]\r\n ).format(\"DD-MM-YYYY\")}\r\n \r\n ) : null}\r\n {/* \r\n {this.state.OrderHistoryData.pickupDate}\r\n */}\r\n
\r\n
\r\n \r\n Pickup Time Slot :{\" \"}\r\n {this.state.OrderHistoryData.pickupSlotName}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.pickupSlotName}\r\n */}\r\n
\r\n
\r\n Pickup call back request : \r\n {this.state.OrderHistoryData.pickUpcallbackDate != null ||\r\n this.state.OrderHistoryData.pickUpcallbackDate != undefined ? (\r\n \r\n {moment(\r\n this.state.OrderHistoryData.pickUpcallbackDate\r\n ).format(\"DD-MM-YYYY HH:mm:ss\")}\r\n \r\n ) : null}\r\n
\r\n
\r\n Order Created Date & Time : \r\n {this.state.OrderHistoryData.orderCreatedOn != null ||\r\n this.state.OrderHistoryData.orderCreatedOn != undefined ? (\r\n \r\n {moment(this.state.OrderHistoryData.orderCreatedOn).format(\r\n \"DD-MM-YYYY HH:mm:ss\"\r\n )}\r\n \r\n ) : null}\r\n {/* \r\n {this.state.OrderHistoryData.orderCreatedOn}\r\n */}\r\n
\r\n
\r\n \r\n Order Created By :{\" \"}\r\n {this.state.OrderHistoryData.ordercreatedBy}{\" \"}\r\n \r\n
\r\n
\r\n \r\n Count of Pickup Rescheduled :{\" \"}\r\n {this.state.OrderHistoryData.rescheduleCount}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.rescheduleCount}\r\n */}\r\n
\r\n
\r\n \r\n Promo Code : {this.state.OrderHistoryData.promocode}\r\n \r\n {/* \r\n {this.state.OrderHistoryData.promocode}\r\n */}\r\n
\r\n \r\n \r\n ) : null}\r\n\r\n \r\n
\r\n {\r\n this.setState({\r\n defultActivactionkey: key,\r\n });\r\n this.getfactorystatusdata(key);\r\n }}\r\n >\r\n {this.state.spliteOrderwisedata.map((i) => (\r\n \r\n \r\n
\r\n {this.renderItemForFactoryStatus(i.splitOrderNumber)}\r\n
\r\n
\r\n {this.renderItemForPostProcess()}\r\n
\r\n
\r\n {this.renderItemForPaymentStatus()}\r\n
\r\n
\r\n \r\n ))}\r\n \r\n \r\n
\r\n {\r\n this.setState({\r\n IsLoadMoreData: false,\r\n });\r\n }}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\r\n {this.state.factoryData != null && this.state.QcStatusData != null ? (\r\n
\r\n Factory-In status\r\n
\r\n \r\n No. of Garments factory-in :{\" \"}\r\n {this.state.QcStatusData.noOfFactoryInGarments}\r\n \r\n
\r\n
\r\n \r\n Missing Garments : {this.state.QcStatusData.missingGarments}\r\n \r\n
\r\n \r\n QC status\r\n
\r\n \r\n Pending in QC :{\" \"}\r\n {this.state.QcStatusData.garmentPendingInPreQC}\r\n \r\n
\r\n
\r\n \r\n Pre - QC-Rejected :{\" \"}\r\n {this.state.QcStatusData.garmentRejectedInPreQC}\r\n \r\n
\r\n
\r\n \r\n Post - QC-Rejected :{\" \"}\r\n {this.state.QcStatusData.garmentRejectedInPostQC}{\" \"}\r\n \r\n
\r\n
\r\n Missed : {this.state.QcStatusData.missed} \r\n
\r\n
\r\n Damage : {this.state.QcStatusData.damage} \r\n
\r\n
\r\n ) : null}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react'\r\nimport OrderHistory from '../../../components/StoreModule/OrderHistory/orderhistory.component'\r\n\r\nexport default class StoreOrderhistoryscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class LkCustomBulkNotificationService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getcustomebulknotificationdata(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_BULK_NOTIFICATION_MASTER });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_BULK_NOTIFICATION_MASTER]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getcustomebulknotificationdata(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async uploadFile(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.UPLOAD_BULK_PUSH_NOTIFICATION });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.UPLOAD_BULK_PUSH_NOTIFICATION]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.uploadFile(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getReport(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n\r\n myApi.createEntity({\r\n name: this.endpoint.GET_BULK_PUSH_NOTIFICATION_FILE_REPORT,\r\n });\r\n let itemArray = [];\r\n let shouldWait = false;\r\n await myApi.endpoints[this.endpoint.GET_BULK_PUSH_NOTIFICATION_FILE_REPORT]\r\n .getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getReport(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport Button from \"../../../components/Common/Button/button\";\r\nimport styles from \"../../LKWallet/EmployeeCredit/lkemployeecredit.module.css\";\r\nimport TableActions from \"../../../components/Common/TableActions/tableactions\";\r\nimport moment from \"moment\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Spin,\r\n // Popconfirm,\r\n Table,\r\n Modal,\r\n // Checkbox,\r\n notification,\r\n // DatePicker,\r\n Upload,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { \r\n faDownload,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport LkCustomBulkNotificationService from \"../../../services/lkcustombulknotificationservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Common from \"../../../services/common\";\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class custombulknotification extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.custombulknotificationservice = new LkCustomBulkNotificationService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.common = new Common();\r\n this.state = {\r\n modalLoading: false,\r\n excelFile: ,\r\n\r\n lkCustomBulkNotificationItems: [],\r\n bulkPushFileID: 0,\r\n exectionDate:\"\",\r\n fileName: \"\",\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n isEnabled: false,\r\n isVisible: false,\r\n loading: true,\r\n showfilterBox: false,\r\n showAddPopup: false,\r\n\r\n uploading: false,\r\n fileList: [],\r\n binaryFile: \"\",\r\n currentURL: \"\",\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.CUSTOM_BULK_NOTIFICATION_UPLOAD\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.FILE_NAME,\r\n dataIndex: \"fileName\",\r\n key: \"fileName\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.DATE_TIME_FOR_EXECUTION,\r\n dataIndex: \"exectionDate\",\r\n key: \"exectionDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n {\r\n title: labels.TOTAL_RECORDS,\r\n dataIndex: \"totalCnt\",\r\n key: \"totalCnt\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_BY,\r\n dataIndex: \"createdByName\",\r\n key: \"createdByName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.UPLOADED_ON,\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \"\"].includes(text)\r\n ? \"\"\r\n : moment(text).format(\"DD-MM-YYYY hh:mm:ss a\");\r\n },\r\n },\r\n {\r\n title: labels.SUCCEEDED,\r\n dataIndex: \"succeeded\",\r\n key: \"succeeded\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.bulkPushFileID, true)}\r\n type=\"link\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: labels.FAILED,\r\n dataIndex: \"failed\",\r\n key: \"failed\",\r\n sorter: true,\r\n render: (text, record, index) => {\r\n return (\r\n \r\n {text}\r\n \r\n this.getReport(record.bulkPushFileID, false)}\r\n type=\"link\"\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 const { pagination } = this.state;\r\n this.fetchItems({\r\n bulkPushFileID: this.state.bulkPushFileID,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n bulkPushFileID: this.state.bulkPushFileID,\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n getReport = (id, type) => {\r\n this.custombulknotificationservice\r\n .getReport({\r\n bulkPushFileID: parseInt(id),\r\n isSucceeded: type,\r\n })\r\n .then((response) => {\r\n this.setState(\r\n {\r\n excelFile: (\r\n
\r\n \r\n \r\n \r\n \r\n \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({ excelFile: })\r\n );\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n bulkPushFileID: 0,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n // ...filters,\r\n });\r\n };\r\n\r\n handlePopupOk = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n this.resetFields();\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.custombulknotificationservice\r\n .getcustomebulknotificationdata(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n bulkPushFileID: 0,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n lkCustomBulkNotificationItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total:\r\n items.length !== 0 && items.data.length !== 0\r\n ? items.data[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.CUSTOMER_BULK_CREDIT,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_CUSTOM_BULK_NOTIFICATION_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleUpload = (values) => {\r\n this.setState({ modalLoading: true });\r\n let postData = new FormData();\r\n postData.append(\"CustomerBulkNotiFile\", values.file[0].originFileObj);\r\n this.custombulknotificationservice.uploadFile(postData).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.CUSTOMER_BULK_CREDIT,\r\n description: this.common.Message(response.message),\r\n });\r\n this.fetchItems({\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n ...this.state.pagination,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.CUSTOMER_BULK_CREDIT,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_UPLOAD_THE_FILE,\r\n });\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handleBonusAmount = (e) => {\r\n this.setState({ bonusAmount: e.target.value });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleRemark = (e) => {\r\n this.setState({ remark: e.target.value });\r\n };\r\n\r\n resetFields = () => {\r\n this.setState({\r\n bulkPushFileID: 0,\r\n fileName: \"\",\r\n exectionDate:\"\",\r\n totalCnt: \"\",\r\n succeeded: \"\",\r\n failed: \"\",\r\n isEnabled: false,\r\n isVisible: false,\r\n });\r\n };\r\n \r\n\r\n render() {\r\n const {\r\n fileName,\r\n exectionDate,\r\n totalCnt,\r\n succeeded,\r\n failed,\r\n pagination,\r\n loading,\r\n remark,\r\n } = this.state;\r\n const lkCustomBulkNotificationItems = this.state.lkCustomBulkNotificationItems;\r\n let RegexInteger = /^[1-9]+[0-9]*$/g;\r\n const listItems = lkCustomBulkNotificationItems.map((item, index) => ({\r\n key: item.bulkPushFileID,\r\n bulkPushFileID: item.bulkPushFileID,\r\n exectionDate:item.exectionDate,\r\n fileName: item.fileName,\r\n totalCnt: item.totalCnt,\r\n succeeded: item.succeeded,\r\n failed: item.failed,\r\n totalRecords: item.totalRecords,\r\n createdBy: item.createdBy,\r\n createdByName: item.createdByName,\r\n createdOn: item.createdOn,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n ,\r\n \r\n {labels.DOWNLOAD_FORMAT}\r\n ,\r\n this.state.userRights.length > 0 &&\r\n this.state.userRights[0].isAdd == true ? (\r\n this.setState({ showAddPopup: true })}\r\n key=\"2\"\r\n >\r\n {labels.UPLOAD_FILE}\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 if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.fileList;\r\n }}\r\n >\r\n {\r\n setTimeout(() => {\r\n onSuccess(\"ok\");\r\n }, 0);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.isVisible ? (\r\n <>\r\n \r\n {labels.CANCEL}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {labels.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","import React from 'react';\r\nimport CustomBulkNotification from '../../../components/LKWallet/CustomBulkNotification/custombulknotification.comonent';\r\n\r\nexport default class customebulknotificationscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class Storeinpendingservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getstoreinpendingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n selectedBranch,\r\n orderFromDate,\r\n orderToDate,\r\n showZeroDayDelay,\r\n showOneDayDelay\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_STORE_IN_PENDING_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_STORE_IN_PENDING_LIST]\r\n .getAllPost({\r\n storeIDs: [null, undefined, \"\"].includes(selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : selectedBranch,\r\n orderFromDate: orderFromDate,\r\n orderToDate: orderToDate,\r\n showZeroDayDelay:showZeroDayDelay,\r\n showOneDayDelay:showOneDayDelay,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getstoreinpendingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Checkbox,\r\n Row,\r\n Col,\r\n Form,\r\n DatePicker,\r\n Typography\r\n} from \"antd\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Storeinpendingservice from \"../../../services/storeinpendingservice\";\r\nimport moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\nconst { Text } = Typography;\r\n\r\nexport default class Master extends React.Component {\r\n storeInPendingService = new Storeinpendingservice();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n state = {\r\n showZeroDayDelay: 0,\r\n showOneDayDelay: 0,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showfilterBox: true,\r\n orderFromDate: moment(ONE_MONTHS_AGO),\r\n orderToDate: moment(),\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.STORE_IN_PENDING\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER_ID,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.STICKER_ID,\r\n dataIndex: \"stickerId\",\r\n key: \"stickerId\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.PACKAGING_ID,\r\n dataIndex: \"packagingIds\",\r\n key: \"packagingIds\",\r\n sorter: true,\r\n width: \"8%\",\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n render: (text) => (\r\n \r\n {text}\r\n \r\n ),\r\n },\r\n\r\n {\r\n title: labels.GATEPASSNUMBER,\r\n dataIndex: \"gatePassNumber\",\r\n key: \"gatePassNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_CODE,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PACKED_ON_DATE,\r\n dataIndex: \"packedDate\",\r\n key: \"packedDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: labels.FACTORY_OUT_DATE,\r\n dataIndex: \"factoryOutDateTime\",\r\n key: \"factoryOutDateTime\",\r\n sorter: true,\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY HH:mm:ss\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: labels.TOTAL_GARMENTS,\r\n dataIndex: \"noofGarment\",\r\n key: \"noofGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.PACKED_GARMENTS,\r\n dataIndex: \"packedGarments\",\r\n key: \"packedGarments\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.SPLIT_ORDER_STATUS,\r\n dataIndex: \"splitOrderStatus\",\r\n key: \"splitOrderStatus\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.DELAY_DAYS,\r\n dataIndex: \"delay\",\r\n key: \"delay\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getstoreinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n\r\n getstoreinpendingList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.storeInPendingService\r\n .getstoreinpendingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch,\r\n moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n this.state.showZeroDayDelay,\r\n this.state.showOneDayDelay\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n {\r\n pagination: { ...this.state.pagination, current: 1 },\r\n tableLoading: false,\r\n },\r\n () => {\r\n this.getstoreinpendingList(\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n }\r\n );\r\n }\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n // singleData.key = singleData.splitOrderNumber;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.STORE_IN_PENDING,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_STORE_IN_PENDING,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleChangeBranch = () => {\r\n this.getstoreinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n render() {\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n return (\r\n
\r\n \r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getstoreinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n\r\n \r\n \r\n this.getstoreinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n )\r\n }\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n {\r\n if (e.target.checked) {\r\n this.setState(\r\n {\r\n showZeroDayDelay: 1,\r\n }, \r\n );\r\n } else {\r\n this.setState(\r\n {\r\n showZeroDayDelay: 0,\r\n },\r\n );\r\n }\r\n }}\r\n >\r\n 0D\r\n \r\n \r\n \r\n {\r\n if (e.target.checked) {\r\n this.setState(\r\n {\r\n showOneDayDelay: 1,\r\n },\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n showOneDayDelay: 0,\r\n },\r\n );\r\n }\r\n }}\r\n >\r\n 1D\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n 6 && this.columns.length <= 12\r\n ? { x: 1400 }\r\n : { x: 2000 }\r\n }\r\n columns={this.columns}\r\n dataSource={this.state.factories}\r\n loading={this.state.tableLoading}\r\n pagination={this.state.pagination}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getstoreinpendingList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react'\r\nimport StoreInPending from \"../../../components/StoreModule/StorInPending/storeinpending.store.component\"\r\nexport default class StoreInPendingscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class FactoryInPendingService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getfactoryinpendingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n selectedBranch,\r\n selectedstoreBranch,\r\n orderFromDate,\r\n orderToDate,\r\n showZeroDayDelay,\r\n showOneDayDelay\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_FACTORY_IN_PENDING_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_FACTORY_IN_PENDING_LIST]\r\n .getAllPost({\r\n factoryIDs: [null, undefined, \"\"].includes(selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : selectedBranch,\r\n storeIDs:selectedstoreBranch,\r\n orderFromDate:orderFromDate,\r\n orderToDate:orderToDate,\r\n ShowZeroDayDelay:showZeroDayDelay,\r\n ShowOneDayDelay:showOneDayDelay,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getfactoryinpendingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Checkbox,\r\n Row,\r\n Col,\r\n Form,\r\n DatePicker,\r\n Typography,\r\n} from \"antd\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TransferInService from \"../../../services/factorytransferinservice\";\r\nimport FactoryInPendingService from \"../../../services/factoryinpendingservice\";\r\nimport moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\nconst { Text } = Typography;\r\n\r\nexport default class Master extends React.Component {\r\n TransferInService = new TransferInService();\r\n factoryInPendingService = new FactoryInPendingService();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n state = {\r\n showZeroDayDelay: 0,\r\n showOneDayDelay: 0,\r\n factories: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n storeListOptions: [],\r\n showfilterBox: true,\r\n orderFromDate: moment(ONE_MONTHS_AGO),\r\n orderToDate: moment(),\r\n selectedStore: \"\",\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FACTORY_IN_PENDING\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER_ID,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_CODE,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_OUT_DATE,\r\n dataIndex: \"gatePassDate\",\r\n key: \"gatePassDate\",\r\n sorter: true,\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n // {\r\n // title: labels.TAG_NO_PENDING,\r\n // dataIndex: \"tagNos\",\r\n // key: \"tagNos\",\r\n // sorter: true,\r\n // width: \"10%\",\r\n // ellipsis: {\r\n // showTitle: false,\r\n // },\r\n // render: (text) => (\r\n // \r\n // {text}\r\n // \r\n // ),\r\n // },\r\n\r\n {\r\n title: labels.TOTAL_GARMENTS,\r\n dataIndex: \"noofGarment\",\r\n key: \"noofGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.FACTORY_IN_GARMENTS,\r\n dataIndex: \"noofgarmentsFactoryIn\",\r\n key: \"noofgarmentsFactoryIn\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.PENDING_FACTORY_IN,\r\n dataIndex: \"noofgarmentsMissing\",\r\n key: \"noofgarmentsMissing\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.DELAY_DAYS,\r\n dataIndex: \"delay\",\r\n key: \"delay\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getStoreList();\r\n this.getfactoryinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n\r\n getStoreList = () => {\r\n this.TransferInService.retrieveStoreList().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ storeListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_STORE_DATA,\r\n });\r\n }\r\n });\r\n };\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n getfactoryinpendingList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.factoryInPendingService\r\n .getfactoryinpendingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch,\r\n this.state.selectedStore,\r\n moment(this.state.orderFromDate).format(\"YYYY-MM-DD\"),\r\n moment(this.state.orderToDate).format(\"YYYY-MM-DD\"),\r\n this.state.showZeroDayDelay,\r\n this.state.showOneDayDelay\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n {\r\n pagination: { ...this.state.pagination, current: 1 },\r\n tableLoading: false,\r\n },\r\n () => {\r\n this.getfactoryinpendingList(\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n }\r\n );\r\n }\r\n let factoryData = [];\r\n response.data.map((singleData) => {\r\n // singleData.key = singleData.splitOrderNumber;\r\n factoryData.push(singleData);\r\n return null;\r\n });\r\n // console.log(\"factoryData->\",factoryData);\r\n this.setState({ factories: factoryData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: factoryData.length ? factoryData[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.FACTORY_IN_PENDING,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_FACTORY_IN_PENDING,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleChangeBranch = () => {\r\n this.getfactoryinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n };\r\n\r\n handleshowDelayRecord =()=>{\r\n this.getfactoryinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n render() {\r\n const factoryBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Factory\"\r\n )\r\n : [];\r\n const allfactoryBranchArray = factoryBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n const allStoreArray = this.state.storeListOptions\r\n .map((store) => {\r\n return store.value;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n return (\r\n
\r\n \r\n {\r\n this.setState(\r\n {\r\n selectedStore: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n this.state.selectedStore === \"\"\r\n ? []\r\n : this.state.selectedStore.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {this.state.storeListOptions.length !== 0\r\n ? this.state.storeListOptions.map((branchType) => {\r\n return branchType.value !== \"-1\" ? (\r\n \r\n {branchType.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n value === allStoreArray[index])\r\n }\r\n onChange={(e) => {\r\n if (e.target.checked) {\r\n let allOpt = this.state.storeListOptions\r\n .map((branchType) => {\r\n return branchType.value;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedStore: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedStore !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedStore: \"\",\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n\r\n
\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_FACTORY}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {factoryBranchTypes.length !== 0\r\n ? factoryBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = factoryBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getfactoryinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.getfactoryinpendingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n )\r\n }\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n {\r\n if (e.target.checked) {\r\n this.setState(\r\n {\r\n showZeroDayDelay: 1,\r\n }, \r\n );\r\n } else {\r\n this.setState(\r\n {\r\n showZeroDayDelay: 0,\r\n },\r\n );\r\n }\r\n }}\r\n >\r\n 0D\r\n \r\n \r\n \r\n {\r\n if (e.target.checked) {\r\n this.setState(\r\n {\r\n showOneDayDelay: 1,\r\n },\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n showOneDayDelay: 0,\r\n },\r\n );\r\n }\r\n }}\r\n >\r\n 1D\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n 6 && this.columns.length <= 12\r\n // ? { x: 1400 }\r\n // : { x: 2000 }\r\n // }\r\n scroll={{ x: \"max-content\" }}\r\n columns={this.columns}\r\n dataSource={this.state.factories}\r\n loading={this.state.tableLoading}\r\n pagination={this.state.pagination}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getfactoryinpendingList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport FactoryInPending from \"../../../components/FactoryModule/FactoryInPending/factoryinpending.factory.component\"\r\nexport default class Factoryinpendingscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class GarmentProcessingService {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getGarmentProcessingDetail(TagNumber, FactoryID) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_FACTORY_GARMENT_PROCESS_DETAIL,\r\n });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_FACTORY_GARMENT_PROCESS_DETAIL]\r\n .getAllPost({\r\n TagNumber,\r\n FactoryID,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getGarmentProcessingDetail(TagNumber, FactoryID);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async FactorySetProcessGarment(params) {\r\n const gatePassApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n gatePassApi.createEntity({\r\n name: this.endpoint.FACTORY_SET_PROCESS_GARMENT,\r\n });\r\n let itemArray = [];\r\n await gatePassApi.endpoints[this.endpoint.FACTORY_SET_PROCESS_GARMENT]\r\n .getAllPost(params)\r\n .then((response) => {\r\n itemArray = response.data})\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.FactorySetProcessGarment(params);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Form,\r\n Select,\r\n PageHeader,\r\n // TimePicker,\r\n Input,\r\n // DatePicker,\r\n Space,\r\n notification,\r\n // Radio,\r\n Descriptions,\r\n Upload,\r\n Collapse,\r\n} from \"antd\";\r\nimport { BarcodeOutlined } from \"@ant-design/icons\";\r\nimport Common from \"../../../services/common\";\r\nimport GarmentProcessingService from \"../../../services/garmentprocessingservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Button from \"../../Common/Button/button\";\r\nvar jwt = require(\"jsonwebtoken\");\r\n\r\nexport default class GarmentProcessing extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.garmentprocessdetailservice = new GarmentProcessingService();\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.commonReq = new Common();\r\n this.state = {\r\n stickerLoaded: false,\r\n tagNumber: \"\",\r\n garmentData: {},\r\n garmentCount: \"\",\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.GARMENT_PROCESSING\r\n );\r\n\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n GetTagNumberInfo = () => {\r\n if (this.state.tagNumber != \"\") {\r\n var TagNumber = this.state.tagNumber;\r\n var FactoryID = parseInt(localStorage.getItem(\"branchID\"));\r\n this.garmentprocessdetailservice\r\n .getGarmentProcessingDetail(TagNumber, FactoryID)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n garmentData: items.data,\r\n stickerLoaded: true,\r\n garmentCount: \"\",\r\n });\r\n if (items.data != null && items.data != undefined) {\r\n if (\r\n items.data.orderType == 2 &&\r\n items.data.rewashReason != undefined\r\n ) {\r\n notification[\"info\"]({\r\n message: \"Rewash Order – Pls check carefully\",\r\n description: items.data.rewashReason,\r\n });\r\n }\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.GARMENT_PROCESSING,\r\n description: labels.UNABLE_TO_GET_TAG_DATA,\r\n });\r\n this.setState({\r\n stickerLoaded: false,\r\n tagNumber: \"\",\r\n garmentCount: \"\",\r\n });\r\n }\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.GARMENT_PROCESSING,\r\n description: labels.PLEASE_ENTER_TAG_NO,\r\n });\r\n }\r\n };\r\n\r\n onChange = (e) => {\r\n this.setState({ tagNumber: e.target.value });\r\n };\r\n\r\n onChangeofgarment = (e) => {\r\n this.setState({ garmentCount: e.target.value });\r\n };\r\n\r\n FactorySetProcessGarment = () => {\r\n var userId = jwt.decode(\r\n JSON.parse(localStorage.getItem(\"currentuser\")).token\r\n ).unique_name;\r\n\r\n if (this.state.garmentCount != \"\") {\r\n const params = {\r\n SplitOrderNumber: this.state.garmentData.splitOrderNumber,\r\n UserID: parseInt(userId),\r\n ProcessGarments: parseInt(this.state.garmentCount),\r\n };\r\n\r\n this.garmentprocessdetailservice\r\n .FactorySetProcessGarment(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n notification[\"info\"]({\r\n message: labels.GARMENT_PROCESSING,\r\n description: items.message,\r\n });\r\n this.setState({\r\n garmentData: {},\r\n stickerLoaded: false,\r\n garmentCount: \"\",\r\n tagNumber: \"\",\r\n });\r\n\r\n // this.GetTagNumberInfo();\r\n } else {\r\n this.setState({ garmentCount: \"\" });\r\n notification[\"error\"]({\r\n message: labels.GARMENT_PROCESSING,\r\n description: items.message,\r\n });\r\n }\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.GARMENT_PROCESSING,\r\n description: labels.PLEASE_ENTER_GARMENT,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { garmentData, tagNumber, garmentCount } = 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 {this.state.stickerLoaded ? (\r\n \r\n \r\n \r\n {garmentData.storeName}\r\n \r\n \r\n {garmentData.noofGarment +\r\n \"/\" +\r\n garmentData.factoryInGarments}\r\n \r\n \r\n {garmentData.deliveryType}\r\n \r\n \r\n {garmentData.factoryInTime}\r\n \r\n \r\n {garmentData.noofProcessgarments}\r\n \r\n \r\n {garmentData.lastProcessTime}\r\n \r\n \r\n {garmentData.orderType == 1 ? \"Normal\" : \"Rewash\"}\r\n \r\n \r\n {garmentData.rewashReason}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {labels.SUBMIT}\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst styles = {\r\n Rewashorder: {\r\n background: \"#e35b5b\",\r\n color: \"white\",\r\n },\r\n};\r\n","import React from 'react';\r\nimport GarmentProcessing from '../../../components/FactoryModule/Processing/garmentprocessing.factory.component';\r\n\r\nexport default class GarmentProcessingscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class processinglistservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getprocessingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n selectedBranch,\r\n selectedstoreBranch\r\n ) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PROCESS_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints[this.endpoint.GET_PROCESS_LIST]\r\n .getAllPost({\r\n factoryIDs: [null, undefined, \"\"].includes(selectedBranch)\r\n ? localStorage.getItem(\"branchID\")\r\n : selectedBranch,\r\n storeIDs:selectedstoreBranch,\r\n pageIndex: index,\r\n pageSize: size,\r\n sortColumn: sortColumn,\r\n sortOrder: sortOrder,\r\n commonSearch: search,\r\n })\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getprocessingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n notification,\r\n Tooltip,\r\n Checkbox,\r\n} from \"antd\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport TransferInService from \"../../../services/factorytransferinservice\";\r\nimport Processinglistservice from \"../../../services/processinglistservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport moment from \"moment\";\r\nconst { Search } = Input;\r\nconst { Option } = Select;\r\n\r\nexport default class ProcessingList extends React.Component {\r\n TransferInService = new TransferInService();\r\n processinglistService = new Processinglistservice();\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n state = {\r\n processinglist: [],\r\n tableLoading: false,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n storeListOptions: [],\r\n selectedStore: \"\",\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n pagination: {\r\n showSizeChanger: true,\r\n // pageSizeOptions: [1, 2, 3, 4],\r\n current: 1,\r\n pageSize: 10,\r\n onChange: (page, pageSize) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: page,\r\n pageSize: pageSize,\r\n },\r\n });\r\n },\r\n onShowSizeChange: (current, size) => {\r\n this.setState({\r\n // tableLoading: true,\r\n pagination: {\r\n ...this.state.pagination,\r\n current: current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n },\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.PROCESSING_LIST\r\n );\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n window.location.href = \"/store/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n columns = [\r\n {\r\n title: labels.SPLIT_ORDER_ID,\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.STORE_NAME,\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n sorter: true,\r\n // with:\"5%\"\r\n },\r\n {\r\n title: labels.DELIVERY_TYPE,\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.LOT_SIZE,\r\n dataIndex: \"noofGarment\",\r\n key: \"noofGarment\",\r\n sorter: true,\r\n },\r\n {\r\n title: labels.FACTORY_IN_DATETIME,\r\n dataIndex: \"factoryInTime\",\r\n key: \"factoryInTime\",\r\n sorter: true,\r\n width: \"15%\",\r\n render: (text) => {\r\n return moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n {\r\n title: labels.NO_OF_GARMENTS,\r\n dataIndex: \"noofgarmentsFactoryIn\",\r\n key: \"noofgarmentsFactoryIn\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.PROCESSING_IN_DATE_TIME,\r\n dataIndex: \"processTime\",\r\n key: \"processTime\",\r\n sorter: true,\r\n render: (text) => {\r\n return [null, undefined, \" \"].includes(text)\r\n ? null\r\n : moment(text).format(\"DD-MM-YYYY HH:mm:ss\");\r\n },\r\n },\r\n\r\n {\r\n title: labels.NO_OF_ITEMS_PENDING_FOR_PROCESSING,\r\n dataIndex: \"pendingToProcessGarments\",\r\n key: \"pendingToProcessGarments\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: labels.USER_NAME,\r\n dataIndex: \"processByUser\",\r\n key: \"processByUser\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getStoreList();\r\n this.getprocessingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n\r\n getprocessingList = (\r\n index,\r\n size,\r\n sortColumn = this.state.sorter.field,\r\n sortOrder = this.state.sorter.order,\r\n search = this.state.search\r\n ) => {\r\n if (!this.state.tableLoading) {\r\n this.setState({ tableLoading: true });\r\n this.processinglistService\r\n .getprocessingList(\r\n index,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search,\r\n this.state.selectedBranch,\r\n this.state.selectedStore\r\n )\r\n .then((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n response.data.length === 0 &&\r\n this.state.pagination.current !== 1\r\n ) {\r\n this.setState(\r\n {\r\n pagination: { ...this.state.pagination, current: 1 },\r\n tableLoading: false,\r\n },\r\n () => {\r\n this.getprocessingList(\r\n 1,\r\n size,\r\n sortColumn,\r\n sortOrder,\r\n search\r\n );\r\n }\r\n );\r\n }\r\n let ProcessingListData = [];\r\n response.data.map((singleData) => {\r\n // singleData.key = singleData.splitOrderNumber;\r\n ProcessingListData.push(singleData);\r\n return null;\r\n });\r\n this.setState({ processinglist: ProcessingListData });\r\n this.setState({\r\n pagination: {\r\n ...this.state.pagination,\r\n total: ProcessingListData.length\r\n ? ProcessingListData[0].totalRecords\r\n : 0,\r\n },\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PROCESSING_LIST,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_PROCESSING_DATA,\r\n });\r\n }\r\n this.setState({ tableLoading: false });\r\n });\r\n }\r\n };\r\n\r\n handleChangeBranch = () => {\r\n this.getprocessingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n };\r\n\r\n getStoreList = () => {\r\n this.TransferInService.retrieveStoreList().then((items) => {\r\n if (items.statusCode === 200) {\r\n this.setState({ storeListOptions: items.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.TRANSFER_IN,\r\n description: items.message\r\n ? this.common.Message(items.message)\r\n : labels.UNABLE_TO_GET_LIST_OF_STORE_DATA,\r\n });\r\n }\r\n });\r\n };\r\n render() {\r\n const factoryBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Factory\"\r\n )\r\n : [];\r\n const allfactoryBranchArray = factoryBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n\r\n const allStoreArray = this.state.storeListOptions\r\n .map((store) => {\r\n return store.value;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n return (\r\n
\r\n \r\n {\r\n this.setState(\r\n {\r\n selectedStore: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n this.state.selectedStore === \"\"\r\n ? []\r\n : this.state.selectedStore.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {this.state.storeListOptions.length !== 0\r\n ? this.state.storeListOptions.map((branchType) => {\r\n return branchType.value !== \"-1\" ? (\r\n \r\n {branchType.text}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n value === allStoreArray[index])\r\n }\r\n onChange={(e) => {\r\n if (e.target.checked) {\r\n let allOpt = this.state.storeListOptions\r\n .map((branchType) => {\r\n return branchType.value;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedStore: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedStore !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedStore: \"\",\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_FACTORY}\r\n filterOption={(input, option) =>\r\n option.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n }\r\n style={{ minWidth: 150, maxWidth: 330 }}\r\n >\r\n {factoryBranchTypes.length !== 0\r\n ? factoryBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
,\r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = factoryBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
,\r\n
\r\n {\r\n this.setState({\r\n search: event.target.value.toString().toLowerCase(),\r\n });\r\n this.getprocessingList(\r\n this.state.pagination.current,\r\n this.state.pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n event.target.value.toString().toLowerCase()\r\n );\r\n }}\r\n />\r\n
,\r\n ]}\r\n />\r\n\r\n 6 && this.columns.length <= 12\r\n ? { x: 1400 }\r\n : { x: 2000 }\r\n }\r\n columns={this.columns}\r\n dataSource={this.state.processinglist}\r\n loading={this.state.tableLoading}\r\n pagination={this.state.pagination}\r\n onChange={(pagination, filters, sorter, extra) => {\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.getprocessingList(\r\n pagination.current,\r\n pagination.pageSize,\r\n this.state.sorter.field,\r\n this.state.sorter.order,\r\n this.state.search\r\n );\r\n }\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport ProcessingList from '../../../components/FactoryModule/Processing/processinglist.factory.component';\r\n\r\nexport default class ProcessingListscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class deliverydashboardservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getDeliveryTypeList() {\r\n const deliveryTypeAPI = new API({\r\n url: this.config.DROPDOWN_URL,\r\n });\r\n deliveryTypeAPI.createEntity({\r\n name: this.endpoint.GET_DELIVERY_TYPES,\r\n });\r\n let deliveryTypes = [];\r\n await deliveryTypeAPI.endpoints[this.endpoint.GET_DELIVERY_TYPES]\r\n .getAll()\r\n .then((response) => {\r\n deliveryTypes = response.data;\r\n })\r\n .catch((err) => {\r\n deliveryTypes = this.common.handleError(err);\r\n });\r\n if (deliveryTypes.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n deliveryTypes = this.getDeliveryTypeList();\r\n });\r\n }\r\n return Promise.resolve(deliveryTypes);\r\n }\r\n\r\n async retrieveItems(param) {\r\n console.log(\"param->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DELIVERY_MANAGEMENT });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDeliveryManagmnet.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getDeliveryDatafromSplitOrderStatus(param) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_DELIVERYDATA_FROM_SPLITORDERSTATUS });\r\n let itemArray = [];\r\n await myApi.endpoints.GetDeliveryDataFromSplitOrderStatus.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err)\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getDeliveryDatafromSplitOrderStatus(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport DeliveryDashboardService from \"../../../services/deliverydashboard.service\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport moment from \"moment\";\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class deliverydashboard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.DeliveryDashboardService = new DeliveryDashboardService();\r\n this.common = new Common();\r\n this.state = {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n orderFromDate: moment(ONE_MONTHS_AGO),\r\n orderToDate: moment(),\r\n selectedDeliverytype: \"1\",\r\n modalLoading: false,\r\n dashboardItems: [],\r\n detailItems: [],\r\n deliveryTypes: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n paginationforDetailtable: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n rowselectedvalue: \"\",\r\n showfilterBox: true,\r\n showAddPopup: false,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n };\r\n }\r\n\r\n // componentWillMount() {\r\n // if (!IsAuthenticated()) {\r\n // window.location.href = \"/\";\r\n // }\r\n\r\n // var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n // var res = data.filter(\r\n // (val) => val.screenName == this.UserRightsConfiguration.CITY_MASTER\r\n // );\r\n\r\n // const storeOrFactory = localStorage\r\n // .getItem(\"Store/FactoryType\")\r\n // .toLowerCase();\r\n // if (!res[0].isView) {\r\n // if (storeOrFactory === \"store\") {\r\n // window.location.href = \"/store/dashboard\";\r\n // } else {\r\n // window.location.href = \"/factory/dashboard\";\r\n // }\r\n // }\r\n // this.setState({ userRights: res });\r\n // }\r\n\r\n columns = [\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n },\r\n\r\n {\r\n title: \"Factory In\",\r\n children: [\r\n {\r\n title: \"Walk In\",\r\n dataIndex: \"walkInFactoryIn\",\r\n key: \"walkInFactoryIn\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"6\",\r\n \"WalkIn\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"On Demand\",\r\n dataIndex: \"onDemandFactoryIn\",\r\n key: \"onDemandFactoryIn\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"6\",\r\n \"OnDemand\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Store In Pending\",\r\n children: [\r\n {\r\n title: \"Walk In\",\r\n dataIndex: \"walkInStoreInPending\",\r\n key: \"walkInStoreInPending\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"7\",\r\n \"WalkIn\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"On Demand\",\r\n dataIndex: \"onDemandStoreInPending\",\r\n key: \"onDemandStoreInPending\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"7\",\r\n \"OnDemand\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Partial Order\",\r\n children: [\r\n {\r\n title: \"Walk In\",\r\n dataIndex: \"walkInPartialOrder\",\r\n key: \"walkInPartialOrder\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"8\",\r\n \"WalkIn\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"On Demand\",\r\n dataIndex: \"onDemandPartialOrder\",\r\n key: \"onDemandPartialOrder\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"8\",\r\n \"OnDemand\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Ready to Deliver\",\r\n children: [\r\n {\r\n title: \"Walk In\",\r\n dataIndex: \"walkInReadytoDeliver\",\r\n key: \"walkInReadytoDeliver\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"9,10,11\",\r\n \"WalkIn\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"On Demand\",\r\n dataIndex: \"onDemandReadytoDeliver\",\r\n key: \"onDemandReadytoDeliver\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"9,10,11\",\r\n \"OnDemand\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Paid and Undeliverd\",\r\n children: [\r\n {\r\n title: \"Walk In\",\r\n dataIndex: \"walkInPaidandUndeliverd\",\r\n key: \"walkInPaidandUndeliverd\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"15\",\r\n \"WalkIn\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"On Demand\",\r\n dataIndex: \"onDemandPaidandUndeliverd\",\r\n key: \"onDemandPaidandUndeliverd\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"15\",\r\n \"OnDemand\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Total\",\r\n children: [\r\n {\r\n title: \"Walk In\",\r\n dataIndex: \"walkInTotal\",\r\n key: \"walkInTotal\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"6,7,8,9,10,11,15\",\r\n \"WalkIn\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"On Demand\",\r\n dataIndex: \"onDemandTotal\",\r\n key: \"onDemandTotal\",\r\n render: (text, record) => (\r\n \r\n \r\n this.getSplitOrderStatusWiseData(\r\n \"6,7,8,9,10,11,15\",\r\n \"OnDemand\",\r\n record.storeID\r\n )\r\n }\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n Detailcolumns = [\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n // width: '40%',\r\n },\r\n {\r\n title: \"SplitOrder Number\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n // width: '40%',\r\n },\r\n {\r\n title: \"SplitOrder Status\",\r\n dataIndex: \"splitOrderStatusName\",\r\n key: \"splitOrderStatusName\",\r\n // width: '40%',\r\n },\r\n {\r\n title: \"Delivery Date\",\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n // width: '40%',\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD/MM/YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: \"Delivery Type\",\r\n dataIndex: \"deliveryType\",\r\n key: \"deliveryType\",\r\n // width: '40%',\r\n },\r\n {\r\n title: \"Order Type\",\r\n dataIndex: \"orderType\",\r\n key: \"orderType\",\r\n // width: '40%',\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n DeliveryType: this.state.selectedDeliverytype,\r\n FromOrderDate: this.state.orderFromDate,\r\n ToOrderDate: this.state.orderToDate,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n // StoreID:parseInt(this.state.selectedBranch),\r\n StoreID:this.state.selectedBranch,\r\n pagination,\r\n });\r\n this.getDeliveryTypes();\r\n }\r\n\r\n getDeliveryTypes = () => {\r\n this.DeliveryDashboardService.getDeliveryTypeList().then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n deliveryTypes: response.data,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: labels.UNABLE_TO_GET_DATA_FOR_DELIVERY_TYPES,\r\n });\r\n }\r\n });\r\n };\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.DeliveryDashboardService.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n DeliveryType: this.state.selectedDeliverytype,\r\n FromOrderDate: this.state.orderFromDate,\r\n ToOrderDate: this.state.orderToDate,\r\n // StoreID:parseInt(this.state.selectedBranch),\r\n StoreID:this.state.selectedBranch,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n dashboardItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Delivery Dashboard\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Delivery Dashboard data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n getSplitOrderStatusWiseData = (status, type, storeId) => {\r\n // this.setState({detailItems:[]})\r\n let params = {\r\n SplitOrderStatus: status,\r\n OrderType: type,\r\n DeliveryType: this.state.selectedDeliverytype,\r\n StoreID: storeId,\r\n FromOrderDate: this.state.orderFromDate,\r\n ToOrderDate: this.state.orderToDate,\r\n };\r\n this.setState({ modalLoading: true });\r\n this.DeliveryDashboardService.getDeliveryDatafromSplitOrderStatus(\r\n params\r\n ).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n DeliveryType: this.state.selectedDeliverytype,\r\n FromOrderDate: this.state.orderFromDate,\r\n ToOrderDate: this.state.orderToDate,\r\n StoreID:this.state.selectedBranch,\r\n // StoreID:parseInt(this.state.selectedBranch),\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n\r\n this.setState({\r\n detailItems: items.data,\r\n showAddPopup: true,\r\n paginationforDetailtable: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n // isRenderComponent: true,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Delivery Dashboard\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Delivery Dashboard data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleTableChange = (pagination) => {\r\n this.fetchItems({\r\n DeliveryType: this.state.selectedDeliverytype,\r\n FromOrderDate: this.state.orderFromDate,\r\n ToOrderDate: this.state.orderToDate,\r\n // StoreID:parseInt(this.state.selectedBranch),\r\n StoreID:this.state.selectedBranch,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n };\r\n\r\n // handleTableChangeforDetailData = (pagination) => {\r\n // this.fetchItems({\r\n // DeliveryType: this.state.selectedDeliverytype,\r\n // FromOrderDate: this.state.orderFromDate,\r\n // ToOrderDate: this.state.orderToDate,\r\n // pageIndex: pagination.current,\r\n // pageSize: pagination.pageSize,\r\n // pagination,\r\n // });\r\n // };\r\n\r\n // handleChangeBranch = () => {\r\n // this.fetchItems({\r\n // DeliveryType: this.state.selectedDeliverytype,\r\n // FromOrderDate: this.state.orderFromDate,\r\n // ToOrderDate: this.state.orderToDate,\r\n // StoreID:parseInt(this.state.selectedBranch),\r\n // pageIndex:this.state.pagination.current,\r\n // pageSize:this.state.pagination.pageSize,\r\n // // this.state.pagination,\r\n // });\r\n // };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n render() {\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n const { paginationforDetailtable, pagination, loading } = this.state;\r\n const dashboardItems = this.state.dashboardItems;\r\n const listItems = dashboardItems.map((item, index) => ({\r\n key: item.storeID,\r\n storeID: item.storeID,\r\n storeName: item.storeName,\r\n shortName: item.shortName,\r\n walkInFactoryIn: item.walkInFactoryIn,\r\n onDemandFactoryIn: item.onDemandFactoryIn,\r\n walkInStoreInPending: item.walkInStoreInPending,\r\n onDemandStoreInPending: item.onDemandStoreInPending,\r\n walkInPartialOrder: item.walkInPartialOrder,\r\n onDemandPartialOrder: item.onDemandPartialOrder,\r\n walkInReadytoDeliver: item.walkInReadytoDeliver,\r\n onDemandReadytoDeliver: item.onDemandReadytoDeliver,\r\n walkInPaidandUndeliverd: item.walkInPaidandUndeliverd,\r\n onDemandPaidandUndeliverd: item.onDemandPaidandUndeliverd,\r\n walkInTotal: item.walkInTotal,\r\n onDemandTotal: item.onDemandTotal,\r\n totalRecords: item.totalRecords,\r\n }));\r\n const detailItems = this.state.detailItems;\r\n const DetailListItem = detailItems.map((item) => ({\r\n // key: item.storeID,\r\n storeName: item.storeName,\r\n shortName: item.shortName,\r\n splitOrderNumber: item.splitOrderNumber,\r\n splitOrderStatusName: item.splitOrderStatusName,\r\n deliveryDate: item.deliveryDate,\r\n deliveryType: item.deliveryType,\r\n orderType: item.orderType,\r\n }));\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.fetchItems({\r\n DeliveryType: this.state.selectedDeliverytype,\r\n FromOrderDate: this.state.orderFromDate,\r\n ToOrderDate: this.state.orderToDate,\r\n // StoreID:parseInt(this.state.selectedBranch),\r\n StoreID:this.state.selectedBranch,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n })\r\n }\r\n initialValues={{\r\n orderFromDate: this.state.orderFromDate,\r\n orderToDate: this.state.orderToDate,\r\n DeliveryType: this.state.selectedDeliverytype,\r\n storeId:this.state.selectedBranch\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n selectedDeliverytype: [null, undefined, \"\"].includes(\r\n value\r\n )\r\n ? undefined\r\n : value,\r\n },\r\n () => {\r\n // console.log(this.state.deliveryTypes.selectedDeliverytype);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.deliveryTypes.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n {x.text}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderFromDate\")\r\n }\r\n value={this.state.orderFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"orderToDate\")\r\n }\r\n value={this.state.orderToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(event)\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n // this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(this.state.selectedBranch)\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n // value={this.state.selectedBranch}\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n\r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n Close\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport DeliveryDashboard from '../../../components/StoreModule/DeliveryDashboard/deliverydashboard.component';\r\n\r\nexport default class deliverydashboardScreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n \r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class pendingcashsummaryservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PENDING_CASH_SUMMARY });\r\n let itemArray = [];\r\n await myApi.endpoints.GetPendingCashSummary.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getPendingCashSummaryfromStoreID(param) {\r\n // console.log(\"params123->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PENDING_CASH_SUMMARY_DETAIL });\r\n let itemArray = [];\r\n await myApi.endpoints.GetPendingCashSummaryDetail.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getPendingCashSummaryfromStoreID(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getOrdersummarydata(param) {\r\n // console.log(\"param->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_ORDER_SUMMARY_REPORT });\r\n let itemArray = [];\r\n await myApi.endpoints.OrderSummaryReport.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getDailyOrderSummary(param) {\r\n // console.log(\"param->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.DAILY_ORDER_SUMMARY });\r\n let itemArray = [];\r\n await myApi.endpoints.DailyOrderSummary.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getDailyOrderSummary(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getDailyPickupSummary(param) {\r\n // console.log(\"param->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.DAILY_PICKUP_SUMMARY });\r\n let itemArray = [];\r\n await myApi.endpoints.DailyPickupSummary.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getDailyPickupSummary(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getMonthlyPickupSummary(param) {\r\n // console.log(\"param->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.MONTHLY_PICKUP_SUMMARY });\r\n let itemArray = [];\r\n await myApi.endpoints.MonthlyPickupSummary.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getMonthlyPickupSummary(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getMonthlyOrderSummary(param) {\r\n // console.log(\"param->\",param);\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.MONTHLY_ORDER_SUMMARY });\r\n let itemArray = [];\r\n await myApi.endpoints.MonthlyOrderSummary.getAllPost(param)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getMonthlyOrderSummary(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n DatePicker,\r\n Checkbox,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport pendingcashsummaryservice from \"../../../services/pendingcashsummaryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport moment from \"moment\";\r\nconst { Option } = Select;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\nconst Temp_Date = new Date('2022-05-01');\r\n\r\nexport default class pendingcashsummary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pendingcashsummaryservice = new pendingcashsummaryservice();\r\n this.common = new Common();\r\n this.state = {\r\n selectedBranch: localStorage.getItem(\"branchID\"),\r\n invoiceFromDate:\r\n moment(ONE_MONTHS_AGO) < moment(\"2022-04-30\")\r\n ? moment(Temp_Date) //moment(\"2022-05-01\")\r\n : moment(ONE_MONTHS_AGO),\r\n invoiceToDate: moment(),\r\n selectedDeliverytype: \"1\",\r\n modalLoading: false,\r\n dashboardItems: [],\r\n detailItems: [],\r\n deliveryTypes: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n paginationforDetailtable: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n rowselectedvalue: \"\",\r\n showfilterBox: true,\r\n showAddPopup: false,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n };\r\n }\r\n\r\n // componentWillMount() {\r\n // if (!IsAuthenticated()) {\r\n // window.location.href = \"/\";\r\n // }\r\n\r\n // var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n // var res = data.filter(\r\n // (val) => val.screenName == this.UserRightsConfiguration.CITY_MASTER\r\n // );\r\n\r\n // const storeOrFactory = localStorage\r\n // .getItem(\"Store/FactoryType\")\r\n // .toLowerCase();\r\n // if (!res[0].isView) {\r\n // if (storeOrFactory === \"store\") {\r\n // window.location.href = \"/store/dashboard\";\r\n // } else {\r\n // window.location.href = \"/factory/dashboard\";\r\n // }\r\n // }\r\n // this.setState({ userRights: res });\r\n // }\r\n\r\n columns = [\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n },\r\n\r\n {\r\n title: \"Normal Order\",\r\n dataIndex: \"normalOrder\",\r\n key: \"normalOrder\",\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"normalOrderAmount\",\r\n key: \"normalOrderAmount\",\r\n },\r\n\r\n {\r\n title: \"SemiExpress Order\",\r\n dataIndex: \"semiexpressOrder\",\r\n key: \"semiexpressOrder\",\r\n },\r\n\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"semiexpressOrderAmount\",\r\n key: \"semiexpressOrderAmount\",\r\n },\r\n\r\n {\r\n title: \"Express Order\",\r\n dataIndex: \"expressOrder\",\r\n key: \"expressOrder\",\r\n },\r\n\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"expressOrderAmount\",\r\n key: \"expressOrderAmount\",\r\n },\r\n\r\n {\r\n title: \"Total Order\",\r\n dataIndex: \"totalOrder\",\r\n key: \"totalOrder\",\r\n },\r\n\r\n {\r\n title: \"Total Amount\",\r\n dataIndex: \"totalOrderAmount\",\r\n key: \"totalOrderAmount\",\r\n render: (text, record) => (\r\n \r\n this.getStoreWiseData(record.storeID)}\r\n >\r\n {text}\r\n \r\n \r\n ),\r\n },\r\n ];\r\n\r\n Detailcolumns = [\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n },\r\n {\r\n title: \"SplitOrder Number\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n },\r\n {\r\n title: \"Invoice Date\",\r\n dataIndex: \"invoiceDate\",\r\n key: \"invoiceDate\",\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD/MM/YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"finalInvoiceAmount\",\r\n key: \"finalInvoiceAmount\",\r\n },\r\n {\r\n title: \"Order Type\",\r\n dataIndex: \"orderType\",\r\n key: \"orderType\",\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n FromInvoiceDate: this.state.invoiceFromDate,\r\n ToInvoiceDate: this.state.invoiceToDate,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n StoreID: this.state.selectedBranch,\r\n pagination,\r\n });\r\n }\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.pendingcashsummaryservice.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n FromInvoiceDate: this.state.invoiceFromDate,\r\n ToInvoiceDate: this.state.invoiceToDate,\r\n StoreID: this.state.selectedBranch,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n dashboardItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Pending Cash Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Pending Cash Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n getStoreWiseData = (storeId) => {\r\n // this.setState({detailItems:[]})\r\n let params = {\r\n StoreId: parseInt(storeId),\r\n FromInvoiceDate:this.state.invoiceFromDate,\r\n ToInvoiceDate: this.state.invoiceToDate,\r\n };\r\n\r\n // console.log(\"params->>>\",params);\r\n\r\n this.setState({ modalLoading: true });\r\n this.pendingcashsummaryservice\r\n .getPendingCashSummaryfromStoreID(params)\r\n .then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n FromInvoiceDate: this.state.invoiceFromDate,\r\n ToInvoiceDate: this.state.invoiceToDate,\r\n StoreID: this.state.selectedBranch,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n\r\n this.setState({\r\n detailItems: items.data,\r\n showAddPopup: true,\r\n paginationforDetailtable: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n // isRenderComponent: true,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Pending Cash Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Pending Cash Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ modalLoading: false });\r\n });\r\n };\r\n\r\n handleTableChange = (pagination) => {\r\n this.fetchItems({\r\n FromInvoiceDate: this.state.invoiceFromDate,\r\n ToInvoiceDate: this.state.invoiceToDate,\r\n StoreID: this.state.selectedBranch,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handlePopupCancel = () => {\r\n this.setState({ showAddPopup: false });\r\n };\r\n\r\n handleChangeBranch = () => {\r\n // console.log(\"selected->\", this.state.selectedBranch);\r\n };\r\n\r\n render() {\r\n const storeBranchTypes = ![undefined, null, \"\"].includes(\r\n localStorage.getItem(\"BranchInfo\")\r\n )\r\n ? JSON.parse(localStorage.getItem(\"BranchInfo\")).filter(\r\n (x) => x.branchType === \"Store\"\r\n )\r\n : [];\r\n\r\n const allStoreBranchArray = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\")\r\n .slice()\r\n .sort();\r\n const { paginationforDetailtable, pagination, loading } = this.state;\r\n const dashboardItems = this.state.dashboardItems;\r\n const listItems = dashboardItems.map((item, index) => ({\r\n key: item.storeID,\r\n storeID: item.storeID,\r\n storeName: item.storeName,\r\n shortName: item.shortName,\r\n normalOrder: item.normalOrder,\r\n normalOrderAmount: item.normalOrderAmount,\r\n semiexpressOrder: item.semiexpressOrder,\r\n semiexpressOrderAmount: item.semiexpressOrderAmount,\r\n expressOrder: item.expressOrder,\r\n expressOrderAmount: item.expressOrderAmount,\r\n totalOrder: item.totalOrder,\r\n totalOrderAmount: item.totalOrderAmount,\r\n totalRecords: item.totalRecords,\r\n }));\r\n const detailItems = this.state.detailItems;\r\n const DetailListItem = detailItems.map((item) => ({\r\n // key: item.storeID,\r\n shortName: item.shortName,\r\n splitOrderNumber: item.splitOrderNumber,\r\n invoiceDate: item.invoiceDate,\r\n finalInvoiceAmount: item.finalInvoiceAmount,\r\n orderType: item.orderType,\r\n }));\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.fetchItems({\r\n FromInvoiceDate: this.state.invoiceFromDate,\r\n ToInvoiceDate: this.state.invoiceToDate,\r\n StoreID: this.state.selectedBranch,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n })\r\n }\r\n initialValues={{\r\n invoiceFromDate: this.state.invoiceFromDate,\r\n invoiceToDate: this.state.invoiceToDate,\r\n DeliveryType: this.state.selectedDeliverytype,\r\n storeId: this.state.selectedBranch,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"invoiceFromDate\")\r\n }\r\n value={this.state.invoiceFromDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(\"2022-04-30\"), \"day\")\r\n ? false\r\n : true\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"invoiceToDate\")\r\n }\r\n value={this.state.invoiceToDate}\r\n disabledDate={(currentDate) =>\r\n currentDate.isAfter(moment(), \"day\") ? true : false\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n this.setState(\r\n {\r\n selectedBranch: [null, undefined, \"\"].includes(\r\n event\r\n )\r\n ? \"\"\r\n : event.join(\",\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }}\r\n value={\r\n [null, undefined, \"\"].includes(\r\n this.state.selectedBranch\r\n )\r\n ? [localStorage.getItem(\"branchID\")]\r\n : this.state.selectedBranch.split(\",\")\r\n }\r\n placeholder={labels.SELECT_STORE}\r\n filterOption={(input, option) =>\r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {storeBranchTypes.length !== 0\r\n ? storeBranchTypes.map((branchType) => {\r\n return branchType.branchID !== \"-1\" ? (\r\n \r\n {branchType.branchName}\r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n
\r\n \r\n
\r\n {\r\n if (e.target.checked) {\r\n let allOpt = storeBranchTypes\r\n .map((branchType) => {\r\n return branchType.branchID;\r\n })\r\n .filter((x) => x !== \"-1\");\r\n this.setState(\r\n {\r\n selectedBranch: allOpt.join(\",\"),\r\n },\r\n () => {\r\n if (this.state.selectedBranch !== \"\") {\r\n this.handleChangeBranch();\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n selectedBranch:\r\n localStorage.getItem(\"branchID\"),\r\n },\r\n () => {\r\n this.handleChangeBranch();\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {labels.ALL}\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n Apply\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n Close\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport Pendingcashsummary from '../../../components/StoreModule/Audit/pendingcashsummary.component';\r\n\r\nexport default class pendingcashsummaryscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Row,\r\n Col,\r\n Form,\r\n Table,\r\n notification,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport pendingcashsummaryservice from \"../../../services/pendingcashsummaryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport moment from \"moment\";\r\nconst CURRENT_DATE = new Date();\r\nconst monthFormat = \"YYYY/MM\";\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\nconst Temp_Date = new Date(\"2022-05-01\");\r\n\r\nexport default class ordersummarycomponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pendingcashsummaryservice = new pendingcashsummaryservice();\r\n this.common = new Common();\r\n this.state = {\r\n currentMonth: moment(CURRENT_DATE),\r\n selectedmonth: moment(CURRENT_DATE).format(\"M\"),\r\n selectedyear: moment(CURRENT_DATE).format(\"Y\"),\r\n modalLoading: false,\r\n dashboardItems: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 200,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n // totalOrder: \"\",\r\n // totalOrderAmount: \"\",\r\n // totalInvoice: \"\",\r\n // totalInvoiceAmount: \"\",\r\n // totalLoss: \"\",\r\n // totalPenOrders: \"\",\r\n // totalPenAmount: \"\",\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.ORDERS_SUMMARY\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"srNo\",\r\n key: \"srNo\",\r\n align: \"center\",\r\n \r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n align: \"center\",\r\n },\r\n\r\n {\r\n title: \"MIS\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"misOrders\",\r\n key: \"misOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"misAmount\",\r\n key: \"misAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"misRevenue\",\r\n key: \"misRevenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Invoices\",\r\n children: [\r\n {\r\n title: \"NO of Invoice\",\r\n dataIndex: \"invOrders\",\r\n key: \"invOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"invAmount\",\r\n key: \"invAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Loss of Revenue\",\r\n dataIndex: \"loss\",\r\n key: \"loss\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Pending\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"penOrders\",\r\n key: \"penOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"penAmount\",\r\n key: \"penAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Pending %\",\r\n dataIndex: \"penPerce\",\r\n key: \"penPerce\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Consolidated Pending\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"conOrders\",\r\n key: \"conOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"conAmount\",\r\n key: \"conAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Pending %\",\r\n dataIndex: \"conPerce\",\r\n key: \"conPerce\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n // totalcolumns = [\r\n // {\r\n // title: \"\",\r\n // dataIndex: \"grandTotal\",\r\n // key: \"grandTotal\",\r\n // align: \"center\",\r\n // },\r\n\r\n // {\r\n // title: \"MIS\",\r\n // children: [\r\n // {\r\n // title: \" \",\r\n // dataIndex: \"totalOrder\",\r\n // key: \"totalOrder\",\r\n // align: \"center\",\r\n\r\n // },\r\n // {\r\n // title: \"\",\r\n // dataIndex: \"totalOrderAmount\",\r\n // key: \"totalOrderAmount\",\r\n // align: \"center\",\r\n // },\r\n\r\n // {\r\n // title: \"\",\r\n // dataIndex: \"totalOrderRevenue\",\r\n // key: \"totalOrderRevenue\",\r\n // align: \"center\",\r\n // },\r\n // ],\r\n // },\r\n\r\n // {\r\n // title: \"Invoices\",\r\n // width:\"30%\",\r\n // children: [\r\n // {\r\n // title: \"NO of Invoice\",\r\n // dataIndex: \"totalInvoice\",\r\n // key: \"totalInvoice\",\r\n // align: \"center\",\r\n // },\r\n // {\r\n // title: \"Amount\",\r\n // dataIndex: \"totalInvoiceAmount\",\r\n // key: \"totalInvoiceAmount\",\r\n // align: \"center\",\r\n // },\r\n\r\n // {\r\n // title: \"Loss of Revenue\",\r\n // dataIndex: \"totalLoss\",\r\n // key: \"totalLoss\",\r\n // align: \"center\",\r\n // },\r\n // ],\r\n // },\r\n\r\n // {\r\n // title: \"Pending\",\r\n // width:\"30%\",\r\n // children: [\r\n // {\r\n // title: \"NO of Orders\",\r\n // dataIndex: \"totalPenOrders\",\r\n // key: \"totalPenOrders\",\r\n // align: \"center\",\r\n // },\r\n // {\r\n // title: \"Amount\",\r\n // dataIndex: \"totalPenAmount\",\r\n // key: \"totalPenAmount\",\r\n // align: \"center\",\r\n // },\r\n\r\n // {\r\n // title: \"Pending %\",\r\n // dataIndex: \"totalPending\",\r\n // key: \"totalPending\",\r\n // align: \"center\",\r\n // },\r\n // ],\r\n // },\r\n // ];\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n sortColumn: null,\r\n sortOrder: null,\r\n commonSearch: null,\r\n });\r\n }\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.pendingcashsummaryservice.getOrdersummarydata(params).then((items) => {\r\n // console.log(\"items->\", items);\r\n this.setState({\r\n dashboardItems: [],\r\n });\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n sortColumn: null,\r\n sortOrder: null,\r\n commonSearch: null,\r\n });\r\n }\r\n this.setState({\r\n // dashboardItems: items.data.vmOrderSummaryList,\r\n dashboardItems: items.data,\r\n // pagination: {\r\n // ...params.pagination,\r\n // total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n // //total: items.data.vmOrderSummaryList.length > 0 ? items.data.vmOrderSummaryList[0].totalRecords : 0,\r\n // },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Order Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Order Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter, extra) => {\r\n // console.log(\"pagination->\", pagination);\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n pageIndex: pagination.current,\r\n pageSize: 200,\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n commonSearch: null,\r\n pagination,\r\n });\r\n }\r\n );\r\n };\r\n\r\n handleDateChange = (date, dateString) => {\r\n //console.log(\"dateString->\", dateString);\r\n let month = dateString.split(\"/\")[1];\r\n let year = dateString.split(\"/\")[0];\r\n // console.log(\"month->\", month, year);\r\n this.setState({ selectedmonth: month, selectedyear: year });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const dashboardItems = this.state.dashboardItems;\r\n // console.log(\"dashboardItems->\", dashboardItems);\r\n const listItems = dashboardItems.map((item, index) => ({\r\n key: item.storeName,\r\n srNo:item.rowNumber,\r\n storeName: item.storeName,\r\n misOrders: item.misOrders,\r\n misAmount: item.misAmount,\r\n misRevenue: item.misRevenue,\r\n invOrders: item.invOrders,\r\n invAmount: item.invAmount,\r\n loss: item.loss,\r\n penOrders: item.penOrders,\r\n penAmount: item.penAmount,\r\n penPerce: item.penPerce,\r\n conOrders: item.conOrders,\r\n conAmount: item.conAmount,\r\n conPerce: item.conPerce,\r\n totalRecords: item.totalRecords,\r\n }));\r\n\r\n \r\n\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n pageIndex: pagination.current,\r\n // pageSize: pagination.pageSize,\r\n pageSize: 200,\r\n sortColumn: null,\r\n sortOrder: null,\r\n commonSearch: null,\r\n // pagination,\r\n })\r\n }\r\n initialValues={{\r\n currentMonth: this.state.currentMonth,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, dateString)\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n return {\r\n style: {fontWeight :record.key == 'Grand Total' ? \"bold\" :null ,\r\n color:record.key == 'Grand Total' ? \"black\" :null \r\n }\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n bordered\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react'\r\nimport Ordersummarycomponent from '../../../components/StoreModule/Audit/ordersummary.component'\r\n\r\nexport default class ordersummaryscreen extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./factoryinventory.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n Row,\r\n Col,\r\n Form,\r\n notification,\r\n Checkbox,\r\n Space,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport ROUTES from \"../../../routes\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faFileExcel,\r\n faInfo,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport FactoryInventory from \"../../../services/factoryinventoryservice\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nconst { Option } = Select;\r\nconst { Search } = Input;\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class inventorysummarycomponent extends React.Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n inventoryService = new FactoryInventory();\r\n common = new Common();\r\n\r\n state = {\r\n showfilterBox: true,\r\n deliveryFromDate: Moment(ONE_MONTHS_AGO),\r\n deliveryToDate: Moment(),\r\n factoryID: parseInt(localStorage.getItem(\"branchID\")),\r\n showInfoPopup: false,\r\n inventoryData: [],\r\n loading: true,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n SplitOrderNumber: \"\",\r\n OldDeliveryDate: Moment(),\r\n deliverydate: Moment(),\r\n modalLoading: false,\r\n excelFile: ,\r\n excelButtonLoading: false,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.FACTORY_GARMENT_INVENTORY\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.SERVICE_TYPE,\r\n dataIndex: \"serviceName\",\r\n key: \"serviceName\",\r\n },\r\n {\r\n title: labels.ORDER_COUNT,\r\n dataIndex: \"ordercount\",\r\n key: \"ordercount\",\r\n render: (text, record) => (\r\n \r\n \r\n \r\n {record.ordercount}\r\n \r\n \r\n \r\n ),\r\n },\r\n\r\n {\r\n title: labels.NO_OF_GARMENT_DUE_FOR_PACKAGING,\r\n dataIndex: \"packingDueGarmentCount\",\r\n key: \"packingDueGarmentCount\",\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getFactoryInventorySummary();\r\n }\r\n\r\n getFactoryInventorySummary = () => {\r\n let Param = {};\r\n Param = {\r\n FactoryID: this.state.factoryID,\r\n DeliveryFromDate: this.state.deliveryFromDate,\r\n DeliveryToDate: this.state.deliveryToDate,\r\n };\r\n this.setState({ loading: true });\r\n\r\n this.inventoryService.getFactoryInventorySummary(Param).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ inventoryData: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.INVENTORY,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_FACTORY_GARMENTS_INVENTORY_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const inventoryData = this.state.inventoryData;\r\n console.log(\"inventoryData->\", inventoryData);\r\n const listItems = inventoryData.map((item) => ({\r\n serviceName: item.serviceName,\r\n serviceID: item.serviceID,\r\n ordercount: item.ordercount,\r\n packingDueGarmentCount: item.packingDueGarmentCount,\r\n }));\r\n return (\r\n
\r\n {this.state.excelFile}\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n this.getFactoryInventorySummary()}\r\n initialValues={{\r\n deliveryFromDate: this.state.deliveryFromDate,\r\n deliveryToDate: this.state.deliveryToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"deliveryFromDate\")\r\n }\r\n value={this.state.deliveryFromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"deliveryToDate\")\r\n }\r\n value={this.state.deliveryToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n return {\r\n style: { background: record.bgColor },\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={false}\r\n loading={loading}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport Inventorysummarycomponent from '../../../components/FactoryModule/Inventory/inventorysummary.component';\r\n\r\nexport default class inventorysumarryscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\n\r\nexport default class outofcoverageservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async retrieveItems(param) {\r\n const myApi = new API({ url: this.config.ITEM_STORE_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_OUT_OF_COVERAGE });\r\n let itemArray = [];\r\n await myApi.endpoints.OutOfCoverage.getAllPost(param)\r\n .then(({ data }) => {\r\n // console.log(\"data->\",data);\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n \r\n async getpickupdeliveryassignmentlist(param) {\r\n const myApi = new API({ url: this.config.ITEM_URL });\r\n myApi.createEntity({ name: this.endpoint.GET_PICKUP_DELIVERY_ASSIGNMENT_LIST });\r\n let itemArray = [];\r\n await myApi.endpoints.GetPickupAndDeliveryExecutive.getAllPost(param)\r\n .then(({ data }) => {\r\n console.log(\"data->\",data);\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.retrieveItems(param);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n\r\n async getStoreStatusList() {\r\n const myApi = new API({ url: this.config.DROPDOWN_URL });\r\n myApi.createEntity({\r\n name: this.endpoint.GET_SYSTEME_NUMS,\r\n });\r\n let append = \"?EnumNames=StoreStatus\";\r\n let itemArray = [];\r\n\r\n await myApi.endpoints[this.endpoint.GET_SYSTEME_NUMS]\r\n .getOne(append)\r\n .then((response) => {\r\n itemArray = response.data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.getStoreStatusList();\r\n });\r\n }\r\n return itemArray;\r\n }\r\n\r\n\r\n\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Select,\r\n Form,\r\n Space,\r\n Popconfirm,\r\n Table,\r\n Modal,\r\n notification,\r\n Tooltip,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport OutOfCoverageservice from \"../../../services/outofcoverageservice\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class outofcoveragecomponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.OutOfCoverageservice = new OutOfCoverageservice();\r\n this.common = new Common();\r\n this.state = {\r\n FromDate: moment(ONE_MONTHS_AGO),\r\n ToDate: moment(),\r\n modalLoading: false,\r\n OutOfCoverageItems: [],\r\n stateName: [],\r\n stateListOptions: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n\r\n isEnabled: false,\r\n isVisible: false,\r\n rowselectedvalue: \"\",\r\n showfilterBox: true,\r\n showAddPopup: false,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n // isRenderComponent: false,\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.OUT_OF_COVERAGE\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Date\",\r\n dataIndex: \"createdOn\",\r\n key: \"createdOn\",\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n title: \"Customer Name\",\r\n dataIndex: \"customerName\",\r\n key: \"customerName\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Gender\",\r\n dataIndex: \"genderName\",\r\n key: \"genderName\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Mobile No\",\r\n dataIndex: \"mobileNo\",\r\n key: \"mobileNo\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Platform\",\r\n dataIndex: \"sourceFrom\",\r\n key: \"sourceFrom\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Address\",\r\n dataIndex: \"address\",\r\n key: \"address\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"X Axis\",\r\n dataIndex: \"xAxis\",\r\n key: \"xAxis\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Y Axis\",\r\n dataIndex: \"yAxis\",\r\n key: \"yAxis\",\r\n // sorter: true,\r\n },\r\n {\r\n title: \"Registration date\",\r\n dataIndex: \"registrationDate\",\r\n key: \"registrationDate\",\r\n // sorter: true,\r\n render: (text) => {\r\n return ![undefined, null, \"\"].includes(text)\r\n ? moment(text).format(\"DD-MM-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n // {\r\n // title: \"Actions\",\r\n // key: \"actions\",\r\n // render: (text, record) => (\r\n // \r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isView == true ? (\r\n // \r\n // \r\n // this.setState({\r\n // showAddPopup: true,\r\n // cityID: record.cityID,\r\n // cityName: record.cityName,\r\n // stateName: record.stateName,\r\n // stateID: record.stateID,\r\n // isEnabled: true,\r\n // isVisible: true,\r\n // })\r\n // }\r\n // >\r\n // \r\n // \r\n // \r\n // ) : null}\r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isUpdate == true ? (\r\n // \r\n // \r\n // this.setState({\r\n // showAddPopup: true,\r\n // cityID: record.cityID,\r\n // cityName: record.cityName,\r\n // stateName: record.stateName,\r\n // stateID: record.stateID,\r\n // // }, () => cityname = record.cityName)}\r\n // })\r\n // }\r\n // >\r\n // \r\n // \r\n // \r\n // ) : null}\r\n // {this.state.userRights.length > 0 &&\r\n // this.state.userRights[0].isDelete == true ? (\r\n // this.removeItems(record.cityID)}\r\n // onCancel={() => null}\r\n // okText=\"Yes\"\r\n // cancelText=\"No\"\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 componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n FromDate: moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }\r\n\r\n handleSearch = (event) => {\r\n this.fetchItems({\r\n FromDate: moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n commonSearch: event.target.value,\r\n pageIndex: this.state.pagination.current,\r\n pageSize: this.state.pagination.pageSize,\r\n pagination: this.state.pagination,\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n FromDate: moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.OutOfCoverageservice.retrieveItems(params).then((items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n FromDate: moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n });\r\n }\r\n this.setState({\r\n OutOfCoverageItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n // isRenderComponent: true,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Out Of Coverage\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of Out Of Coverage data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const OutOfCoverageItems = this.state.OutOfCoverageItems;\r\n const listItems = OutOfCoverageItems.map((item, index) => ({\r\n key: index,\r\n createdOn: item.createdOn,\r\n customerName: item.customerName,\r\n genderName: item.genderName,\r\n mobileNo: item.mobileNo,\r\n sourceFrom: item.sourceFrom,\r\n address: item.address,\r\n xAxis: item.xAxis,\r\n yAxis: item.yAxis,\r\n registrationDate: item.registrationDate,\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n \r\n }\r\n />\r\n \r\n {\r\n this.fetchItems({\r\n FromDate: moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n }}\r\n initialValues={{\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n this.handleDateChange(date, \"FromDate\")}\r\n value={this.state.FromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"ToDate\")}\r\n value={this.state.orderToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport Outofcoveragecomponent from '../../../components/StoreModule/Audit/outofcoverage.component';\r\n\r\nexport default class outofcoveragescreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { PageHeader, Table, notification, Space, Tooltip ,Form,Row,Col,Select} from \"antd\";\r\nimport OutOfCoverageservice from \"../../../services/outofcoverageservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faInfo,\r\n faPencilAlt,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\n\r\nexport default class pickupdeliveryassignmentComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.OutOfCoverageservice = new OutOfCoverageservice();\r\n this.common = new Common();\r\n this.state = {\r\n AssignmentItems: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n storeStatusFilter: {\r\n data: [],\r\n selected: \"1\",\r\n },\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName ==\r\n this.UserRightsConfiguration.PICKUP_DELIVERY_ASSIGNMENT\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Sl.No.\",\r\n dataIndex: \"slno\",\r\n key: \"slno\",\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n render: (text, record) =>\r\n (\r\n \r\n {text}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Pickup Executive\",\r\n dataIndex: \"pickupExecutive\",\r\n key: \"pickupExecutive\",\r\n render: (text, record) => (\r\n \r\n {text.split(\",\").map((data, index, array) => (\r\n \r\n {data + `${index !== array.length - 1 ? \",\" : \"\"}`}\r\n \r\n ))}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Delivery Executive\",\r\n dataIndex: \"deliveryExecutive\",\r\n key: \"deliveryExecutive\",\r\n render: (text, record) => (\r\n \r\n {text.split(\",\").map((data, index, array) => (\r\n \r\n {data + `${index !== array.length - 1 ? \",\" : \"\"}`}\r\n \r\n ))}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Both Roles\",\r\n dataIndex: \"bothRoles\",\r\n key: \"bothRoles\",\r\n render: (text, record) => (\r\n \r\n {text.split(\",\").map((data, index, array) => (\r\n \r\n {data + `${index !== array.length - 1 ? \",\" : \"\"}`}\r\n \r\n ))}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n const { pagination } = this.state;\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n storeStatus: this.state.storeStatusFilter.selected,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n });\r\n this.getStoreStatusList();\r\n }\r\n\r\n getStoreStatusList = () => {\r\n this.OutOfCoverageservice.getStoreStatusList().then((response) => {\r\n if (response.statusCode === 200) {\r\n let data = response.data.map((single) => {\r\n return {\r\n value: single.enumDetailID,\r\n label: single.enumDetailName,\r\n };\r\n });\r\n this.setState({\r\n storeStatusFilter: {\r\n ...this.state.storeStatusFilter,\r\n data: data,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n //function to handle table pagination when click on specific page no.\r\n handleTableChange = (pagination, filters, sorter) => {\r\n this.fetchItems({\r\n storeStatus: this.state.storeStatusFilter.selected,\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n sortColumn: sorter.field,\r\n sortOrder:\r\n sorter.order === undefined\r\n ? \"\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : \"asc\",\r\n // ...filters,\r\n });\r\n };\r\n\r\n //function for get data from server call\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.OutOfCoverageservice.getpickupdeliveryassignmentlist(params).then(\r\n (items) => {\r\n if (items.statusCode === 200) {\r\n if (\r\n items.length !== 0 &&\r\n items.data.length === 0 &&\r\n params.pagination.current !== 1\r\n ) {\r\n params.pagination.current = 1;\r\n this.fetchItems({\r\n pageIndex: 1,\r\n pageSize: params.pageSize,\r\n pagination: params.pagination,\r\n storeStatus: this.state.storeStatusFilter.selected\r\n });\r\n }\r\n this.setState({\r\n AssignmentItems: items.data,\r\n pagination: {\r\n ...params.pagination,\r\n total: items.data.length > 0 ? items.data[0].totalRecords : 0,\r\n },\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Pickup And Delivery Executive List\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get list of Pickup And Delivery Executive List\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const AssignmentItems = this.state.AssignmentItems;\r\n const listItems = AssignmentItems.map((item, index) => ({\r\n key: index,\r\n slno: item.rowNumber,\r\n storeName: item.storeName,\r\n pickupExecutive: item.pickupExecutive,\r\n pMobileNo: item.pMobileNo,\r\n deliveryExecutive: item.deliveryExecutive,\r\n dMobileNo: item.dMobileNo,\r\n bothRoles: item.bothRoles,\r\n bMobileNo: item.bMobileNo,\r\n storePhone: item.storePhone,\r\n totalRecords: item.totalRecords,\r\n }));\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n this.fetchItems({\r\n pageIndex: pagination.current,\r\n pageSize: pagination.pageSize,\r\n pagination,\r\n storeStatus: this.state.storeStatusFilter.selected,\r\n })\r\n }\r\n // initialValues={{\r\n // fromDate: this.state.fromDate,\r\n // toDate: this.state.toDate,\r\n // }}\r\n >\r\n \r\n \r\n \r\n \r\n option.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n onChange={(value) =>\r\n this.setState(\r\n {\r\n storeStatusFilter: {\r\n ...this.state.storeStatusFilter,\r\n selected: [null, undefined, \"\"].includes(value)\r\n ? undefined\r\n : value.join(\",\"),\r\n },\r\n },\r\n () => {\r\n // console.log(this.state.storeStatusFilter.selected);\r\n }\r\n )\r\n }\r\n >\r\n {this.state.storeStatusFilter.data.map((x) => {\r\n return x.value != \"-1\" ? (\r\n \r\n {x.label}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport PickupdeliveryassignmentComponent from '../../../components/StoreModule/Audit/pickupdeliveryassignment.Component';\r\n\r\nexport default class pickupdeliveryassignmentscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import React from \"react\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Table,\r\n notification,\r\n} from \"antd\";\r\nimport pendingcashsummaryservice from \"../../../services/pendingcashsummaryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\n\r\nexport default class dailyordersummarycomponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pendingcashsummaryservice = new pendingcashsummaryservice();\r\n this.common = new Common();\r\n this.state = {\r\n dailyordersummary: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 200,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.DAILY_ORDER_SUMMARY\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"srNo\",\r\n key: \"srNo\",\r\n align: \"center\",\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n align: \"center\",\r\n },\r\n\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"totalOrders\",\r\n key: \"totalOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"ODM\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"odmOrders\",\r\n key: \"odmOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"odmAmount\",\r\n key: \"odmAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"odmRevenue\",\r\n key: \"odmRevenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Walk-In\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"wOrders\",\r\n key: \"wOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"wAmount\",\r\n key: \"wAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"wRevenue\",\r\n key: \"wRevenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"totalAmount\",\r\n key: \"totalAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"revenue\",\r\n key: \"revenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n \r\n componentDidMount() {\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n sortColumn: null,\r\n sortOrder: null,\r\n });\r\n }\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.pendingcashsummaryservice\r\n .getDailyOrderSummary(params)\r\n .then((items) => {\r\n // console.log(\"items->\", items);\r\n this.setState({\r\n dailyordersummary: [],\r\n });\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n dailyordersummary: items.data,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Daily Order Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Daily Order Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter, extra) => {\r\n // console.log(\"pagination->\", pagination);\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.fetchItems({\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order, \r\n });\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n const { pagination,loading } = this.state;\r\n const dailyordersummary = this.state.dailyordersummary;\r\n // console.log(\"dailyordersummary->\", dailyordersummary);\r\n const listItems = dailyordersummary.map((item, index) => ({\r\n key: item.storeID,\r\n srNo: item.rowNumber,\r\n storeName: item.storeName,\r\n totalOrders: item.totalOrders,\r\n totalAmount: item.totalAmount,\r\n revenue: item.revenue,\r\n odmOrders:item.odmOrders,\r\n odmAmount:item.odmAmount,\r\n odmRevenue:item.odmRevenue,\r\n wOrders:item.wOrders,\r\n wAmount:item.wAmount,\r\n wRevenue:item.wRevenue\r\n }));\r\n return (\r\n
\r\n {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n // ]}\r\n />\r\n\r\n {\r\n return {\r\n style: {\r\n fontWeight: record.storeName == \"Grand Total\" ? \"bold\" : null,\r\n color: record.storeName == \"Grand Total\" ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n bordered\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Dailyordersummarycomponent from '../../../components/StoreModule/Audit/dailyordersummary.component';\r\n\r\nexport default class dailyordersummaryscreen extends Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Row,\r\n Col,\r\n Form,\r\n Table,\r\n notification,\r\n DatePicker,\r\n} from \"antd\";\r\nimport pendingcashsummaryservice from \"../../../services/pendingcashsummaryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport moment from \"moment\";\r\n\r\nexport default class dailypickupsummarycomponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pendingcashsummaryservice = new pendingcashsummaryservice();\r\n this.common = new Common();\r\n this.state = {\r\n dailypickupsummary: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 200,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.DAILY_PICKUP_SUMMARY\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"srNo\",\r\n key: \"srNo\",\r\n align: \"center\",\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n align: \"center\",\r\n },\r\n\r\n {\r\n title: \"Total No. of Pickups\",\r\n dataIndex: \"tPickup\",\r\n key: \"tPickup\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"No. of Pickups Assigned\",\r\n dataIndex: \"aPickup\",\r\n key: \"aPickup\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"No. of Pickups Done\",\r\n dataIndex: \"dPickup\",\r\n key: \"dPickup\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"No. of Pickups Rescheduled\",\r\n dataIndex: \"rpickup\",\r\n key: \"rpickup\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"No. of Pickups Cancelled \",\r\n dataIndex: \"cPickup\",\r\n key: \"cPickup\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n sortColumn: null,\r\n sortOrder: null,\r\n });\r\n }\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.pendingcashsummaryservice\r\n .getDailyPickupSummary(params)\r\n .then((items) => {\r\n // console.log(\"items->\", items);\r\n this.setState({\r\n dailypickupsummary: [],\r\n });\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n dailypickupsummary: items.data,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Daily Pickup Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Daily Pickup Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter, extra) => {\r\n // console.log(\"pagination->\", pagination);\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.fetchItems({\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n });\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n const {pagination, loading } = this.state;\r\n const dailypickupsummary = this.state.dailypickupsummary;\r\n console.log(\"dailypickupsummary->\", dailypickupsummary);\r\n const listItems = dailypickupsummary.map((item, index) => ({\r\n key: item.storeID,\r\n srNo: item.rowNumber,\r\n storeName: item.storeName,\r\n tPickup: item.tPickup,\r\n aPickup: item.aPickup,\r\n dPickup: item.dPickup,\r\n rpickup: item.rpickup,\r\n cPickup: item.cPickup,\r\n }));\r\n return (\r\n
\r\n {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n // ]}\r\n />\r\n\r\n {\r\n return {\r\n style: {\r\n fontWeight: record.storeName == \"Grand Total\" ? \"bold\" : null,\r\n color: record.storeName == \"Grand Total\" ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n bordered\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Dailypickupsummarycomponent from '../../../components/StoreModule/Audit/dailypickupsummary.component';\r\n\r\nexport default class dailypickupsummaryscreen extends Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport styles from \"../../Common/Styles/master.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Row,\r\n Col,\r\n Form,\r\n Table,\r\n notification,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons\";\r\nimport pendingcashsummaryservice from \"../../../services/pendingcashsummaryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport moment from \"moment\";\r\nconst CURRENT_DATE = new Date();\r\nconst monthFormat = \"YYYY/MM\";\r\nexport default class monthlypickupsummarycomponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pendingcashsummaryservice = new pendingcashsummaryservice();\r\n this.common = new Common();\r\n this.state = {\r\n currentMonth: moment(CURRENT_DATE),\r\n selectedmonth: moment(CURRENT_DATE).format(\"M\"),\r\n selectedyear: moment(CURRENT_DATE).format(\"Y\"),\r\n monthlypickupsummary: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 200,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) =>\r\n val.screenName == this.UserRightsConfiguration.MONTHLY_PICKUP_SUMMARY\r\n );\r\n\r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"srNo\",\r\n key: \"srNo\",\r\n align: \"center\",\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n align: \"center\",\r\n },\r\n\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"orders\",\r\n key: \"orders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"No. of ODM Orders\",\r\n dataIndex: \"odmOrder\",\r\n key: \"odmOrder\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n\r\n {\r\n title: \"No. of Walking Orders\",\r\n dataIndex: \"walkingOrder\",\r\n key: \"walkingOrder\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"No. of Cancelled Pickups\",\r\n dataIndex: \"canceledPickup\",\r\n key: \"canceledPickup\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n sortColumn: null,\r\n sortOrder: null,\r\n });\r\n }\r\n\r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.pendingcashsummaryservice\r\n .getMonthlyPickupSummary(params)\r\n .then((items) => {\r\n // console.log(\"items->\", items);\r\n this.setState({\r\n monthlypickupsummary: [],\r\n });\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n monthlypickupsummary: items.data,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Monthly Pickup Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Monthly Pickup Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleTableChange = (pagination, filters, sorter, extra) => {\r\n // console.log(\"pagination->\", pagination);\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order,\r\n });\r\n }\r\n );\r\n };\r\n\r\n handleDateChange = (date, dateString) => {\r\n //console.log(\"dateString->\", dateString);\r\n let month = dateString.split(\"/\")[1];\r\n let year = dateString.split(\"/\")[0];\r\n // console.log(\"month->\", month, year);\r\n this.setState({ selectedmonth: month, selectedyear: year });\r\n };\r\n\r\n render() {\r\n const { pagination, loading } = this.state;\r\n const monthlypickupsummary = this.state.monthlypickupsummary;\r\n // console.log(\"monthlypickupsummary->\", monthlypickupsummary);\r\n const listItems = monthlypickupsummary.map((item, index) => ({\r\n key: item.storeID,\r\n srNo: item.rowNumber,\r\n storeName: item.storeName,\r\n orders: item.orders,\r\n odmOrder: item.odmOrder,\r\n walkingOrder: item.walkingOrder,\r\n canceledPickup: item.canceledPickup,\r\n }));\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n \r\n this.fetchItems({\r\n fMonth: this.state.selectedmonth,\r\n fYear: this.state.selectedyear,\r\n sortColumn: null,\r\n sortOrder: null,\r\n })\r\n }\r\n initialValues={{\r\n currentMonth: this.state.currentMonth,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, dateString)\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n return {\r\n style: {\r\n fontWeight: record.storeName == \"Grand Total\" ? \"bold\" : null,\r\n color: record.storeName == \"Grand Total\" ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n bordered\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Monthlypickupsummarycomponent from '../../../components/StoreModule/Audit/monthlypickupsummary.component';\r\n\r\nexport default class monthlypickupsummaryscreen extends Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport TableActions from \"../../Common/TableActions/tableactions\";\r\nimport {\r\n PageHeader,\r\n Table,\r\n notification,\r\n} from \"antd\";\r\nimport pendingcashsummaryservice from \"../../../services/pendingcashsummaryservice\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\n\r\nexport default class monthlyordersummarycomponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.UserRightsConfiguration = new UserRightsConfiguration();\r\n this.pendingcashsummaryservice = new pendingcashsummaryservice();\r\n this.common = new Common();\r\n this.state = {\r\n monthlyordersummary: [],\r\n data: [],\r\n pagination: {\r\n current: 1,\r\n pageSize: 200,\r\n total: 0,\r\n showSizeChanger: true,\r\n },\r\n showfilterBox: true,\r\n loading: true,\r\n userRights: [],\r\n isResponseErrorShow: false,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n };\r\n }\r\n \r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n \r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.MONTHLY_ORDER_SUMMARY\r\n );\r\n \r\n const storeOrFactory = localStorage\r\n .getItem(\"Store/FactoryType\")\r\n .toLowerCase();\r\n if (!res[0].isView) {\r\n if (storeOrFactory === \"store\") {\r\n window.location.href = \"/store/dashboard\";\r\n } else {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n \r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"srNo\",\r\n key: \"srNo\",\r\n align: \"center\",\r\n },\r\n {\r\n title: \"Store Name\",\r\n dataIndex: \"storeName\",\r\n key: \"storeName\",\r\n align: \"center\",\r\n },\r\n \r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"totalOrders\",\r\n key: \"totalOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n \r\n {\r\n title: \"ODM\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"odmOrders\",\r\n key: \"odmOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"odmAmount\",\r\n key: \"odmAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n \r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"odmRevenue\",\r\n key: \"odmRevenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n \r\n {\r\n title: \"Walk-In\",\r\n children: [\r\n {\r\n title: \"NO of Orders\",\r\n dataIndex: \"wOrders\",\r\n key: \"wOrders\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n {\r\n title: \"Amount\",\r\n dataIndex: \"wAmount\",\r\n key: \"wAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n \r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"wRevenue\",\r\n key: \"wRevenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ],\r\n },\r\n \r\n {\r\n title: \"Amount\",\r\n dataIndex: \"totalAmount\",\r\n key: \"totalAmount\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n \r\n {\r\n title: \"Revenue %\",\r\n dataIndex: \"revenue\",\r\n key: \"revenue\",\r\n align: \"center\",\r\n sorter: true,\r\n },\r\n ];\r\n \r\n \r\n componentDidMount() {\r\n this.setState({ isResponseErrorShow: false });\r\n this.fetchItems({\r\n sortColumn: null,\r\n sortOrder: null,\r\n });\r\n }\r\n \r\n fetchItems = (params = {}) => {\r\n this.setState({ loading: true });\r\n this.pendingcashsummaryservice\r\n .getMonthlyOrderSummary(params)\r\n .then((items) => {\r\n // console.log(\"items->\", items);\r\n this.setState({\r\n monthlyordersummary: [],\r\n });\r\n if (items.statusCode === 200) {\r\n this.setState({\r\n monthlyordersummary: items.data,\r\n });\r\n } else {\r\n if (!this.state.isResponseErrorShow) {\r\n notification[\"error\"]({\r\n message: \"Monthly Order Summary\",\r\n description: items.message\r\n ? items.message\r\n : \"Unable to get Monthly Order Summary data\",\r\n });\r\n this.setState({\r\n isResponseErrorShow: true,\r\n });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n \r\n handleTableChange = (pagination, filters, sorter, extra) => {\r\n // console.log(\"pagination->\", pagination);\r\n this.setState(\r\n {\r\n sorter: {\r\n ...sorter,\r\n order:\r\n sorter.order === \"ascend\"\r\n ? \"asc\"\r\n : sorter.order === \"descend\"\r\n ? \"desc\"\r\n : sorter.order,\r\n },\r\n },\r\n () => {\r\n this.fetchItems({\r\n sortColumn: this.state.sorter.field,\r\n sortOrder: this.state.sorter.order, \r\n });\r\n }\r\n );\r\n };\r\n \r\n render() {\r\n const { pagination,loading } = this.state;\r\n const monthlyordersummary = this.state.monthlyordersummary;\r\n // console.log(\"monthlyordersummary->\", monthlyordersummary);\r\n const listItems = monthlyordersummary.map((item, index) => ({\r\n key: item.storeID,\r\n srNo: item.rowNumber,\r\n storeName: item.storeName,\r\n totalOrders: item.totalOrders,\r\n totalAmount: item.totalAmount,\r\n revenue: item.revenue,\r\n odmOrders:item.odmOrders,\r\n odmAmount:item.odmAmount,\r\n odmRevenue:item.odmRevenue,\r\n wOrders:item.wOrders,\r\n wAmount:item.wAmount,\r\n wRevenue:item.wRevenue\r\n }));\r\n return (\r\n
\r\n {\r\n // this.setState({ showfilterBox: !this.state.showfilterBox });\r\n // }}\r\n // >\r\n // {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n // \r\n // ,\r\n // ]}\r\n />\r\n \r\n {\r\n return {\r\n style: {\r\n fontWeight: record.storeName == \"Grand Total\" ? \"bold\" : null,\r\n color: record.storeName == \"Grand Total\" ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.columns}\r\n dataSource={listItems}\r\n pagination={pagination}\r\n loading={loading}\r\n onChange={this.handleTableChange}\r\n bordered\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport Monthlyordersummarycomponent from '../../../components/StoreModule/Audit/monthlyordersummary.component';\r\n\r\nexport default class monthlyordersummaryscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import Configuration from \"../shared/configuration\";\r\nimport EndPointEntity from \"../shared/endpointentity\";\r\nimport API from \"../shared/API\";\r\nimport Common from \"./common\";\r\nimport moment from \"moment\";\r\n\r\nexport default class dailysheetservice {\r\n constructor() {\r\n this.config = new Configuration();\r\n this.endpoint = new EndPointEntity();\r\n this.common = new Common();\r\n }\r\n\r\n async getDailyExpressOrderData(params) {\r\n const inventoryApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n inventoryApi.createEntity({\r\n name: this.endpoint.GET_DAILY_EXPRESSORDER_DATA,\r\n });\r\n let inventory = [];\r\n\r\n await inventoryApi.endpoints[this.endpoint.GET_DAILY_EXPRESSORDER_DATA]\r\n .getAllPost(params)\r\n .then((response) => {\r\n inventory = response.data;\r\n })\r\n .catch((err) => {\r\n inventory = this.common.handleError(err);\r\n });\r\n if (inventory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n inventory = this.getDailyExpressOrderData(params);\r\n });\r\n }\r\n return Promise.resolve(inventory);\r\n }\r\n\r\n async getDailyRewashOrderData(params) {\r\n const inventoryApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n inventoryApi.createEntity({\r\n name: this.endpoint.GET_DAILY_REWASHORDER_DATA,\r\n });\r\n let inventory = [];\r\n\r\n await inventoryApi.endpoints[this.endpoint.GET_DAILY_REWASHORDER_DATA]\r\n .getAllPost(params)\r\n .then((response) => {\r\n inventory = response.data;\r\n })\r\n .catch((err) => {\r\n inventory = this.common.handleError(err);\r\n });\r\n if (inventory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n inventory = this.getDailyRewashOrderData(params);\r\n });\r\n }\r\n return Promise.resolve(inventory);\r\n }\r\n\r\n \r\n async getDailyFiveStarOrderData(params) {\r\n const inventoryApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n inventoryApi.createEntity({\r\n name: this.endpoint.GET_DAILY_FIVESTARORDER_DATA,\r\n });\r\n let inventory = [];\r\n\r\n await inventoryApi.endpoints[this.endpoint.GET_DAILY_FIVESTARORDER_DATA]\r\n .getAllPost(params)\r\n .then((response) => {\r\n inventory = response.data;\r\n })\r\n .catch((err) => {\r\n inventory = this.common.handleError(err);\r\n });\r\n if (inventory.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n inventory = this.getDailyFiveStarOrderData(params);\r\n });\r\n }\r\n return Promise.resolve(inventory);\r\n }\r\n\r\n async AddUrgentOrder(postData) {\r\n const myApi = new API({ url: this.config.ITEM_FACTORY_URL });\r\n myApi.createEntity({ name: this.endpoint.ADD_URGENT_ORDER });\r\n let itemArray = [];\r\n await myApi.endpoints.AddUrgentOrder.create(postData)\r\n .then(({ data }) => {\r\n itemArray = data;\r\n })\r\n .catch((err) => {\r\n itemArray = this.common.handleError(err);\r\n });\r\n if (itemArray.statusCode == 401) {\r\n await this.common.refreshToken().then((response) => {\r\n this.common.setToken(response);\r\n itemArray = this.AddUrgentOrder(postData);\r\n });\r\n }\r\n return Promise.resolve(itemArray);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styles from \"./dailysheet.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n Row,\r\n Col,\r\n Form,\r\n notification,\r\n Checkbox,\r\n Space,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport {\r\n faChevronUp,\r\n faFileExcel,\r\n faInfo,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Dailysheetservice from \"../../../services/dailysheetservice\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class expressfactorycomponent extends React.Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n Dailysheetservice = new Dailysheetservice();\r\n common = new Common();\r\n\r\n state = {\r\n showfilterBox: true,\r\n FromDate: Moment(ONE_MONTHS_AGO),\r\n ToDate: Moment(),\r\n expressData: [],\r\n loading: true,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n SplitOrderNumber: \"\",\r\n showModal: false,\r\n printDate: Moment(),\r\n IsPrint: false,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.EXPRESS_URGENT\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: labels.SR_NO,\r\n dataIndex: \"srNo\",\r\n key: \"srNo\",\r\n render: (text) => {\r\n return text != 0 ? text : \"\";\r\n },\r\n },\r\n {\r\n title: \"Store Code\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n },\r\n {\r\n title: \"Order ID\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n },\r\n\r\n {\r\n title: \"Lot\",\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n },\r\n {\r\n title: \"Factory-In Date\",\r\n dataIndex: \"factoryInTime\",\r\n key: \"factoryInTime\",\r\n render: (text) => {\r\n return text != \"\" ? Moment(text).format(\"YYYY-MM-DD\") : \"\";\r\n },\r\n },\r\n {\r\n title: \"Delivery Date\",\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n render: (text) => {\r\n return text != \"\" ? Moment(text).format(\"YYYY-MM-DD\") : \"\";\r\n },\r\n },\r\n {\r\n title: \"Order Remarks\",\r\n dataIndex: \"orderRemarks\",\r\n key: \"orderRemarks\",\r\n render: (text) => {\r\n return {\r\n props: {\r\n style: { background: text == \"Urgent Order\" ? \"#a9d08e\" : null },\r\n },\r\n children:
{text}
,\r\n };\r\n },\r\n },\r\n {\r\n title: \"Packed\",\r\n dataIndex: \"noofPackedgarments\",\r\n key: \"noofPackedgarments\",\r\n width: \"7%\",\r\n },\r\n {\r\n title: \"Packing Due\",\r\n dataIndex: \"packingDue\",\r\n key: \"packingDue\",\r\n width: \"7%\",\r\n },\r\n {\r\n title: \"Remark\",\r\n dataIndex: \"remarks\",\r\n key: \"remarks\",\r\n width: \"16%\",\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getExpressorderData();\r\n }\r\n\r\n getExpressorderData = () => {\r\n let Param = {};\r\n Param = {\r\n FromDate: Moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: Moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n };\r\n this.setState({ loading: true });\r\n\r\n this.Dailysheetservice.getDailyExpressOrderData(Param).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ expressData: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.EXPRESS_URGENT,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_EXPRESS_URGENT_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleCancel = () => {\r\n this.setState({ showModal: false });\r\n };\r\n\r\n handleOk = () => {\r\n this.setState({ loading: true, showModal: false });\r\n let Param = {};\r\n Param = {\r\n SplitOrderNumber: this.state.SplitOrderNumber,\r\n };\r\n\r\n this.Dailysheetservice.AddUrgentOrder(Param).then((response) => {\r\n if (response.statusCode === 200) {\r\n notification[\"success\"]({\r\n message: labels.EXPRESS_URGENT,\r\n description: response.message,\r\n });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.EXPRESS_URGENT,\r\n description: response.message,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n\r\n this.setState({ SplitOrderNumber: \"\" });\r\n this.getExpressorderData();\r\n };\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const expressData = this.state.expressData;\r\n // console.log(\"expressData->\", expressData);\r\n const listItems = expressData.map((item) => ({\r\n srNo: item.srNo,\r\n splitOrderNumber: item.splitOrderNumber,\r\n shortName: item.shortName,\r\n noOfGarment: item.noOfGarment,\r\n noofPackedgarments: item.noofPackedgarments,\r\n packingDue: item.packingDue,\r\n factoryInTime: item.factoryInTime,\r\n deliveryDate: item.deliveryDate,\r\n orderRemarks: item.orderRemarks,\r\n isSummary: item.isSummary,\r\n }));\r\n\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n \r\n {\r\n this.getExpressorderData();\r\n this.setState({\r\n printDate: this.state.ToDate,\r\n });\r\n }}\r\n initialValues={{\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n this.handleDateChange(date, \"FromDate\")}\r\n value={this.state.FromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"ToDate\")}\r\n value={this.state.ToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n this.componentRef}\r\n trigger={() => {\r\n return (\r\n // Print this out!\r\n {\r\n this.setState({ IsPrint: true });\r\n }}\r\n >\r\n Print\r\n \r\n );\r\n }}\r\n >\r\n\r\n this.setState({ showModal: true })}\r\n >\r\n Add Urgent Order\r\n \r\n \r\n \r\n \r\n \r\n\r\n (this.componentRef = el)}\r\n listItems={listItems}\r\n columns={this.columns}\r\n loading={loading}\r\n printDate={this.state.printDate}\r\n IsPrint={this.state.IsPrint}\r\n />\r\n\r\n \r\n this.handleOk()}\r\n onCancel={() => this.handleCancel()}\r\n className=\"modal-form\"\r\n destroyOnClose\r\n >\r\n
\r\n \r\n this.setState({\r\n SplitOrderNumber: event.target.value,\r\n })\r\n }\r\n />\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class PrintContainer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n

\r\n Express Orders {this.props.printDate.format(\"DD-MM-YYYY\")}\r\n

\r\n (this.componentRef = el)}\r\n size=\"small\"\r\n onRow={(record, rowIndex) => {\r\n return {\r\n style: {\r\n background: record.isSummary ? \"#a0c4e4\" : null,\r\n fontWeight: record.isSummary ? \"bold\" : null,\r\n color: record.isSummary ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.props.columns}\r\n dataSource={this.props.listItems}\r\n pagination={false}\r\n loading={this.props.loading}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport Expressfactorycomponent from '../../../components/FactoryModule/DailySheet/express.factory.component';\r\n\r\nexport default class expressfactoryscreen extends React.Component {\r\n render() {\r\n return (\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport styles from \"./dailysheet.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n Row,\r\n Col,\r\n Form,\r\n notification,\r\n Checkbox,\r\n Space,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Dailysheetservice from \"../../../services/dailysheetservice\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Moment from \"moment\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faChevronUp,\r\n faFileExcel,\r\n faInfo,\r\n // faPencilAlt,\r\n // faTrash,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class RewashFactoryComponent extends Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n Dailysheetservice = new Dailysheetservice();\r\n common = new Common();\r\n\r\n state = {\r\n showfilterBox: true,\r\n FromDate: Moment(ONE_MONTHS_AGO),\r\n ToDate: Moment(),\r\n showInfoPopup: false,\r\n rewashData: [],\r\n loading: true,\r\n printDate: Moment(),\r\n srNo: 0,\r\n };\r\n\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.REWASH\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n count = 0;\r\n columns = [\r\n {\r\n title: \"Sr.No\",\r\n dataIndex: \"srNumber\",\r\n key: \"srNumber\",\r\n // align: 'center',\r\n render: (text, record, index) => {\r\n if (!record.isSummary) {\r\n this.count += 1;\r\n } else {\r\n this.count = null;\r\n }\r\n return this.count;\r\n },\r\n },\r\n {\r\n title: \"Store Code\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n },\r\n {\r\n title: \"Rewash Order ID\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n },\r\n {\r\n title: \"Original Order ID\",\r\n dataIndex: \"rewashOrderID\",\r\n key: \"rewashOrderID\",\r\n render: (text) => {\r\n return text != 0 ? text : \"\";\r\n },\r\n },\r\n {\r\n title: \"Rewash Lot\",\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n width: \"7%\",\r\n },\r\n {\r\n title: \"Rewash Remark\",\r\n dataIndex: \"rewashRemark\",\r\n key: \"rewashRemark\",\r\n },\r\n\r\n {\r\n title: \"Delivery Date\",\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n render: (text) => {\r\n return text ? Moment(text).format(\"YYYY-MM-DD\") : \"\";\r\n },\r\n },\r\n\r\n {\r\n title: \"Factory Remarks\",\r\n dataIndex: \"\",\r\n key: \"\",\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getRewashorderData();\r\n }\r\n\r\n getRewashorderData = () => {\r\n let Param = {};\r\n Param = {\r\n FromDate: Moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: Moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n };\r\n this.setState({ loading: true });\r\n\r\n this.Dailysheetservice.getDailyRewashOrderData(Param).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ rewashData: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.REWASH,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_REWASh_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleCancel = () => {\r\n this.setState({ showModal: false });\r\n };\r\n\r\n render() {\r\n const { loading, rewashData } = this.state;\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n\r\n \r\n {\r\n this.getRewashorderData();\r\n this.setState({\r\n printDate: this.state.ToDate,\r\n });\r\n }}\r\n initialValues={{\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n this.handleDateChange(date, \"FromDate\")}\r\n value={this.state.FromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"ToDate\")}\r\n value={this.state.ToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n this.componentRef}\r\n trigger={() => {\r\n return (\r\n // Print this out!\r\n \r\n Print\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n (this.componentRef = el)}\r\n rewashData={rewashData}\r\n columns={this.columns}\r\n loading={loading}\r\n printDate={this.state.printDate}\r\n />\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class PrintContainer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n \r\n

\r\n Rewash Orders {this.props.printDate.format(\"DD-MM-YYYY\")}\r\n

\r\n (this.componentRef = el)}\r\n size=\"small\"\r\n onRow={(record, rowIndex) => {\r\n return {\r\n style: {\r\n background: record.isSummary ? \"#a0c4e4\" : null,\r\n fontWeight: record.isSummary ? \"bold\" : null,\r\n color: record.isSummary ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.props.columns}\r\n dataSource={this.props.rewashData}\r\n pagination={false}\r\n loading={this.props.loading}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport RewashFactoryComponent from '../../../components/FactoryModule/DailySheet/rewash.factory.component'\r\n\r\nexport default class RewashFactoryScreen extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport styles from \"./dailysheet.module.css\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport Filters from \"../../Common/Filters/filters\";\r\nimport {\r\n PageHeader,\r\n Input,\r\n Select,\r\n Table,\r\n Row,\r\n Col,\r\n Form,\r\n notification,\r\n Checkbox,\r\n Space,\r\n Tooltip,\r\n Modal,\r\n Spin,\r\n DatePicker,\r\n} from \"antd\";\r\nimport Moment from \"moment\";\r\nimport { IsAuthenticated } from \"../../../services/auth-header\";\r\nimport Dailysheetservice from \"../../../services/dailysheetservice\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport Common from \"../../../services/common\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport ReactToPrint from \"react-to-print\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons\";\r\nconst ONE_MONTHS_AGO = new Date();\r\nONE_MONTHS_AGO.setMonth(ONE_MONTHS_AGO.getMonth() - 1);\r\n\r\nexport default class fivestarfactorycomponent extends Component {\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n Dailysheetservice = new Dailysheetservice();\r\n common = new Common();\r\n\r\n state = {\r\n showfilterBox: true,\r\n FromDate: Moment(ONE_MONTHS_AGO),\r\n ToDate: Moment(),\r\n fiveStarData: [],\r\n loading: true,\r\n search: null,\r\n sorter: {\r\n field: null,\r\n order: null,\r\n },\r\n showModal: false,\r\n printDate: Moment(),\r\n };\r\n componentWillMount() {\r\n if (!IsAuthenticated()) {\r\n window.location.href = \"/\";\r\n }\r\n var data = JSON.parse(localStorage.getItem(\"userrights\"));\r\n var res = data.filter(\r\n (val) => val.screenName == this.UserRightsConfiguration.FIVE_STARE\r\n );\r\n if (!res[0].isView) {\r\n window.location.href = \"/factory/dashboard\";\r\n }\r\n this.setState({ userRights: res });\r\n }\r\n\r\n columns = [\r\n {\r\n title: \"Sr.No\",\r\n dataIndex: \"srNumber\",\r\n key: \"srNumber\",\r\n align: \"center\",\r\n render: (text, record, index) => {\r\n if (!record.isSummary) {\r\n this.count += 1;\r\n } else {\r\n this.count = null;\r\n }\r\n return this.count;\r\n },\r\n width:'10%'\r\n },\r\n {\r\n title: \"Store Code\",\r\n dataIndex: \"shortName\",\r\n key: \"shortName\",\r\n width:'10%'\r\n },\r\n {\r\n title: \"Order ID\",\r\n dataIndex: \"splitOrderNumber\",\r\n key: \"splitOrderNumber\",\r\n width:'11%'\r\n },\r\n\r\n {\r\n title: \"Lot\",\r\n dataIndex: \"noOfGarment\",\r\n key: \"noOfGarment\",\r\n width:'7%'\r\n },\r\n {\r\n title: \"Delivery Date\",\r\n dataIndex: \"deliveryDate\",\r\n key: \"deliveryDate\",\r\n render: (text) => {\r\n return text != \"\" ? Moment(text).format(\"YYYY-MM-DD\") : \"\";\r\n },\r\n width:'15%'\r\n \r\n },\r\n {\r\n title: \"Remark\",\r\n dataIndex: \"remarks\",\r\n key: \"remarks\",\r\n width:'13%'\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n this.getDailyFiveStarOrderData();\r\n }\r\n\r\n getDailyFiveStarOrderData = () => {\r\n let Param = {};\r\n Param = {\r\n FromDate: Moment(this.state.FromDate).format(\"YYYY-MM-DD\"),\r\n ToDate: Moment(this.state.ToDate).format(\"YYYY-MM-DD\"),\r\n };\r\n this.setState({ loading: true });\r\n\r\n this.Dailysheetservice.getDailyFiveStarOrderData(Param).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({ fiveStarData: response.data });\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.FIVE_STARE,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_FIVESTAR_DATA,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n handleDateChange = (date, name) => {\r\n this.setState({ [name]: date });\r\n };\r\n\r\n handleCancel = () => {\r\n this.setState({ showModal: false });\r\n };\r\n\r\n render() {\r\n const { loading, fiveStarData } = this.state;\r\n\r\n return (\r\n
\r\n {\r\n this.setState({ showfilterBox: !this.state.showfilterBox });\r\n }}\r\n key=\"3\"\r\n >\r\n {this.state.showfilterBox ? \"Hide Filters\" : \"Show Filters\"}\r\n \r\n ,\r\n ]}\r\n />\r\n\r\n \r\n {\r\n this.getDailyFiveStarOrderData();\r\n this.setState({\r\n printDate: this.state.ToDate,\r\n });\r\n }}\r\n initialValues={{\r\n FromDate: this.state.FromDate,\r\n ToDate: this.state.ToDate,\r\n }}\r\n >\r\n \r\n \r\n \r\n this.handleDateChange(date, \"FromDate\")}\r\n value={this.state.FromDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n // defaultValue={this.state.fromDate}\r\n // selected={this.state.defaultFromDate}\r\n />\r\n \r\n \r\n \r\n \r\n this.handleDateChange(date, \"ToDate\")}\r\n value={this.state.ToDate}\r\n // disabledDate={(currentDate) =>\r\n // currentDate.isAfter(Moment(), \"day\") ? true : false\r\n // }\r\n />\r\n \r\n \r\n \r\n \r\n {labels.APPLY}\r\n \r\n \r\n \r\n this.componentRef}\r\n trigger={() => {\r\n return (\r\n // Print this out!\r\n \r\n Print\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n (this.componentRef = el)}\r\n fiveStarData={fiveStarData}\r\n columns={this.columns}\r\n loading={loading}\r\n printDate={this.state.printDate}\r\n />\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class PrintContainer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n \r\n

\r\n 5 Star DC Process {this.props.printDate.format(\"DD-MM-YYYY\")}\r\n

\r\n (this.componentRef = el)}\r\n size=\"small\"\r\n onRow={(record, rowIndex) => {\r\n return {\r\n style: {\r\n background: record.isSummary ? \"#a0c4e4\" : null,\r\n fontWeight: record.isSummary ? \"bold\" : null,\r\n color: record.isSummary ? \"black\" : null,\r\n },\r\n };\r\n }}\r\n columns={this.props.columns}\r\n dataSource={this.props.fiveStarData}\r\n pagination={false}\r\n loading={this.props.loading}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport FivestarFactoryComponent from '../../../components/FactoryModule/DailySheet/fivestar.factory.component';\r\n\r\n\r\nexport default class fivestarfactoryscreen extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport Button from \"../../Common/Button/button\";\r\nimport {\r\n Checkbox,\r\n Col,\r\n PageHeader,\r\n Row,\r\n notification,\r\n Affix,\r\n Typography,\r\n} from \"antd\";\r\nimport moment from \"moment\";\r\nimport storemarkerimg from \"../../../images/MapMarker/shoppurple.svg\";\r\nimport { labels } from \"../../../shared/language\";\r\nimport PickupService from \"../../../services/pickupservice\";\r\nimport Common from \"../../../services/common\";\r\nimport UserRightsConfiguration from \"../../../shared/userrightsconfiguration\";\r\nimport DeliveryList from \"../../../services/storedeliverylistservice\";\r\nconst { Text } = Typography;\r\n\r\nexport default class ViewOnMapComponent extends Component {\r\n pickupService = new PickupService();\r\n deliveryListService = new DeliveryList();\r\n\r\n UserRightsConfiguration = new UserRightsConfiguration();\r\n common = new Common();\r\n\r\n state = {\r\n TodayPickupList: [],\r\n TodayDeliveryList: [],\r\n ShowMapView: false,\r\n SelectedData: {},\r\n TodayPickupSlotList: [],\r\n TodayDeliverySlotList: [],\r\n MarkerList: [],\r\n checkBoxPickupValue: [],\r\n checkBoxDeliveryValue: [],\r\n };\r\n\r\n componentDidMount() {\r\n this.getTodayPickuplist();\r\n this.getTodayDeliverylist();\r\n }\r\n\r\n getTodayPickuplist = () => {\r\n let params = {\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n sourceFrom: 1,\r\n userID: 0,\r\n };\r\n this.pickupService.GetTodayPickipList(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n // console.log(\"response->\", response);\r\n this.setState({\r\n TodayPickupList: response.data.pickupListRes,\r\n TodayPickupSlotList: response.data.slotList,\r\n ShowMapView: true,\r\n });\r\n if (\r\n response.data.pickupListRes != null &&\r\n response.data.pickupListRes != undefined &&\r\n response.data.pickupListRes.length > 0\r\n ) {\r\n this.initMap();\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.PICKUPS,\r\n description: response.message\r\n ? this.common.Message(response.message)\r\n : labels.UNABLE_TO_GET_PICKUP_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getTodayDeliverylist = () => {\r\n let params = {\r\n storeID: parseInt(localStorage.getItem(\"branchID\")),\r\n sourceFrom: 1,\r\n userID: 0,\r\n };\r\n this.deliveryListService.getTodayDeliverylist(params).then((response) => {\r\n if (response.statusCode === 200) {\r\n this.setState({\r\n TodayDeliveryList: response.data.deliveryList,\r\n TodayDeliverySlotList: response.data.slotList,\r\n ShowMapView: true,\r\n });\r\n\r\n if (\r\n response.data.deliveryList !== null &&\r\n response.data.deliveryList != undefined &&\r\n response.data.deliveryList.length > 0\r\n ) {\r\n this.initMap();\r\n }\r\n } else {\r\n notification[\"error\"]({\r\n message: labels.DELIVERIES,\r\n description: response.message\r\n ? response.message\r\n : labels.UNABLE_TO_GET_LIST_OF_DELIVERY_LIST_DATA,\r\n });\r\n }\r\n });\r\n };\r\n\r\n initMap = () => {\r\n var map;\r\n var bounds = new window.google.maps.LatLngBounds();\r\n var mapOptions = {\r\n mapTypeId: \"roadmap\",\r\n };\r\n\r\n this.setState({\r\n SelectedData: {},\r\n });\r\n\r\n const icon = {\r\n url: storemarkerimg,\r\n size: new window.google.maps.Size(50, 50),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(17, 34),\r\n };\r\n // Display a map on the web page\r\n map = new window.google.maps.Map(\r\n document.getElementById(\"map\"),\r\n mapOptions\r\n );\r\n map.setTilt(50);\r\n\r\n //for pickup marker\r\n let selectedmarker = [];\r\n let PickupMarker = [];\r\n let DeliveryMarker = [];\r\n\r\n if (\r\n this.state.TodayPickupList != undefined &&\r\n this.state.TodayPickupList != null &&\r\n this.state.TodayPickupList.length > 0 &&\r\n this.state.checkBoxPickupValue != undefined &&\r\n this.state.checkBoxPickupValue != null &&\r\n this.state.checkBoxPickupValue.length > 0\r\n ) {\r\n PickupMarker = this.state.checkBoxPickupValue.map((slot) => {\r\n return this.state.TodayPickupList.filter((item) => item.slotID == slot);\r\n });\r\n }\r\n\r\n selectedmarker = PickupMarker;\r\n\r\n if (\r\n this.state.TodayDeliveryList != undefined &&\r\n this.state.TodayDeliveryList != null &&\r\n this.state.TodayDeliveryList.length > 0 &&\r\n this.state.checkBoxDeliveryValue != undefined &&\r\n this.state.checkBoxDeliveryValue != null &&\r\n this.state.checkBoxDeliveryValue.length > 0\r\n ) {\r\n DeliveryMarker = this.state.checkBoxDeliveryValue.map((slot) => {\r\n return this.state.TodayDeliveryList.filter(\r\n (item) => item.slotID == slot\r\n );\r\n });\r\n }\r\n\r\n // Merge PickupMarker with DeliveryMarker\r\n selectedmarker = selectedmarker.concat(DeliveryMarker);\r\n\r\n // Add multiple markers to map\r\n var infoWindow = new window.google.maps.InfoWindow(),\r\n marker,\r\n i;\r\n\r\n // Place pickup marker on the map\r\n if (\r\n selectedmarker != null &&\r\n selectedmarker != undefined &&\r\n selectedmarker.length > 0\r\n ) {\r\n selectedmarker.map((markers, index) => {\r\n for (i = 0; i < markers.length; i++) {\r\n var position = new window.google.maps.LatLng(\r\n markers[i].latitude,\r\n markers[i].longitude\r\n );\r\n // map.setCenter(position);\r\n // bounds.extend(position);\r\n\r\n marker = new window.google.maps.Marker({\r\n position: position,\r\n map: map,\r\n title: markers[i].pickupID\r\n ? markers[i].location\r\n : markers[i].address,\r\n label: {\r\n text: markers[i].pickupID\r\n ? `${markers[i].pickupID}`\r\n : markers[i].splitOrderNumber,\r\n color: this.state.TodayPickupSlotList.filter((e) => {\r\n return e.slotID == markers[i].slotID;\r\n })[0].colorName,\r\n // fontSize: \"20px\",\r\n // fontWeight: \"bold\"\r\n },\r\n icon: {\r\n path: markers[i].pickupID\r\n ? \"M-1.547 12l6.563-6.609-1.406-1.406-5.156 5.203-2.063-2.109-1.406 1.406zM0 0q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z\"\r\n : \"M8,0 L10,6 L16,6 L11,10 L13,16 L8,12 L3,16 L5,10 L0,6 L6,6 Z\",\r\n // path: \"M-1.547 12l6.563-6.609-1.406-1.406-5.156 5.203-2.063-2.109-1.406 1.406zM0 0q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z\",\r\n fillColor: this.state.TodayPickupSlotList.filter((e) => {\r\n return e.slotID == markers[i].slotID;\r\n })[0].colorName,\r\n fillOpacity: 1,\r\n strokeWeight: 1,\r\n // rotation: 0,\r\n scale: 1.2,\r\n anchor: new window.google.maps.Point(0, 20),\r\n labelOrigin: new window.google.maps.Point(0, 30),\r\n },\r\n });\r\n\r\n // this.setState({\r\n // MarkerList: marker,\r\n // });\r\n\r\n // Add info window to marker\r\n var self = this;\r\n window.google.maps.event.addListener(\r\n marker,\r\n \"click\",\r\n (function (marker, i) {\r\n var tempobj = {\r\n iD: markers[i].pickupID\r\n ? markers[i].pickupID\r\n : markers[i].splitOrderNumber,\r\n customerName: markers[i].customerName,\r\n mobileNo: markers[i].mobileNo,\r\n address: markers[i].pickupID\r\n ? markers[i].location\r\n : markers[i].address,\r\n };\r\n\r\n return function () {\r\n self.setState({\r\n SelectedData: tempobj,\r\n });\r\n infoWindow.setContent(markers[i].location);\r\n infoWindow.open(map, marker);\r\n navigator.geolocation.getCurrentPosition(function (position) {\r\n window.open(\r\n \"https://www.google.com/maps/dir/?api=1&origin=\" +\r\n position.coords.latitude +\r\n \",\" +\r\n position.coords.longitude +\r\n \"&destination=\" +\r\n markers[i].latitude +\r\n \",\" +\r\n markers[i].longitude,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n });\r\n };\r\n })(marker, i)\r\n );\r\n\r\n // Center the map to fit all markers on the screen\r\n map.fitBounds(bounds);\r\n }\r\n });\r\n }\r\n\r\n //for Store Marker -- Start\r\n var infoWindow = new window.google.maps.InfoWindow(),\r\n storemarker,\r\n i;\r\n\r\n // console.log(\"TodayPickupList->\", this.state.TodayPickupList);\r\n // console.log(\"TodayDeliveryList->\", this.state.TodayDeliveryList);\r\n\r\n let Storemarkers =\r\n this.state.TodayPickupList != null &&\r\n this.state.TodayPickupList != undefined &&\r\n this.state.TodayPickupList.length > 0\r\n ? this.state.TodayPickupList\r\n : this.state.TodayDeliveryList;\r\n var Storeposition = new window.google.maps.LatLng(\r\n Storemarkers[0].storeLat,\r\n Storemarkers[0].storeLong\r\n );\r\n\r\n map.setCenter(Storeposition);\r\n bounds.extend(Storeposition);\r\n storemarker = new window.google.maps.Marker({\r\n position: Storeposition,\r\n map: map,\r\n icon,\r\n title: Storemarkers[0].storeAddress,\r\n });\r\n\r\n window.google.maps.event.addListener(\r\n storemarker,\r\n \"click\",\r\n (function (storemarker, i) {\r\n return function () {\r\n infoWindow.setContent(Storemarkers[0].storeAddress);\r\n infoWindow.open(map, storemarker);\r\n };\r\n })(storemarker, i)\r\n );\r\n\r\n map.fitBounds(bounds);\r\n // End for Store\r\n\r\n // Set zoom level\r\n var boundsListener = window.google.maps.event.addListener(\r\n map,\r\n \"bounds_changed\",\r\n function (event) {\r\n this.setZoom(13);\r\n window.google.maps.event.removeListener(boundsListener);\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n\r\n {(this.state.TodayPickupList != undefined &&\r\n this.state.TodayPickupList.length > 0) ||\r\n (this.state.TodayDeliveryList != undefined &&\r\n this.state.TodayDeliveryList.length > 0) ? (\r\n
\r\n \r\n \r\n \r\n Pickup & Delivery list\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Store Name: \r\n {localStorage.getItem(\"Store/FactoryName\")}\r\n \r\n \r\n Date:  \r\n {moment().format(\"DD-MM-YYYY\")}\r\n \r\n \r\n Total Pickups:  \r\n {this.state.TodayPickupList != null &&\r\n this.state.TodayPickupList != undefined\r\n ? this.state.TodayPickupList.length\r\n : 0}\r\n \r\n \r\n Total Deliveries:  \r\n {this.state.TodayDeliveryList != null &&\r\n this.state.TodayDeliveryList != undefined\r\n ? this.state.TodayDeliveryList.length\r\n : 0}\r\n \r\n \r\n \r\n \r\n \r\n Pickups\r\n \r\n \r\n \r\n \r\n Deliveries\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ checkBoxPickupValue: e }, () => {\r\n this.initMap();\r\n });\r\n }}\r\n >\r\n {this.state.TodayPickupSlotList.map((item, index) => {\r\n return (\r\n \r\n {item.slotName}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {\r\n this.setState({ checkBoxDeliveryValue: e }, () => {\r\n this.initMap();\r\n });\r\n }}\r\n >\r\n {this.state.TodayDeliverySlotList.map((item, index) => {\r\n return (\r\n \r\n {item.slotName}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PickupID\r\n {this.state.TodayPickupList != null &&\r\n this.state.TodayPickupList != undefined &&\r\n this.state.TodayPickupList.length > 0 &&\r\n this.state.TodayPickupList.map((e, index) => {\r\n return (\r\n \r\n {\r\n this.setState(\r\n {\r\n SelectedData: {\r\n iD: e.pickupID,\r\n customerName: e.customerName,\r\n mobileNo: e.mobileNo,\r\n address: e.location,\r\n },\r\n }\r\n // () => this.showme(index)\r\n );\r\n }}\r\n >\r\n {\r\n return item.slotID == e.slotID;\r\n }\r\n )[0].colorName,\r\n }}\r\n >\r\n {e.pickupID}\r\n \r\n \r\n {/*
*/}\r\n
\r\n );\r\n })}\r\n \r\n \r\n DeleveryID\r\n {this.state.TodayDeliveryList != null &&\r\n this.state.TodayDeliveryList != undefined &&\r\n this.state.TodayDeliveryList.length > 0 &&\r\n this.state.TodayDeliveryList.map((e, index) => {\r\n return (\r\n
\r\n {\r\n this.setState(\r\n {\r\n SelectedData: {\r\n iD: e.splitOrderNumber,\r\n customerName: e.customerName,\r\n mobileNo: e.mobileNo,\r\n address: e.address,\r\n },\r\n }\r\n // () => this.showme(index)\r\n );\r\n }}\r\n >\r\n {\r\n return item.slotID == e.slotID;\r\n }\r\n )[0].colorName,\r\n }}\r\n >\r\n {e.splitOrderNumber}\r\n \r\n \r\n
\r\n
\r\n );\r\n })}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Pickup ID/Order ID: \r\n {this.state.SelectedData.iD}\r\n \r\n
\r\n Customer Name: \r\n {this.state.SelectedData.customerName}\r\n
\r\n
\r\n Mobile No.: \r\n {this.state.SelectedData.mobileNo}\r\n
\r\n
\r\n Address: \r\n {this.state.SelectedData.address}\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n No Pickup/Delivery Available\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ViewOnMapComponent from \"../../../components/StoreModule/ViewOnMap/viewonmap.component\"\r\n\r\nexport default class ViewOnMapScreen extends React.Component {\r\n render() {\r\n return \r\n }\r\n}","import React, { Component } from \"react\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport {\r\n // BrowserRouter as Router,\r\n Route,\r\n // useLocation,\r\n Switch,\r\n // NavLink,\r\n // browserHistory,\r\n // withRouter,\r\n Redirect,\r\n} from \"react-router-dom\";\r\nimport Login from \"./screens/Login/login.screen\";\r\n// import Session from \"./Session\";\r\nimport Dashboard from \"./screens/Dashboard/dashboard.screen\";\r\nimport BlankScreen from \"./screens/BlankPage/blank.screen\";\r\nimport WithHeaderSidebar from \"./components/Common/WithHeaderSidebar/WithHeaderSidebar\";\r\nimport Box from \"./components/Common/Box/box\";\r\nimport UserList from \"./screens/Master/User/userlist.screen\";\r\nimport CityMaster from \"./screens/Master/City/citymaster.screen\";\r\nimport StateMaster from \"./screens/Master/State/statemaster.screen\";\r\nimport DesignationMaster from \"./screens/Master/Designation/designationmaster.screen\";\r\nimport BrandMaster from \"./screens/Master/Brand/brandmaster.screen\";\r\nimport SizeMaster from \"./screens/Master/Size/sizemaster.screen\";\r\nimport KYCDocTypeMaster from \"./screens/Master/KYCDocType/kycdoctypemaster.screen\";\r\nimport ServiceMaster from \"./screens/Master/Service/servicemaster.screen\";\r\nimport GarmentMaster from \"./screens/Master/Garment/garmentmaster.screen\";\r\nimport GarmentColorMaster from \"./screens/Master/GarmentColor/garmentcolormaster.screen\";\r\nimport RewashReasonMaster from \"./screens/Master/RewashReason/rewashreasonmaster.screen\";\r\nimport OperationInstructionMaster from \"./screens/Master/OperationInstruction/operationinstructmaster.screen\";\r\nimport DeliveryChargesMaster from \"./screens/Master/DeliveryCharges/deliverychargemaster.screen\";\r\nimport RewardsScreen from \"./screens/Master/Rewards/rewards.screen\";\r\nimport PackagingChargesMaster from \"./screens/Master/PackagingCharges/packagechargemaster.screen\";\r\nimport ExpenseTypeMaster from \"./screens/Master/ExpenseType/expensetypemaster.screen\";\r\nimport FactoryMaster from \"./screens/Master/Factory/factorymaster.screen\";\r\nimport AddFactory from \"./components/Master/Factory/AddFactory/addfactory.component\";\r\nimport CustomerMaster from \"./screens/Master/Customer/customermaster.screen\";\r\nimport AddCustomer from \"./components/Master/Customer/AddCustomer/addcustomer.component\";\r\nimport ROUTES from \"./routes\";\r\nimport StoreList from \"./screens/Master/Store/storelist.screen\";\r\nimport CreateUser from \"./screens/Master/User/createuser.screen\";\r\nimport CreateStore from \"./screens/Master/Store/createstore.screen\";\r\n// import MultiLanguage from \"./screens/MultiLanguage\";\r\nimport Test from \"./test\";\r\nimport RateCardList from \"./screens/RateCard/ratecardlist.screen\";\r\nimport CreateRateCard from \"./screens/RateCard/createratecard.screen\";\r\nimport TimeCardList from \"./screens/TimeCard/timecardlist.screen\";\r\nimport CreateTimeCard from \"./screens/TimeCard/createtimecard.screen\";\r\nimport RoleScreenMapping from \"./screens/Role/RoleScreenMapping/rolescreenmapping.screen\";\r\nimport RoleMasterScreen from \"./screens/Role/RoleMaster/rolemaster.screen\";\r\nimport CorporateMaster from \"./screens/Master/Corporate/corporatemaster.screen\";\r\nimport AddCorporate from \"./components/Master/Corporate/AddCorporate/addcorporate.component\";\r\nimport StoreInventory from \"./screens/StoreModule/Inventory/inventory.store.screen\";\r\nimport ExpenseEntryScreen from \"./screens/StoreModule/ExpenseEntry/expenseentry.store.screen\";\r\nimport GatePassListScreen from \"./screens/StoreModule/GatePassList/gatepasslist.store.screen\";\r\nimport PreQCResponseListScreen from \"./screens/StoreModule/PreQCResponseList/preqcresponselist.store.screen\";\r\nimport EditPreQCStore from \"./components/StoreModule/PreQCResponseList/EditPreQCStore/editpreqcstore.component\";\r\nimport ReadyForDeliveryOrdersScreen from \"./screens/StoreModule/ReadyForDeliveryOrders/readyfordeliverysplitorders.store.screen\";\r\nimport TransferOutStore from \"./screens/StoreModule/TransferOut/transferout.store.screen\";\r\nimport TransferInStore from \"./screens/StoreModule/TransferIn/transferin.store.screen\";\r\nimport StoreDashboard from \"./screens/StoreModule/Dashboard/dashboard.screen\";\r\nimport FactoryGatePassListScreen from \"./screens/FactoryModule/FactoryGatepassList/factorygatepasslist.factory.screen\";\r\nimport TransferInScreen from \"./screens/FactoryModule/TransferIn/transferin.factory.screen\";\r\nimport TransferOutScreen from \"./screens/FactoryModule/TransferOut/transferout.factory.screen\";\r\nimport FactoryInventoryScreen from \"./screens/FactoryModule/Inventory/inventory.factory.screen\";\r\nimport PreQCFactory from \"./screens/FactoryModule/PreQC/preqc.factory.screen\";\r\nimport AddPreQCFactory from \"./components/FactoryModule/PreQC/AddPreQCFactory/addpreqcfactory.component\";\r\nimport PostQCFactory from \"./screens/FactoryModule/PostQC/postqc.factory.screen\";\r\nimport AddPostQCFactory from \"./components/FactoryModule/PostQC/AddPostQC/addpostqcfactory.component\";\r\nimport FactoryDashboard from \"./screens/FactoryModule/Dashboard/dashboard.screen\";\r\nimport DiscountMaster from \"./screens/DiscountMaster/discountmaster.screen\";\r\nimport AddDiscountMaster from \"./components/DiscountMaster/AddDiscountMaster/adddiscountmaster.component\";\r\nimport TermsAndConditions from \"./screens/TermsAndConditions/termsAndConditions.screen\";\r\nimport PackageConfiguration from \"./screens/LKWallet/PackageConfiguration/packageconfiguration.screen\";\r\nimport RefferalBonusConfiguration from \"./screens/LKWallet/RefferalBonusConfiguration/refferalbonusconfiguration.screen\";\r\nimport Compensation from \"./screens/LKWallet/Compensation/compensation.screen\";\r\nimport EmployeeCredit from \"./screens/LKWallet/EmployeeCredit/employeecredit.screen\";\r\nimport Customerbulkdebits from \"./screens/LKWallet/CustomerBulkDebit/customerbulkdebit.screen\";\r\nimport Customerbulkcredit from \"./screens/LKWallet/CustomerBulkCredit/customerbulkcredit.screen\";\r\nimport Refund from \"./screens/LKWallet/Refund/refund.screen\";\r\nimport AdvancePayment from \"./screens/LKWallet/AdvancePayment/advancepayment.screen\";\r\nimport Faq from \"./screens/Faq/faq.screen\";\r\n\r\nimport CashCoupon from \"./screens/Master/CashCoupon/cashcouponmaster.screen\";\r\nimport AddCashCoupon from \"./components/Master/CashCoupon/AddCashcouponMaster/addcashcouponmaster.component\";\r\n\r\nimport CreateOrder from \"./screens/StoreModule/Order/CreateOrder/createorder.screen\";\r\n\r\nimport PickupScreen from \"./screens/StoreModule/Pickup/CreatePickup/pickuplist.screen\";\r\nimport AddPickup from \"./components/StoreModule/Pickup/CreatePickup/AddPickup/addpickup.component\";\r\nimport ResortingAndPackagingScreen from \"./screens/FactoryModule/ResortingAndPackaging/ResortingAndPackaging.screen\";\r\nimport StikerPrint from \"./components/FactoryModule/ResortingAndPackaging/printstikerprint\";\r\nimport NoticeBoard from \"./screens/NoticeBoard/noticeboard.screen\";\r\nimport Appsflyer from \"./screens/AppsFlyer/appsflyer.screen\";\r\nimport OrderListing from \"./screens/StoreModule/Order/orderlist.screen\";\r\nimport DeliveryList from \"./screens/StoreModule/DeliveryList/deliverylist.store.screen\";\r\nimport Banner from \"./screens/Banner/banner.screen\";\r\nimport Invoice from \"./screens/StoreModule/Invoice/invoice.screen\";\r\nimport BuyPackage from \"./screens/LKWallet/BuyPackage/buypackage.screen\";\r\n\r\nimport FingerScanScreen from \"./screens/FingerScan/collectFingerPrint.screen\";\r\nimport AttendanceScreen from \"./screens/Attendance/attendance.screen\";\r\nimport AttendanceReport from \"./screens/Attendance/attendanceReport.screen\";\r\nimport ResortingAndPackagingList from \"./screens/FactoryModule/ResortingAndPackagingList/ResortingAndPackaging.screen\";\r\n\r\nimport CashCollectionScreen from \"./screens/CashCollection/cashcollection.screen\";\r\nimport BulkUploadCouponCodesScreen from \"./screens/BulkUploadCouponCodes/bulkuploadcouponcodes.screen\";\r\n\r\nimport StandardRateCardScreen from \"./screens/StandardRateCard/standardratecard.screen\";\r\nimport ServiceIconsMaster from \"./screens/Master/ServiceIncons/serviceicons.screen\";\r\nimport RedirectInvalidRequestScreen from \"./screens/RedirectInvalidReqestMessage\";\r\nimport PartialOrderReceivedScreen from \"./screens/StoreModule/PartialOrderReceived/partialorder.screen\";\r\n// import FactoryGatePassScreen from \"./screens/FactoryModule/GatePassList/gatepasslist.factory.screen\";\r\nimport Verification from \"./components/Master/Customer/AddCustomer/emailverification.component\";\r\nimport PaytmEDCMachineConfigScreen from \"./screens/PaytmEDCMachineConfig/paytmedcmachineconfig.screen\";\r\nimport HolidayConfigurationScreen from \"./screens/HoliDay/holidayconfiguration.screen\";\r\nimport StoreOrderhistoryscreen from \"./screens/StoreModule/OrderHistory/orderhistory.store.screen\";\r\nimport CustomBulkNotification from \"./screens/LKWallet/CustomBulkNotification/customebulknotification.screen\";\r\nimport StoreInPending from \"./screens/StoreModule/StoreInPending/storeinpending.store.screen\";\r\nimport FactoryInPending from \"./screens/FactoryModule/FactoryInPending/factoryinpending.factory.screen\";\r\nimport GarmentProcessing from \"./screens/FactoryModule/Processing/garmentprocessing.factory.screen\";\r\nimport ProcessingList from \"./screens/FactoryModule/Processing/processinglist.factory.screen\";\r\n\r\nimport DeliveryDashboard from \"./screens/StoreModule/DeliveryDashboard/deliverydashboard.screen\";\r\nimport Pendingcashsummaryscreen from \"./screens/StoreModule/Audit/pendingcashsummary.screen\";\r\nimport OrderSummary from \"./screens/StoreModule/Audit/ordersummary.screen\";\r\nimport Inventorysumarryscreen from \"./screens/FactoryModule/Inventory/inventorysumarry.screen\";\r\nimport OutOfCoverage from \"./screens/StoreModule/Audit/outofcoverage.screen\";\r\nimport PickupDeliveryAssignment from \"./screens/StoreModule/Audit/pickupdeliveryassignment.screen\";\r\nimport Dailyordersummaryscreen from \"./screens/StoreModule/Audit/dailyordersummary.screen\";\r\nimport Dailypickupsummaryscreen from \"./screens/StoreModule/Audit/dailypickupsummary.screen\";\r\nimport Monthlypickupsummaryscreen from \"./screens/StoreModule/Audit/monthlypickupsummary.screen\";\r\nimport Monthlyordersummaryscreen from \"./screens/StoreModule/Audit/monthlyordersummary.screen\";\r\nimport Expressfactoryscreen from \"./screens/FactoryModule/DailySheet/express.factory.screen\";\r\nimport RewashFactoryScreen from \"./screens/FactoryModule/DailySheet/rewash.factory.screen\";\r\nimport FivestarFactoryScreen from \"./screens/FactoryModule/DailySheet/fivestar.factory.screen\";\r\nimport ViewOnMap from \"./screens/StoreModule/ViewOnMap/viewonmap.screen\";\r\n\r\n\r\nconst verifyToken = () => {\r\n try {\r\n var decoded = jwt.verify(localStorage.getItem(\"currentuser\"));\r\n if (decoded.exp < (new Date().getTime() + 1) / 1000) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } catch (err) {\r\n return false;\r\n }\r\n};\r\n\r\nconst PrivateRoute = ({ component: Component, children, ...rest }) => (\r\n // \r\n // verifyToken() === false ? : \r\n // }\r\n // >\r\n \r\n verifyToken() === false ? children : \r\n }\r\n />\r\n);\r\nexport default class Navigation extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Start ::Factory Master Route\r\n * @author Niraj Gohel\r\n * @created 16 June 2020\r\n */}\r\n \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 ::Factory Master Route */}\r\n {/**\r\n * Start ::Customer Master Route\r\n * @author Niraj Gohel\r\n * @created 25 June 2020\r\n */}\r\n \r\n \r\n \r\n \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 ::Customer Master Route */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* added by PB */}\r\n \r\n \r\n \r\n {/* ended by PB */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n * Start ::Corporate Master Route\r\n * @author Niraj Gohel\r\n * @created 30 June 2020\r\n */}\r\n \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 ::Factory Master Route */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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\";\nimport \"./App.css\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport Navigation from \"./Navigation\";\n//import { LanguageProvider } from './shared/containers/Language';\n//import LanguageSelector from './components/localizationcomponent/LanguageSelector';\n//import Explore from './components/localizationcomponent/Explore';\n\nfunction App() {\n return (\n
\n \n {/* */}\n \n \n
\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"antd/dist/antd.css\";\nimport \"./index.css\";\nimport App from \"./App\";\n// import Login from './screens/Login/login.screen'\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(\n // \n ,\n // ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"AttendanceOptionsWrap\":\"attendance_AttendanceOptionsWrap__2saOe\",\"AttendanceOption\":\"attendance_AttendanceOption__1jLdf\",\"ButtonAndCountWrapper\":\"attendance_ButtonAndCountWrapper__3reQe\",\"ButtonWrapper\":\"attendance_ButtonWrapper__2mveg\",\"inButton\":\"attendance_inButton__1Gm42\",\"outButton\":\"attendance_outButton__1K7cW\",\"countWrap\":\"attendance_countWrap__3iyB_\",\"info\":\"attendance_info__1OFWS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"master_SearchInput__1E4vc\",\"FilterToggle\":\"master_FilterToggle__37kOC\",\"FilterToggleIcon\":\"master_FilterToggleIcon__3gbtq\",\"FilterToggleIconRotated\":\"master_FilterToggleIconRotated__2_QEu\",\"ActionContainer\":\"master_ActionContainer__2YW9X\",\"SubHeader\":\"master_SubHeader__2qVgk\",\"StepsContentWrap\":\"master_StepsContentWrap__2YtCi\",\"StepsContent\":\"master_StepsContent__2hxZF\",\"StepsWrapper\":\"master_StepsWrapper__uBA9S\",\"VerificationWrapper\":\"master_VerificationWrapper__T4NF4\",\"VerificationContainer\":\"master_VerificationContainer__2mhYo\",\"ResendLink\":\"master_ResendLink__ajFJp\",\"CancelButton\":\"master_CancelButton__20Xzq\",\"ButtonContainer\":\"master_ButtonContainer__bZNr5\",\"advanceAmountInput\":\"master_advanceAmountInput__2Ui2H\",\"ant-layout-content\":\"master_ant-layout-content__13TUb\",\"maps\":\"master_maps___C9lj\"};","module.exports = __webpack_public_path__ + \"static/media/info.faea1077.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BtnDarkPurple\":\"button_BtnDarkPurple__1lz_B\",\"BtnTransparentGreyOutline\":\"button_BtnTransparentGreyOutline__EhB66\",\"BtnPurple\":\"button_BtnPurple__1Z6Q6\",\"BtnLink\":\"button_BtnLink__3Mzos\",\"BtnPurpleOutline\":\"button_BtnPurpleOutline__2X9xd\",\"BtnWhitePink\":\"button_BtnWhitePink__1xu_n\",\"BtnPink\":\"button_BtnPink__2MtgU\",\"SkeletonButtonBlock\":\"button_SkeletonButtonBlock__3pADL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Title\":\"orderhistory_Title__1Snjn\",\"factory\":\"orderhistory_factory__3CWLq\",\"PostProcess\":\"orderhistory_PostProcess__iDYa8\",\"PaymentStatus\":\"orderhistory_PaymentStatus__2uDoP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"AddCustomerContainer\":\"createorder_AddCustomerContainer__22BSl\",\"AddCustomerWrapper\":\"createorder_AddCustomerWrapper__1jh4b\",\"LabelColumn\":\"createorder_LabelColumn__15Abf\",\"ValueColumn\":\"createorder_ValueColumn__IWUlk\",\"customerNameInput\":\"createorder_customerNameInput__1JnD2\",\"AddressText\":\"createorder_AddressText__2w0E9\",\"AddressType\":\"createorder_AddressType__GsXFy\",\"AddAddress\":\"createorder_AddAddress__38R4u\",\"ServiceTitle\":\"createorder_ServiceTitle__3wxqv\",\"ButtonContainer\":\"createorder_ButtonContainer__3tMxK\",\"CustomerSelectionWrapper\":\"createorder_CustomerSelectionWrapper__3bl4g\",\"AddButton\":\"createorder_AddButton__1-rO8\",\"CustomerSelectionOption\":\"createorder_CustomerSelectionOption__3TRb3\",\"CustomerMembership\":\"createorder_CustomerMembership__22rJN\",\"CustomerSelectionContainer\":\"createorder_CustomerSelectionContainer__3TUnK\",\"CustomerNameAndMembership\":\"createorder_CustomerNameAndMembership__2SU2B\",\"CustomerName\":\"createorder_CustomerName__RAiwr\",\"CustomerAddressWrapper\":\"createorder_CustomerAddressWrapper__3-7QI\",\"HomeIcon\":\"createorder_HomeIcon__3Wc4N\",\"CustomerAddress\":\"createorder_CustomerAddress__8DaBS\",\"CustomerInfoValue\":\"createorder_CustomerInfoValue__2hsgW\",\"CustomerInfoLabel\":\"createorder_CustomerInfoLabel__2Rv0Q\",\"AddressSelectionContainer\":\"createorder_AddressSelectionContainer__3-6oF\",\"ServiceSelectionContainer\":\"createorder_ServiceSelectionContainer__2nJBc\",\"AddressSelectionOption\":\"createorder_AddressSelectionOption__1HENv\",\"ServiceSelectionOption\":\"createorder_ServiceSelectionOption__2txBx\",\"AddressSelectionOptionSelected\":\"createorder_AddressSelectionOptionSelected__2tUFk\",\"ServiceSelectionOptionSelected\":\"createorder_ServiceSelectionOptionSelected__2deim\",\"DropdownTrigger\":\"createorder_DropdownTrigger__2IEov\",\"ServiceType\":\"createorder_ServiceType__1_db4\",\"ServiceText\":\"createorder_ServiceText__36dxN\",\"AddOption\":\"createorder_AddOption__SuaxU\",\"GarmentBlockContainer\":\"createorder_GarmentBlockContainer__3Bfck\",\"GarmentBlockWrapper\":\"createorder_GarmentBlockWrapper__3crT8\",\"GarmentBlockHasValue\":\"createorder_GarmentBlockHasValue__3-70L\",\"GarmentImage\":\"createorder_GarmentImage__T1lx3\",\"MinusButton\":\"createorder_MinusButton__XM-yG\",\"PlusButton\":\"createorder_PlusButton__34jpc\",\"GarmentSelectionCollapse\":\"createorder_GarmentSelectionCollapse__1NAnz\",\"PanelSearch\":\"createorder_PanelSearch__3kKgH\",\"Extras\":\"createorder_Extras__SBxL8\",\"PanelSearchWrapper\":\"createorder_PanelSearchWrapper__1THT9\",\"PanelToggleIconWrapper\":\"createorder_PanelToggleIconWrapper__2KPx4\",\"PanelHeader\":\"createorder_PanelHeader__27Bak\",\"GarmentsContainer\":\"createorder_GarmentsContainer__2ONfv\",\"OrderSummaryContainer\":\"createorder_OrderSummaryContainer__3GQ1V\",\"OrderTitle\":\"createorder_OrderTitle__3Pwcf\",\"SummaryTableWrapper\":\"createorder_SummaryTableWrapper__GzeFG\",\"SummaryTable\":\"createorder_SummaryTable__1B9lY\",\"ItemRow\":\"createorder_ItemRow__2NDXJ\",\"CategoryLabel\":\"createorder_CategoryLabel__zwGDK\",\"PromocodeInput\":\"createorder_PromocodeInput__l6jFt\",\"ItemSettingIcon\":\"createorder_ItemSettingIcon__2iayl\",\"SummaryInfoWrap\":\"createorder_SummaryInfoWrap__1HWcO\",\"SummaryInfoLabel\":\"createorder_SummaryInfoLabel__2bFvT\",\"InfoIcon\":\"createorder_InfoIcon__AHhAL\",\"SummaryInfoValue\":\"createorder_SummaryInfoValue__1BpRW\",\"SummaryInfoSubPart\":\"createorder_SummaryInfoSubPart__27CFv\",\"TotalBlock\":\"createorder_TotalBlock__eVnoQ\",\"ReviewOrderButton\":\"createorder_ReviewOrderButton__1EaYq\",\"SummaryContainerInvoice\":\"createorder_SummaryContainerInvoice__LwL4Q\",\"SummaryTableInvoice\":\"createorder_SummaryTableInvoice__3Tyv2\",\"ReviewOrderSummary\":\"createorder_ReviewOrderSummary__2Kq9b\",\"TableFormItemWrap\":\"createorder_TableFormItemWrap__2xw8W\",\"WidthLengthWrap\":\"createorder_WidthLengthWrap__1h5za\",\"RewashForm\":\"createorder_RewashForm__y-sgH\",\"WalletBalance\":\"createorder_WalletBalance__3drzR\",\"advanceAmountInput\":\"createorder_advanceAmountInput__2siDC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"factoryinventory_SearchInput__3FAtL\",\"FilterToggle\":\"factoryinventory_FilterToggle__2l7-u\",\"FilterToggleIcon\":\"factoryinventory_FilterToggleIcon__3s-n6\",\"FilterToggleIconRotated\":\"factoryinventory_FilterToggleIconRotated__3fhlA\",\"ActionContainer\":\"factoryinventory_ActionContainer__14asH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SidebarIcon\":\"sidebar_SidebarIcon__1x74s\",\"MenuToggler\":\"sidebar_MenuToggler__3bwOB\",\"TogglerIconOpen\":\"sidebar_TogglerIconOpen__36F1s\",\"SidebarMenu\":\"sidebar_SidebarMenu__25Yjq\"};","module.exports = __webpack_public_path__ + \"static/media/shoppurple.64bd7650.svg\";","module.exports = __webpack_public_path__ + \"static/media/bag.8eaf5f7e.svg\";","module.exports = __webpack_public_path__ + \"static/media/wallet.4c618153.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StatsWrapper\":\"storeinventorycomponent_StatsWrapper__1Wjy2\",\"StatsTitle\":\"storeinventorycomponent_StatsTitle__2HOxm\",\"StatsCount\":\"storeinventorycomponent_StatsCount__1TB2Z\",\"StatsIcon\":\"storeinventorycomponent_StatsIcon__2yUzA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CustomerName\":\"invoicecomponent_CustomerName__3yl3E\",\"WalletBalance\":\"invoicecomponent_WalletBalance__2SiYG\",\"OrderNumber\":\"invoicecomponent_OrderNumber__1gfG0\",\"TextRightCol\":\"invoicecomponent_TextRightCol__2Mvm7\",\"RightSideContainer\":\"invoicecomponent_RightSideContainer__rw26H\",\"InvoiceWrapper\":\"invoicecomponent_InvoiceWrapper__1AL8h\",\"StickyWrapper\":\"invoicecomponent_StickyWrapper__2cHQJ\",\"TotalWrap\":\"invoicecomponent_TotalWrap__2hyr9\",\"TotalValue\":\"invoicecomponent_TotalValue__2Ur4t\",\"PromocodeInput\":\"invoicecomponent_PromocodeInput__1GdwR\",\"ButtonsWrap\":\"invoicecomponent_ButtonsWrap__Bn9bk\",\"OrderSummaryContainer\":\"invoicecomponent_OrderSummaryContainer__2Fj8W\",\"OrderTitle\":\"invoicecomponent_OrderTitle__7cElM\",\"SummaryTableWrapper\":\"invoicecomponent_SummaryTableWrapper__DS5C7\",\"SummaryTable\":\"invoicecomponent_SummaryTable__1nY2y\",\"ItemRow\":\"invoicecomponent_ItemRow__32Avm\",\"CategoryLabel\":\"invoicecomponent_CategoryLabel__MYNMk\",\"ItemSettingIcon\":\"invoicecomponent_ItemSettingIcon__2vejx\",\"SummaryInfoWrap\":\"invoicecomponent_SummaryInfoWrap__7Q0QT\",\"SummaryInfoLabel\":\"invoicecomponent_SummaryInfoLabel__23X85\",\"InfoIcon\":\"invoicecomponent_InfoIcon__1nPpN\",\"SummaryInfoValue\":\"invoicecomponent_SummaryInfoValue__1_j7x\",\"SummaryInfoSubPart\":\"invoicecomponent_SummaryInfoSubPart__66rku\",\"TotalBlock\":\"invoicecomponent_TotalBlock__3MgY7\",\"ReviewOrderButton\":\"invoicecomponent_ReviewOrderButton__1VyLJ\",\"SummaryContainerInvoice\":\"invoicecomponent_SummaryContainerInvoice__2gIW6\",\"SummaryTableInvoice\":\"invoicecomponent_SummaryTableInvoice__3oeF0\",\"AdhocAmountWrap\":\"invoicecomponent_AdhocAmountWrap__2WSiH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"LoginContainer\":\"loginscreen_LoginContainer__2iUjb\",\"loginHeader\":\"loginscreen_loginHeader__36pj7\",\"LoginFormContainer\":\"loginscreen_LoginFormContainer__3cRhY\",\"LoginWrapper\":\"loginscreen_LoginWrapper__36jrW\"};","module.exports = __webpack_public_path__ + \"static/media/orders.6f958f07.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StatsWrapper\":\"statscomponent_StatsWrapper__315DL\",\"StatsTitle\":\"statscomponent_StatsTitle__18w1a\",\"StatsCount\":\"statscomponent_StatsCount__1UUSj\",\"StatsIcon\":\"statscomponent_StatsIcon__o6gAh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StatsWrapper\":\"statscomponent_StatsWrapper__20cgX\",\"StatsTitle\":\"statscomponent_StatsTitle__1Zx8M\",\"StatsCount\":\"statscomponent_StatsCount__3S8g2\",\"StatsIcon\":\"statscomponent_StatsIcon__1vqqL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"packageWrapper\":\"buypackage_packageWrapper__1VSXI\",\"bonus\":\"buypackage_bonus__K4GIh\",\"desc\":\"buypackage_desc__3PeyA\",\"buyButton\":\"buypackage_buyButton__1cWkE\"};","module.exports = __webpack_public_path__ + \"static/media/wallet.5d1d97da.svg\";","module.exports = __webpack_public_path__ + \"static/media/inventory.a521b63a.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"TableActionWrapper\":\"tableactions_TableActionWrapper__1p8hZ\",\"TableActionWrapperWPagination\":\"tableactions_TableActionWrapperWPagination__hr2Co\",\"TableActionWrapperWoPagination\":\"tableactions_TableActionWrapperWoPagination__E6So2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FilterWrapper\":\"filters_FilterWrapper__2Jbz5\",\"FilterWrapperOpen\":\"filters_FilterWrapperOpen__20smC\",\"FilterWrapperClosed\":\"filters_FilterWrapperClosed__1NDfr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StepsContentWrap\":\"createuserscreen_StepsContentWrap__1mvN0\",\"StepsContent\":\"createuserscreen_StepsContent__2rS1c\",\"StepsWrapper\":\"createuserscreen_StepsWrapper__1nhaU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StepsContentWrap\":\"createratecardscreen_StepsContentWrap__8dPI5\",\"StepsContent\":\"createratecardscreen_StepsContent__2-peN\",\"StepsWrapper\":\"createratecardscreen_StepsWrapper__3ifHq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StepsContentWrap\":\"createtimecardscreen_StepsContentWrap__1ecSY\",\"StepsContent\":\"createtimecardscreen_StepsContent__2PZjn\",\"StepsWrapper\":\"createtimecardscreen_StepsWrapper__1HsaN\"};","module.exports = __webpack_public_path__ + \"static/media/tshirt.8015d25d.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ChartsContainer\":\"chartscomponent_ChartsContainer__iy5Sh\",\"ChartsWrapper\":\"chartscomponent_ChartsWrapper__1d8yb\",\"ChartsTitleWrap\":\"chartscomponent_ChartsTitleWrap__eliay\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StepsContentWrap\":\"addfdiscountcomponent_StepsContentWrap__2LkAM\",\"StepsContent\":\"addfdiscountcomponent_StepsContent__2nTTP\",\"StepsWrapper\":\"addfdiscountcomponent_StepsWrapper__2i5Dc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StepsContentWrap\":\"addcashcouponcomponent_StepsContentWrap__3kYa1\",\"StepsContent\":\"addcashcouponcomponent_StepsContent__1VpOq\",\"StepsWrapper\":\"addcashcouponcomponent_StepsWrapper__108R6\"};","module.exports = __webpack_public_path__ + \"static/media/dashboard.360486fe.svg\";","module.exports = __webpack_public_path__ + \"static/media/truck.7c67df3f.svg\";","module.exports = __webpack_public_path__ + \"static/media/master.4e298638.svg\";","module.exports = __webpack_public_path__ + \"static/media/attendance.0b87fac8.svg\";","module.exports = __webpack_public_path__ + \"static/media/setting.2c5b928a.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Box\":\"box_Box__IMYuc\",\"SubBox\":\"box_SubBox__GBhif\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"userlistscreen_SearchInput__1ZZOU\",\"FilterToggle\":\"userlistscreen_FilterToggle__3asG5\",\"FilterToggleIcon\":\"userlistscreen_FilterToggleIcon__3oWC7\",\"FilterToggleIconRotated\":\"userlistscreen_FilterToggleIconRotated__3ysV0\",\"ActionContainer\":\"userlistscreen_ActionContainer__26FEi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"ratecardlistscreen_SearchInput__3BzIN\",\"FilterToggle\":\"ratecardlistscreen_FilterToggle__2mDF0\",\"FilterToggleIcon\":\"ratecardlistscreen_FilterToggleIcon__1g0PT\",\"FilterToggleIconRotated\":\"ratecardlistscreen_FilterToggleIconRotated__19DU7\",\"ActionContainer\":\"ratecardlistscreen_ActionContainer__vj6h6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"timecardlistscreen_SearchInput__KekHk\",\"FilterToggle\":\"timecardlistscreen_FilterToggle__22N1P\",\"FilterToggleIcon\":\"timecardlistscreen_FilterToggleIcon__Ur_7f\",\"FilterToggleIconRotated\":\"timecardlistscreen_FilterToggleIconRotated__25vEt\",\"ActionContainer\":\"timecardlistscreen_ActionContainer__1SWeg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"discountmaster_SearchInput__Owwna\",\"FilterToggle\":\"discountmaster_FilterToggle__30lwx\",\"FilterToggleIcon\":\"discountmaster_FilterToggleIcon__IdWOd\",\"FilterToggleIconRotated\":\"discountmaster_FilterToggleIconRotated__15KOm\",\"ActionContainer\":\"discountmaster_ActionContainer__2LrDC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"packageconfigurationcomponent_SearchInput__2yh_Z\",\"FilterToggle\":\"packageconfigurationcomponent_FilterToggle__oCOWL\",\"FilterToggleIcon\":\"packageconfigurationcomponent_FilterToggleIcon__2Enzu\",\"FilterToggleIconRotated\":\"packageconfigurationcomponent_FilterToggleIconRotated__2QiG7\",\"ActionContainer\":\"packageconfigurationcomponent_ActionContainer__TltdZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"refferalbonusconfigurationcomponent_SearchInput__14Ghl\",\"FilterToggle\":\"refferalbonusconfigurationcomponent_FilterToggle__335fO\",\"FilterToggleIcon\":\"refferalbonusconfigurationcomponent_FilterToggleIcon__2U2NA\",\"FilterToggleIconRotated\":\"refferalbonusconfigurationcomponent_FilterToggleIconRotated__1fuZm\",\"ActionContainer\":\"refferalbonusconfigurationcomponent_ActionContainer__3aYMH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"lkcompensation_SearchInput__2Rps8\",\"FilterToggle\":\"lkcompensation_FilterToggle__3b7kE\",\"FilterToggleIcon\":\"lkcompensation_FilterToggleIcon__n6HQL\",\"FilterToggleIconRotated\":\"lkcompensation_FilterToggleIconRotated__3ILmc\",\"ActionContainer\":\"lkcompensation_ActionContainer__3-9jb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SearchInput\":\"cashcouponmaster_SearchInput__3hbZS\",\"FilterToggle\":\"cashcouponmaster_FilterToggle__1C890\",\"FilterToggleIcon\":\"cashcouponmaster_FilterToggleIcon__2Pmar\",\"FilterToggleIconRotated\":\"cashcouponmaster_FilterToggleIconRotated__xx9kI\",\"ActionContainer\":\"cashcouponmaster_ActionContainer__ihgay\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CancelButton\":\"createuser_CancelButton__3SjPa\",\"ButtonContainer\":\"createuser_ButtonContainer__1-Gk7\",\"DeleteButton\":\"createuser_DeleteButton__ywRP7\",\"maps\":\"createuser_maps__2pHuE\",\"UserKYCHeader\":\"createuser_UserKYCHeader__3zAh4\",\"UserRoleHeader\":\"createuser_UserRoleHeader__3moj3\",\"UserKYCTitle\":\"createuser_UserKYCTitle__vxII8\",\"UserRoleTitle\":\"createuser_UserRoleTitle__3gxpY\",\"AddKYCForm\":\"createuser_AddKYCForm__2ziNe\",\"ActionsRow\":\"createuser_ActionsRow__2FtIT\",\"AddKYCFormHeader\":\"createuser_AddKYCFormHeader__2o-_H\",\"KYCButtonContainer\":\"createuser_KYCButtonContainer__mmC2j\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tags-table\":\"printtag_tags-table__1AFCZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SlotMappingTitle\":\"createstore_SlotMappingTitle__30n6v\",\"AddSlotForm\":\"createstore_AddSlotForm__2GJGB\",\"ActionsRow\":\"createstore_ActionsRow__1awhl\",\"AddSlotFormHeader\":\"createstore_AddSlotFormHeader__Z6_5q\",\"ButtonContainer\":\"createstore_ButtonContainer__1gNMP\",\"CancelButton\":\"createstore_CancelButton__18s10\",\"maps\":\"createstore_maps__3TpSM\",\"SlotMappingHeader\":\"createstore_SlotMappingHeader__2eicu\"};","module.exports = __webpack_public_path__ + \"static/media/LoginHero.b0c53437.png\";","module.exports = __webpack_public_path__ + \"static/media/Picture1logo.cd862bbd.png\";","module.exports = __webpack_public_path__ + \"static/media/bikedelivery.063f30cb.svg\";","module.exports = __webpack_public_path__ + \"static/media/customers.45623c6d.svg\";","module.exports = __webpack_public_path__ + \"static/media/billing.a0849ff0.svg\";","module.exports = __webpack_public_path__ + \"static/media/toggler.872ddb9d.svg\";","module.exports = __webpack_public_path__ + \"static/media/audit.3d9fe80d.svg\";","module.exports = __webpack_public_path__ + \"static/media/Dashboardwhitebg.1d993188.png\";","module.exports = __webpack_public_path__ + \"static/media/seperator.8177a28d.svg\";","module.exports = __webpack_public_path__ + \"static/media/notification.64e4fc9b.svg\";","module.exports = __webpack_public_path__ + \"static/media/info.faea1077.svg\";","module.exports = __webpack_public_path__ + \"static/media/truck.446cad74.svg\";","module.exports = __webpack_public_path__ + \"static/media/accordianHandler.b656ec62.svg\";","module.exports = __webpack_public_path__ + \"static/media/placeholder.62d2473f.png\";","module.exports = __webpack_public_path__ + \"static/media/print.3e92dc6e.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"AddCustomerContainer\":\"resortingandpackaging_AddCustomerContainer__3X-YS\",\"AddCustomerWrapper\":\"resortingandpackaging_AddCustomerWrapper__2agiz\",\"LabelColumn\":\"resortingandpackaging_LabelColumn__364CM\",\"ValueColumn\":\"resortingandpackaging_ValueColumn__8Cogx\",\"customerNameInput\":\"resortingandpackaging_customerNameInput__2GD-T\",\"AddressText\":\"resortingandpackaging_AddressText__1BVz0\",\"AddressType\":\"resortingandpackaging_AddressType__2L7s4\",\"AddAddress\":\"resortingandpackaging_AddAddress__1nak1\",\"ServiceTitle\":\"resortingandpackaging_ServiceTitle__2l043\",\"ButtonContainer\":\"resortingandpackaging_ButtonContainer__ijio6\",\"CustomerSelectionWrapper\":\"resortingandpackaging_CustomerSelectionWrapper__1nIVn\",\"AddButton\":\"resortingandpackaging_AddButton__3jRro\",\"CustomerSelectionOption\":\"resortingandpackaging_CustomerSelectionOption__2z2pq\",\"CustomerMembership\":\"resortingandpackaging_CustomerMembership__1A8xJ\",\"CustomerSelectionContainer\":\"resortingandpackaging_CustomerSelectionContainer__Cr4CU\",\"CustomerNameAndMembership\":\"resortingandpackaging_CustomerNameAndMembership__dlSaE\",\"CustomerName\":\"resortingandpackaging_CustomerName__1RCHC\",\"CustomerAddressWrapper\":\"resortingandpackaging_CustomerAddressWrapper__3GyJw\",\"HomeIcon\":\"resortingandpackaging_HomeIcon__c5pCs\",\"CustomerAddress\":\"resortingandpackaging_CustomerAddress__1_6Il\",\"CustomerInfoValue\":\"resortingandpackaging_CustomerInfoValue__38jHG\",\"CustomerInfoLabel\":\"resortingandpackaging_CustomerInfoLabel__bH67l\",\"AddressSelectionContainer\":\"resortingandpackaging_AddressSelectionContainer__e7Crq\",\"ServiceSelectionContainer\":\"resortingandpackaging_ServiceSelectionContainer__3KdzR\",\"AddressSelectionOption\":\"resortingandpackaging_AddressSelectionOption__aPHP_\",\"ServiceSelectionOption\":\"resortingandpackaging_ServiceSelectionOption__3aW7I\",\"AddressSelectionOptionSelected\":\"resortingandpackaging_AddressSelectionOptionSelected__bTx57\",\"ServiceSelectionOptionSelected\":\"resortingandpackaging_ServiceSelectionOptionSelected__3dv-Y\",\"DropdownTrigger\":\"resortingandpackaging_DropdownTrigger__2Lzk9\",\"ServiceType\":\"resortingandpackaging_ServiceType__1x_JQ\",\"ServiceText\":\"resortingandpackaging_ServiceText__172L8\",\"AddOption\":\"resortingandpackaging_AddOption__1nja0\",\"GarmentBlockContainer\":\"resortingandpackaging_GarmentBlockContainer__47Sa8\",\"GarmentBlockWrapper\":\"resortingandpackaging_GarmentBlockWrapper__vNSOe\",\"GarmentBlockHasValue\":\"resortingandpackaging_GarmentBlockHasValue__3mQke\",\"GarmentImage\":\"resortingandpackaging_GarmentImage__2MbmD\",\"MinusButton\":\"resortingandpackaging_MinusButton__16Tjo\",\"PlusButton\":\"resortingandpackaging_PlusButton__FEqYj\",\"GarmentSelectionCollapse\":\"resortingandpackaging_GarmentSelectionCollapse__2qu3a\",\"PanelSearch\":\"resortingandpackaging_PanelSearch__3OOdT\",\"Extras\":\"resortingandpackaging_Extras__3WYnT\",\"PanelSearchWrapper\":\"resortingandpackaging_PanelSearchWrapper__1vZ7V\",\"PanelToggleIconWrapper\":\"resortingandpackaging_PanelToggleIconWrapper__1mYaR\",\"PanelHeader\":\"resortingandpackaging_PanelHeader__10J-r\",\"GarmentsContainer\":\"resortingandpackaging_GarmentsContainer__3cARN\",\"OrderSummaryContainer\":\"resortingandpackaging_OrderSummaryContainer__n6iqx\",\"OrderTitle\":\"resortingandpackaging_OrderTitle__1KINt\",\"SummaryTableWrapper\":\"resortingandpackaging_SummaryTableWrapper__8Wj93\",\"SummaryTable\":\"resortingandpackaging_SummaryTable__3ZbPZ\",\"ItemRow\":\"resortingandpackaging_ItemRow__jXbig\",\"CategoryLabel\":\"resortingandpackaging_CategoryLabel__9OM1s\",\"PromocodeInput\":\"resortingandpackaging_PromocodeInput__1RcUo\",\"ItemSettingIcon\":\"resortingandpackaging_ItemSettingIcon__1qwhL\",\"SummaryInfoWrap\":\"resortingandpackaging_SummaryInfoWrap__2x-EH\",\"SummaryInfoLabel\":\"resortingandpackaging_SummaryInfoLabel__27h0a\",\"InfoIcon\":\"resortingandpackaging_InfoIcon__3UemI\",\"SummaryInfoValue\":\"resortingandpackaging_SummaryInfoValue__3sK42\",\"SummaryInfoSubPart\":\"resortingandpackaging_SummaryInfoSubPart__25FlI\",\"TotalBlock\":\"resortingandpackaging_TotalBlock__64C36\",\"ReviewOrderButton\":\"resortingandpackaging_ReviewOrderButton__3fk4A\",\"SummaryContainerInvoice\":\"resortingandpackaging_SummaryContainerInvoice__1D9Wl\",\"SummaryTableInvoice\":\"resortingandpackaging_SummaryTableInvoice__1z9SH\",\"ReviewOrderSummary\":\"resortingandpackaging_ReviewOrderSummary__24Iwq\",\"TableFormItemWrap\":\"resortingandpackaging_TableFormItemWrap__2NDyI\",\"hr\":\"resortingandpackaging_hr__TGuvu\",\"TableFields\":\"resortingandpackaging_TableFields__1jyZc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PrintContainer\":\"dailysheet_PrintContainer__CD9ME\",\"FilterToggle\":\"dailysheet_FilterToggle__uUXWR\",\"FilterToggleIcon\":\"dailysheet_FilterToggleIcon__10X2q\",\"FilterToggleIconRotated\":\"dailysheet_FilterToggleIconRotated__jaM76\",\"ActionContainer\":\"dailysheet_ActionContainer__9Uawe\",\"RewashPrintContainer\":\"dailysheet_RewashPrintContainer__2wfzM\",\"dataTable\":\"dailysheet_dataTable__3PT7s\"};"],"sourceRoot":""}