{"version":3,"sources":["assets/img/UMG_Logo.png","assets/img/universal.png","assets/img/sidebar-3.jpg","assets/img/redflag.gif","serviceWorker.ts","Components/CustomComponents/NabvBar/LoginNavBar.tsx","Common/ServiceProxy.ts","Variables/Variables.tsx","Common/DateTimeFormat.ts","Controllers/LoginController.ts","Components/View/ErrorBoundary/ErrorBoundary.tsx","Controllers/CreateOrderController.ts","js/confiq.js","Components/CustomComponents/FormModalSpinner.tsx","js/GraphService.js","utils/MSUtils.js","Components/View/Login/Login.tsx","js/TableMultiSelect.js","Controllers/LogoutController.ts","Components/CustomComponents/NabvBar/AdminNavBar.tsx","Components/CustomComponents/NabvBar/AdminNavbarLinks.tsx","Common/MultiFilter.ts","Components/CustomComponents/Sidebar.tsx","Components/View/Home/Home.tsx","Components/CustomComponents/FormInput.tsx","Components/CustomComponents/FormInputSearch.tsx","Components/CustomComponents/FormSelect.tsx","Components/CustomComponents/FormSelectSearch.tsx","Components/CustomComponents/FormLabelField.tsx","Controllers/CommonController.ts","js/BillableScript.js","js/TableAllSelect.js","Controllers/OrderController.ts","js/GlobalVar.js","Components/View/CreateOrder/CreateOrder.tsx","Components/CustomComponents/FormCheckBox.tsx","Controllers/EditUserController.ts","Components/View/Register/EditUser.tsx","Controllers/PasswordResetController.ts","Components/View/PasswordReset/PasswordReset.tsx","Components/View/EgratisFAQ/EgratisFAQ.tsx","Controllers/QuickProductSearchController.ts","Components/View/QuickProductSearch/QuickProductSearch.tsx","Controllers/UserViewController.ts","Components/View/UserView/UserView.tsx","Controllers/ViewOrderController.ts","Components/View/ViewOrderStatus/ViewOrder.tsx","Controllers/DepotOrdersController.ts","Components/View/FreeGoodsOrder/FreeGoodsReqForm.tsx","Controllers/OrderApprovalController.ts","Components/View/ViewOrderStatus/ViewApprovalInbox.tsx","Components/View/CreateBillableOrder/BillableReqForm.tsx","Controllers/SysopController.ts","Components/View/ControlPanel/DepartmentMaintenance.tsx","Components/View/ControlPanel/CreateApprovalProcess.tsx","Components/View/NonBillableOrder/NonBillableTransferForm.tsx","Components/View/Depot/DepotOrderUpdate.tsx","Components/View/Depot/DepotOrderHistory.tsx","Components/View/Depot/DepotOrderUpdateView.tsx","Components/View/Depot/DepotOrderHistoryView.tsx","Controllers/ReportController.ts","Components/View/Reports/Reports.tsx","Components/View/ControlPanel/ViewApprovalProcess.tsx","Components/View/ControlPanel/LabelMaintenance.tsx","Components/View/ControlPanel/AddRemoveApprovers.tsx","Controllers/FtpHistoryController.ts","Components/View/FTPHistory/FtpHistory.tsx","Components/View/ApprovalHistory/ApprovalHistory.tsx","Components/View/ApprovalHistory/ApprovalHistoryView.tsx","Controllers/OrderViewController.ts","Components/View/OrdersView/Orders_View.tsx","Components/View/ApprovalProcessAdmin/ApprovalProcessAdmin.tsx","Controllers/AutoAddExecUserController.ts","Components/View/UserView/AutoAddExecutiveUser.tsx","Controllers/AppSettingsController.ts","Components/View/AppSettings/AppSettings.tsx","Components/View/ViewOrderStatus/ViewOrder_Details.tsx","js/CopyToClipboard.js","Components/View/ControlPanel/EditApprovalProcess.tsx","Controllers/SearchHistoryController.ts","Components/View/SearchHistory/SearchHistory.tsx","Components/View/Reports/ReportOrderByRequestor.tsx","Components/View/Login/selectRole.tsx","Controllers/RegisterController.ts","Components/View/Register/CreateProfile.tsx","Routing/Route.tsx","Components/CustomComponents/IdleTimeOutModal.tsx","Components/View/Layout/AdminLayout.tsx","Controllers/EmailPasswordController.ts","Components/View/EmailPassword/EmailPassword.tsx","Components/View/PasswordReset/PasswordResetLogin.tsx","index.tsx"],"names":["module","exports","Boolean","window","location","hostname","match","LoginNavBar","objLoginNavBar","mobileSidebarToggle","bind","state","sidebarExists","e","this","setState","preventDefault","document","documentElement","classList","toggle","node","createElement","id","onclick","body","appendChild","className","style","src","logo","width","height","alt","marginTop","props","brandText","Component","ServiceProxy","headers","url","data","Object","keys","map","k","join","getUrl","requestOptions","method","fetch","then","response","json","catch","error","JSON","stringify","Variables","redirectUri","Url","clientId","ReportPath","Controller","login","register","menu","common","editUser","logout","passwordReset","userView","emailPassword","quickProductSearch","sysop","autoAddExecUser","appSettings","contact","createOrder","ftpHistory","depotOrders","orderApproval","orderView","ViewOrder","SearchHistory","Report","loginService","checkUserLocked","authenticateUser","authenticateUserSSO","authenticateUserSSO1","getUserDetails","loginUser","updateUserLocked","insertLogDetails","commonService","getAllLabel","getAllDeptForLabel","getAllDepartment","getApprovalProcess","getSelfApprovers","getProcessLookupUserType","getLabel","editUserService","getUser","getUserType","getProcessName","updateUser","updateSysopUser","deleteUser","registerService","checkAliasEmail","getDeptProcessInfo","addNewUser","updateSuperExecUser","insertPrivateContact","insertPermissionsExceptions","logoutService","updateLoginFlag","menuService","getNTBillableUser","passwordResetService","updateUserPassword","checkPreviousPassword","userViewService","getUserList","getUserListByProcessName","quickProductSearchService","emailPasswordService","getPasswordDetails","sendEmail","sysopService","insertDept","updateDept","getAllProcessForLabel","insertLabel","updateLabel","getAllApprovers","getApprovalLevel","getApprovalTable","getAllProcessForApproverLabel","getDefaultProcess","insertApprovalProcess","addFullLengthCleanApproverToProcess","insertCrossLabels","insertLabelExceptions","countProcessByOrderType","getApprovalProcessDetails","getApproverNames","replaceApprover","addApprover","checkAlternateApprovers","deleteApprover","getCrossLabels","getLabelExceptions","updateMaxApprovers","deleteCrossLabels","deleteLabelExceptions","checkIsDefault","deleteApproverByProcess","getAllProcessByAlias","getProcessLookupCounter","addApproverForExport","checkIsDefaultProcessLookup","addApproverNonExport","getNonExportDefaultProcessCount","updatePermissions","checkAlternateApprover","autoAddExecUserService","getExecUserDept","deleteExecUserDeptFlag","insertExecUserDeptFlag","appSettingsService","getAllAppSetting","updateAppSetting","contactService","selectPersonalContact","selectAllContact","privateContact","getStates","getAddressValidation","getPrivateContact","createOrderService","getProductSearch","getAllProductsByUPC","getAllProductsByUPCErrMsg","getOrderSummary","getApproverLevels","checkCFOApproval","checkOrderConfiguration","updateSelfOrderItems","insertTblEmailHistory","checkApprovalEmail","updateCompleteOrder","insertTblApprovalHistory","getEmailNotice","getNotDepotLabelApprover","updateRejectOrder","getOverNightBillable","insertOrderSummary","updateInsertOrderItems","getOrderItemsForByPassApproval","getCompleteOrder","updateOrderItems","getOrderDetail","getApproverNameComments","getReportingCo","getApproverEmail","getProcessNameforSuperUser","getProcessNameforRegAndExeUser","getApprovalProcessValidate","checkSelfApprover","getOrderItems","getCost","ftpHistoryService","getFTPOrderHistory","resetFTPOrders","depotOrderService","getDepotPendingOrders","cancelPendingOrders","getDepotHistory","getDepotHistoryExport","getNextApprover","getOrderApprovalHistory","getOrderDepotHistory","getFreeGoodsOrderDetail","getOrderDetailsSummary","holdOrder","depotProcessOrder","GetDepotOrderDetail","getDepotOrderItemDetail","getDepotNextApprover","orderApprovalService","getApproverInbox","getApproverHistoryList","orderViewService","getListOrderView","viewOrderService","getListViewOrder","getApprovalHistory","getOrderDetails","getOrderDepotContact","SearchHistoryServices","getSearchHistory","ReportServices","getUserActiveList","thArray","thArrayBillable","thArrayBillableClean","thArrayCopy","thArrayCopyBillableClean","thArrayCopyTicketBundlingClean","thArrayCopyBillable","thArrayTicketBundlingClean","thFtpHistoryList","thOrderViewList","thViewOrderList","thOrderDetailList","thApproverHistoryList","thOrderDetailBillableList","thOrderDetailBillableCleanList","thApproverList","recordsetDepotHistory","recordset","CreateDateTime","Notes","recordsetApprovalHistory","Approver","ApprovalDateTime","ApproverEmail","ApproverType","ApproverType_Id","thArrayBillableOrderEditClean","thArrayBillableOrderEditMarked","thSearchHistoryList","thUserList","thDepotOrderList","thDepotBillableOrderList","thDepotHistoryList","tdArray","Artist","Title","Selection","UPC","Config","Qty","tdArray1","tdArray_order","Order_id","Ship_To","Attention","Request_Date","Status","Material","Billable","thArrayFreeGoodsOrderView","tdArrayFreeGoodsOrderView","thArrayFreeGoodsOrderApprovers","tdArrayFreeGoodsOrderApprovers","thArrayFreeGoodsOrderEdit","tdArrayFreeGoodsOrderEdit","tdArrayFreeGoodsOrderApproversEdit","Label","thProdArray","tdProdArray","tdArray_AprlInbox","Requestor","OpCo","thArrayBillableOrderView","tdArrayBillableOrderView","thArrayBillableOrderEdit","tdArrayBillableOrderEdit","thNonBillableOrderArray","tdNonBillableOrderArray","depot_order","depot_history","Requstor","thArrayDepotOrderView","tdArrayDepotOrderView","thArrayDepotOrderHisView","tdArrayDepotOrderHisView","thArrayDepotOrderApprovers","tdArrayDepotOrderApprovers","tdArray_FtpHistory","Ftp_file","Ftp_dateTime","IsChecked","tdArray_AutoAddExecToDept","record_label","Department","Order_history","Configuration","ShipToName","ShipToCo","approval_history","Orders_View","ShipMethod","Overnight","Clean","SuperLabel","ReqWeight","processList","Name","Product_View","artist","title","selection_id","upc","configuration","UnitsToSet","release_date","cost1","pricecode","suggpricecode","Moratorium","DateTimeFormat","dtsnow","Date","dd","getDate","slice","mm","getMonth","getFullYear","toString","getHours","getMinutes","getSeconds","getTime","LoginController","uid","pwd","loginFailed","serviceProxy","variables","dateTimeFormat","msg","success","changePassword","get","IsFailedAttempt","code","console","message","post","res","parse","replace","sessionStorage","setItem","Alias","UserType_Id","AddressLineOne","AddressLineTwo","City","State","Zip","Phone","Email","Process_Name","Is_Super_User","Is_Executive","Multiple_Select","RecordLabel_Id","BusinessUnit","CustomerNumber","password","IsNinetyDays","length","responseString","getItem","trim","pwdupdate","tbacc","s89acc","re","RegExp","test","dtsvalue","getDateTime","Account_no","put","ErrorBoundary","hasError","info","children","CreateOrderController","username","label","orderType","jsonPersonalContact","forEach","item","index","push","Attention_Id","ContactType","DomesticContact","Country","Account_Number","Company","Addresses","CityStateZip","type","value","alias","recordLabelId","jsonAllContact","data1","name","shipToName","addressLineOne","addressLineTwo","city","zip","country","phone","contactType","domesticContact","attentionId","Error","reqsWhere","encodeURIComponent","sWhere","jsonAllProducts","Selection_ID","Release_Date","PriceCode","SuggPriceCode","RecordLabel_ID","moratorium","data2","labelId","userId","superUser","executiveUser","jsonStates","_index","desc","sessionuid","sessionuserlabelid","user_label_id","sessionuserdepartment","user_department","labellist","label_list","orderlabelid","order_label_id","order_type","processName","orderId","jsonOrderItems","Selection_Id","Quantity_Requested","price_requested","Cost","price_ticketbundling","artist_store_name","tour_date","selectionId","config","authority","postLogoutRedirectUri","scopes","FormModalSpinner","show","Modal","centered","graph","require","getAuthenticatedClient","accessToken","Client","init","authProvider","done","a","client","api","user","getUserProfile","userAgentApplication","userAgentApplication1","UserAgentApplication","auth","cache","cacheLocation","storeAuthStateInCookie","getAccessToken","acquireTokenSilent","silentResult","isInteractionRequired","log","acquireTokenPopup","interactiveResult","indexOf","lastSelectedRow","currSelectedRow","trs","Login","handleUserClick","modal","result","orderTypes","history","fields","errors","errMsg","loading","modalSpinnerShow","handleChange","currentTarget","loginPopup","prompt","mail","includes","userPrincipalName","getAccount","ref","backgroundColor","Container","Row","Col","sm","md","lg","Button","size","disabled","variant","onClick","marginRight","color","Alert","display","marginBottom","padding","borderColor","borderRadius","href","target","rel","LogoutController","clear","localStorage","AdminNavbar","objHeader","redirectToSelectRole","logoutHandler","targetElement","parentElement","removeChild","persist","nativeEvent","stopImmediatePropagation","stopPropagation","styles","headerBGColor","paddingRight","logoutBGColor","anchorBGColor","fontSize","headerBGColors","Navbar","expand","paddingLeft","alignSelf","fontWeight","Toggle","Collapse","Nav","Link","eventKey","icon","faUserFriends","cursor","pointerEvents","faUser","faSignOutAlt","AdminNavbarLinks","MultiFilter","getValue","toUpperCase","multiFilterLike","condition","filterKeys","filter","eachObj","every","eachKey","toLowerCase","array","filters","some","key","find","Sidebar","ShowHideComponent","innerText","notifyFG","toast","warn","position","POSITION","TOP_RIGHT","notifyNT","notifyBI","showCPanel","innerWidth","Routes","routeName","pathname","configure","routes","updateDimensions","addEventListener","prop","upgrade","activeRoute","layout","path","to","activeClassName","mnu","view","multiFilter","subMenuCount","submenu","propName","displayToggleIcon","validate","split","setTarget","cnt","float","faAngleUp","faAngleDown","p","i","routerList","assignRoleRouter","sidebarBackground","backgroundImage","image","showTaggle","hideTaggle","data-color","data-image","hasImage","redirect","displayNavLink","displayChildNavLink","showTagged","Home","loggedIn","imgBGDisplay","instructionFontColor","TicketBundlingWarn","Card","border","Body","TBWarn","D2CWarn","fluid","FormInputs","errorMsg","fieldRequired","properties","FormGroup","FormLabel","FormControl","FormInputSearch","InputGroup","Append","buttonProperties","faSearch","FormSelect","defaultOption","fillOption","renderOptions","as","defOption","DefaultValueOption","FormSelectSearch","FormLabelField","controlId","x-ms-format-detection","CommonController","jsonLabel","Owner_label","jsonDept","DisplayapproveFlag","percentage","sale_type","CalculatePercent","cost","price","parseFloat","toFixed","CalculatedDiscountPrice","salesType","calculatedPrice","multiArr","tableRows","getElementById","tBodies","getElementsByTagName","handleTableRowClick","event","ctrlKey","toggleRow","button","shiftKey","clearAllMultiArr","clearAll","undefined","indexes","sort","b","addMultiArray","selectRowsBetweenIndexes","parseInt","row","obj","splice","arrIndex","handleTableAllRowClick","upcLen1","upcLen","lastIndex","OrderController","csOrderId","csUId","csSalesType","csShipMethod","csApproverComments","cbSelfOrder","cbNewOrder","orderItems","selfOrder","approveOrder","shipMethod","approverComments","sSalesType","sMaterial","sApproverLevels","orderStatus","sOvernight","bOvernight","bClean","bWasClean","bCfoRequired","bFiveBeforeDepot","bFourBeforeDepot","bThreeBeforeDepot","bTwoBeforeDepot","bLabelApprover","bOvernightApprover","bLabelCleanApprover","bFullLengthCleanApprover","bCfoApprover","resOrderSummary","resApproverLevels","sales_type","Ship_Method","cfoApprovalCount","orderConfigurationCount","allSingles","totalOrderItems","singleOrderItems","fiveBeforeDepot","resOrderStatus","resApproverNameComments","emailRequestor","depotApprover","depotApproved","fourBeforeDepot","threeBeforeDepot","twoBeforeDepot","labelApprover","requestorWeight","overNight","material","approverType","emailApprover","resUpdateCompleteOrder","resInsertTblApprovalHistory","Email_Notice","overnightApprover","cleanApprover","cfoApprover","fullLengthCleanApprover","notAboveApprover","byPassApproval","sApproverType","user_type","comments","percen","byPassFlag","resOrderItems","per","statusId","resCompleteOrder","Requestor_Weight","Status_Id","resSendMail","res1","rejected","rejectedCount","itemId","qty","itemOrderStatus","updateOrderItemsCount","orderDetail","sTo","sBody","sSubject","sWebServer","resOrderDetail","alias_Email","Order_Id","StatusDesc","Approval_Date","account_no","freight_billing_info","prepaid","overnightBillable","overnightBillableEmailStatus","resSendEmail","Length","resApproverEmail","str2","str3","str4","User_Type","alias_Name","sendMail","resApprovalEmailCount","approverEmailHistory","approverAlias","number","approverId","notes","userType","billable","quantityApproved","priceApproved","from","subject","html","MARKED_54","MARKED_56","MARKED_59","CLEAN_54","CLEAN_56","CLEAN_59","FG","BI","NT","TB","S89","CreateOrder","redBorder","defaultBorder","handleAddressModalShow","action","selectfields","clearError","clearfields","searchProducts","selection","userfields","noProductMatchMsg","createOrderController","sLabels","Products","handleModalShow","alert","TableMultiSelect","prevTREmptyEntry","d","sInvalidCharList","set_process_and_clean","commonController","GlobalVar","resSelfApprovers","process_name","sProcessName","resApprovalProcess","Is_Clean","resLabel","handleModalClose","handleDelete","handleSearchClick","searchContact","AllContact","lblSearchContact","searchstate","resetContactView","handleContactChange","contactfields","handleFormChange","checkNumericInputSearchProduct","handleSelectChange","optionfields","currentTargetName","options","selectedIndex","text","selectedText","selectedValue","confirm","clearAllProductOrder","displayAccountNumber","accountNo","onChange","maxlength","displayFreightNTAndBIBillable","textAlign","bill_to_name","bill_to_address","bill_to_city_state_zip","freightBillingInfo","displayAccountNumberFG","displayFreightTB","displayFreightS89","displayBillToInformationforBI","build_label_list","bSuperUser","Form","Group","Control","SuperUserRecordlabel","bExecutive","labelName","handleCheckChange","checkfields","err","handleOptionChange","currentTargetId","company","marked","bCleanOrderFldsDisplay","clean","marked_56","clean_56","marked_59","clean_59","locatedYes","locatedNo","private","public","handleOptionClick","sOrderLabelID","handleOnBlurValidateQty","regex","setFocus","handleImport","files","TableAllSelect","subitem","file","reader","FileReader","items1","onload","wb","read","sheets","SheetNames","utils","sheet_to_json","Sheets","items","getProductSearchByUPCErrMsg","jsonAllProductsErrMsg","ProductsErr","getProductSearchByUPC","readAsArrayBuffer","handleOnBlurValidateString","artistStoreName","handleOnBlurValidateDate","tourDate","exportTextChange","specialIns","handlePriceChange","ValidatePrice","bCleanOrderFldsDisplayTB","MAX_PRODUCTS","float_cost","CheckSaleType","BillableScript","float_price","price_format","dispDiscountPerc","isMarked","txtValue","intRowId","discount1","parsediscount1","discount2","parsediscount2","discount3","parsediscount3","myOption","bCleanPrompt","thisform","forms","checked","enableSearchResult","SelectAllContact","loadingSearchContact","searchResult","multiple","allContactId","formControl","startKey","productButton","unitsPerSet","rlsDate","maxLength","cleanBI","discount","onBlur","tabIndex","flag","alignItems","paddingTop","Check","defaultChecked","radioCleanPrompt","radioCleanPrompt_56","radioCleanPrompt_59","orderComplete","loadingOrderComplete","loadingSubmitOrder","loadingSubmitandPrintOrder","handleOnSubmitOrder","handleOnSubmitOrderComplete","formatReleaseDate","substring","RemoveLeadingZeros","handleSelectRow","cells","populateRow","handleMultipleSelectRow","selectProduct","onMouseDown","fileUpload","handleOnSubmitAllSelect","showModalBody","modalBody","selectAddress","displayAddress","Table","hover","colSpan","align","noProductMatch","modalAction","modalDisplayAddr","shipName","shipAddress","expCountry","editAddrId","PersonalContact","disableAddrId","modalCntlDisabled","checkAlphaNumericInput","onKeyUp","address1","address2","checkAlphaNumericInputCity","checkNumericInput","checkNumericInputcheckLengh","province","postal","handleModalAlertShow","handleModalAlertClose","handleOnSubmitMultipleSelect","iRow","maxLimit","maxSelectedRow","targetCost","handleOnSubmitAddress","modalAddrButton","InsertEditDisableContact","ValidateAddress","addrRetval","address","dbAddress","provinceOrstate","postalOrzip","contactattentionId","checkOrder","formIsValid","shipping_method","pricedata","totalQty","totalPrice","iPos","regexPrice","regexQty","regexDate","regexStoreName","isNaN","indexKey","reduce","confirmation","approvalRequired","isApprovalRequired","isConfirmed","String","fromCharCode","isPrint","resProcessLookupUserType","create_order","adjustMaxApprover","iMaterial","isCleanedSalesType","iMaxApprovers","Max_Approvers","stopSubmitLoading","resPrivateContact","arriveBy","businessUnit","specialInstructions","overnight","legacyOrder","approverDate","approveByClean","approveByOvernight","superLabelId","ipAddress","reason","department","customerNumber","billToName","billToAddress","billToCityStateZip","backorder","deliveryDate","ntBillableT","newOrderId","s","quantityRequested","routeNewOrder","task_For","showModalFooterButton","marginLeft","cleanLabel","sValue","isOvernightShipping","selected","businessunit","shipPhone","multipleRowSelect","maxKey","isOvernight","approvalReqd","prodCount","upcList","recordlabelId","recordLabelName","personalContactId","personalContactName","allContactName","editAddrName","disableAddrName","selfapprovalprocess","shipToAddr","errmsg","OrderItems","modalShow","modalTitle","modalAlertShow","modalAlertTitle","modalAlertErrorMsg","Reason","Label_Id","resCost","superUserRecordlabelList","ownerLabel","getCurrentRecordlabel","unshift","Is_Overnight","jsonState","publicIP","ip","objPrice","salesTypeClean","Tcompany","TName","Taddress1","Taddress2","TCity","TProvince","TPostal","TCountry","TPhone","focus","element","navStyle","borderBottom","onHide","backdrop","keyboard","dialogClassName","Header","closeButton","Footer","Brand","Item","required","accept","htmlFor","paddingBottom","Array","FormCheckBox","EditUserController","jsonUserType","Usertype_Id","TypeDesc","jsonProcessName","userInfo","EditUser","handleDeleteClick","DeleteUser","Process","editUserController","multiple_select","super_user","executive","onSubmit","ValidateProfile","updateSysopUserData","userTypeId","process","firstName","user_first_name","lastName","user_last_name","email","AddressLinetwo","BusUnit","multipleSelect","isExecutiveUser","isSuperUser","UpdateSysopUser","orgin","updateUserData","UpdateUser","displayDeleteButton","user_full_name","OS","Browser","userTypeName","departmentName","stateName","UserTypeName","Recordlabel","UserType","handleBlur","vuid","splitName","LabelName","Number","hyphencount","field","temp","charAt","errMsgPassword","PasswordResetController","npwd","opwd","newPassword","IsAvailable","ResetPassword","oPwdRef","nPwdRef","cPwdRef","validateForm","checkUserPreviousPassword","DisplayChangePasswordButton","cpwd","fRef","React","createRef","rows","content","titleTextColor","rowTitleColor","animate","EgratisFAQ","QuickProductSearchController","searchInfo","exceptions","jsonProductSearch","Release","Cat","QuickProductSearch","getSearchProductInfo","SearchGrid","isAvl","isAvlMsg","hidediv","displayTableRecord","handleClick","UserViewController","val","searchType","jsonUserList","Usertype_id","Process_name","RecordLabel_id","Password","ExecutiveUser","SuperUser","UserView","handleRefreshPage","reload","setActiveTab","userListbyProcessName","isAprProcessUserAvl","isUserAvlMsg","isAprProcessUserAvlMsg","searchBy","UserList","isUserAvl","handleTextChange","select","gridBoxStyle","popUpHeaderstyle","Text","margin","ViewOrderController","start_date","end_date","jsonviewOrderList","NTBillableT","Approver_Id","ship_method","orderID","recordsetNextApprover","jsonNxtApproverdata","list","jsonAppHisList","jsonOrdDetList","itemStatusDesc","item_id","label_id","unitstoset","order_item_status_id","Quantity_Approved","ReqQty","DeptQty","DJCQty","Price_Requested","Price_Approved","ReleaseDate","jsonDepotHisList","labelID","jsonDepotContact","ExcelFile","ReactExport","ExcelSheet","ExcelColumn","getItemInfo","getBillItemInfo","styleBilObj","getShipment","getLinkWithPath","isDepotMsg","styleObj","depotContactList","ValidateDate","isListAvl","startDate","sD","curr_date","curr_month","curr_year","endDate","eD","displayListGrid","isListAvlMsg","getUrlInfo","handleChangeStartDate","date","today","handleChangeEndDate","previousdate","goodsReq","todayDate","isContactAvl","SH","temparray","srhBk","viewOrderController","Id","placeholderText","isClearable","showMonthDropdown","showYearDropdown","filename","DepotOrdersController","userName","orderItem","nrecordLabelId","jsonDepotOrders","NTBillable","data11","data22","OrderId","depotCmts","holddata","Hdata","search_field","jsonDepotHistory","request_date","legacyorder","ntbillablet","jsonDepotHistoryExport","price_approved","OrdSumData","data3","Order_ID","jsonOrdSum","Alias_name","Alias_department","addresslineone","addresslinetwo","Alias_city","Alias_state","Alias_zip","Alias_phone","Alias_email","Statusdesc","Recordlabel_Id","Delivery_date","LegacyOrder","SpecialInstructions","Addressline","ship_Name","ship_ShipToName","ship_AddressLineOne","ship_AddressLineTwo","ship_City","ship_State","ship_Zip","ship_Country","ship_Phone","ApprData","data4","sortBy","jsonNxtAppr","ApprHisData","jsonApprHis","ApproverDatetime","DepotHisData","jsonDepotHis","Item_ID","jsonOrdDetail","jsonFreeOrdDetail","RejectItem","ItemException","depdata","FreeGoodsReqForm","displayDiscountAlert","salestype","salestypemsg","saletype","LoopGridCalculatePer","lblFields","isClean","marked56","clean56","marked59","clean59","handletextChange","handlecheckChange","holdLoading","rejectLoading","sales_Type","ApprCmts","Itemdetails","OrdDetail","routeOrder","onRejectSubmit","rejectOrder","onHoldSubmit","displaySalesRadioButtonList","displaySalesType","displayOrderItemsTable","orderItemsTableForBillableView","orderItemsTableForFreeandNTView","marked54","clean54","labelFont","apprFlag","displayShipingMethod","shipmentMethod","OrdSum","orderItemsTableForEdit","orderItemsTableForEditButton","NextAppr","nextStep","depot","approvers","requestDate","customerPO","orderBy","billTo","shipTo","qtyReq","rejectItem","ArriveBy","DepotComments","DateShipped","ShipTrackNo","ApproverComments","Super_Label_Id","IP_Address","Date_Processed","Depot_Id","ApproveBy_Clean","ApproveBy_Overnight","RecordLock","Depot_Printer","Depot_Printer_Date","Created","status_id","DepotHis","ApprovalHis","OrderID","SalesType","ordersController","resOrderdata","bindSalesTypeList","loadOrderDetailSummary","loadOrderSummaryData","percentvalue","percent","displayflag","str","bindSalesType","bindTitleForAllType","ntBillable","loadBillToFrightInfo","setTimeout","OrderApprovalController","aliasIn","jsonOrderApproval","total_qty","RequestAlias","jsonApproverHistory","order_id","statusdesc","ViewApprovalInbox","setArrow","column","currentSort","currentColumn","onSortChange","col","nextSort","arrayCopy","compareBySort","newDate","pdate","setDate","previousDate","format","BillableReqForm","orderItemsTableForView","defaultValue","SysopController","dept","jsonProcess","Assigned_Label_ID","Is_Default","Is_Billable","is_NTBillable","Is_Cross_Label","is_all_labels","is_exceptions","assignedLabelId","jsonApprovers","maxApprovers","jsonApprovalLevel","jsonApprovalTable","jsonProcessTable","approvalProcessData","processDescription","isDefault","isAllLabels","isExceptions","isCrossLabel","isOnePerLabel","isActive","isCatalog","isBillable","isNTBillable","crossLabelData","isOn","defaultDept","isNonBillableTransfer","LabelExceptionData","jsonApprovalProcessDetails","typedesc","labelname","currentApprover","newApprover","updatedBy","currentIP","jsonCheckAlternateApprovers","jsonLabelExceptions","Label_ID","jsonCrossLabels","crossLabel","counter","default","otherLabels","DepartmentMaintenance","selectLabel","regexp","checkDuplicate","duplicate","sysopController","edit","recordLabel","insertValues","CreateApprovalProcess","ownerLabelId","superUserYes","SuValue","SuBillableCount","SuNtBillableCount","freeGoods","nonBillableTransfer","defaultDeptYes","insertProcess","billableCount","ntBillableCount","generateProcessName","handleSelectMultipleChange","l","crossLabels","defaultDeptNo","overnightOrdersYes","overnightOrdersNo","cleanOrdersYes","cleanOrdersNo","allLabelsYes","allLabelsNo","exceptionsYes","exceptionsNo","crossLabelsYes","crossLabelsNo","exportProcessYes","exportProcessNo","ownerLabelName","assignedLabelName","superUserNo","labelExceptionData","cleanedString","NonBillableTransferForm","freightInfo","DepotOrderUpdate","remove","_","deptOrdGrid","background","checkid","selectorder","color1","print","DepotOrderHistory","fromdate","todate","depotsearchController","SearchGridExp","displayHeaderSelectionID","displayHeaderNonSelectionID","hidden","searchText","selectedDate","DH","temps","tempe","alignCardCenter","placeholder","DepotOrderUpdateView","displayOrdDetListGrid","Comments","legacyordertxt","depotOrdersController","depotEmailRequestor","displayItemException","displayNonBillableOrderTable","displayBillableOrderTable","displayDepotstatusText","displayDepotPendingtext","displayDepotstatusButton","orderItemsTableForButton","convertDateTimeFormat","dt","toLocaleString","convertApprDateTimeFormat","alias_phone","lblApproverFields","approver_Alias","approver_Name","lblNextApprover","lblPageTitle","displayAppHistoryList","displayDepotHistoryList","oId","loadOrderData","loadApproverData","depotOrderController","resNxtApproverdata","approver","loadLabelData","loadOrdDetails","loadApprovalHistory","loadDepotHistory","dateString","getDepotOrderDetail","bottomBorder","loadBillTo","loadShipTo","orderedBy","DepotOrderHistoryView","displayNxtLevelApprover","goBack","ReportController","withRouter","jsonUserActiveList","ReportView","handleRadioOptionChange","radioOptionfields","freegoods","reportType","nonBillable","all","pathName","pop","li","groupbyDep","groupByDept","reportName","reportRender","selectOption","selectUser","selectDept","open","subTitle","userList","deptList","isUser","isDepartment","isDate","isgroupbyDept","isReporttype","isSubmit","departmentList","ViewApprovalProcess","LabelMaintenance","regexpUpper","parentLabel","checkDuplicateLabelId","checkDuplicateLabelName","AddRemoveApprovers","pageReload","approvalProcessName","approverTable","defaultProcessNo","defaultProcessYes","checkAlreadyAdded","alreadyAdded","approvalLevelId","validateProfile","handleIsDefault","allLabels","handleOnDelete","assignedLabel","approverName","approvalLevelName","approvalLevel","FtpHistoryController","filter_type","jsonFtpHistoryList","RequestDate","FTPFileName","Date_Uploaded","FtpHistory","statusBy","jsonFTPHistoryList","displayGrid","getLinkWithtestPath","resetCheckInfo","ValidateOrder","validteConfirmation","orderList","loadingReset","checkedItems","Map","isDateEnabled","isChecked","listOrder","ids","ApprovalOrderHistory","ApprovalHistoryView","OrderViewController","jsonOrderViewList","OrdersView","CHECKED","getBillablewithCheckBox","aria-label","getOvernightwithCheckBox","getCleanwithCheckBox","getLinkWithOrderPath","ApprovalProcessAdmin","currentApproverId","handleProceed","newApproverId","currentApproverName","newApproverName","showLoading","proceedLoading","AutoAddExecUserController","AutoAddExecUserDeptID","RecordLabel","delete","AddExecutiveUser","deleteExecUser","ValidateSelect","ExecUserDeptList","autoAddExecUserController","jsonExecUser","selectDepartment","AppSettingsController","jsonAppSet","Value","AppSettings","appName","jsonappName","selectvalue","selectsetting","ViewOrderDetails","calculatePercent","displayFlag","strDiscount","clean_54_DISCOUNT_THRESHOLD","clean_56_DISCOUNT_THRESHOLD","clean_59_DISCOUNT_THRESHOLD","clean_66_DISCOUNT_THRESHOLD","containerid","range","createTextRange","moveToElementText","execCommand","getSelection","createRange","selectNodeContents","removeAllRanges","addRange","CopyToClipboard","prePaid","formdata","EditApprovalProcess","update","crossLabelProcess","labelExceptions","labelExceptOrders","otherLabelOrdersYes","otherLabelOrdersNo","labelExceptOrdersYes","labelExceptOrdersNo","crossLabelProcessYes","crossLabelProcessNo","Process_Description","Is_Exceptions","Is_All_Labels","SearchHistoryController","filterType","uId","jsonSearchHistoryList","Quantity","searchHistoryController","ReportOrderByRequestor","handlecheckboxOptionChange","checkboxOptionfields","fiveone","fivethree","fivefourclean","fivefourmarked","fivesixclean","fivesixmarked","fivenineclean","fiveninemarked","sixtysix","eightynine","ninetyone","setValue","fivefour","fivesix","fivenine","shouldItemRender","getItemValue","renderItem","isHighlighted","onSelect","inputProps","SelectRole","storedResponse","selectedUser","storedResponseString","striped","bordered","isHovered","Label_Name","RegisterController","dateOfChange","processname","CreateProfile","registerController","cAlias","DisplayCreateProfileButton","addressLinetwo","dashboardRoutes","faHome","component","faPrint","faAngleDoubleRight","faInbox","faHistory","faFileAlt","faFileInvoiceDollar","faFileInvoice","faSignal","faFileSignature","faUsers","faBinoculars","faCogs","faSlidersH","faUserPlus","faUserTie","faUserTag","faQuestionCircle","faUserEdit","faKey","faExternalLinkAlt","IdleTimeOutModal","showModal","handleLogout","handleClose","AdminLayout","objAdmin","handleNotificationClick","Math","floor","random","getRoutes","render","getBrandText","handleImageClick","handleColorClick","handleHasImage","handleFixedClick","fixedClasses","_notificationSystem","timeout","userLoggedIn","isTimedOut","handleOnAction","handleOnActive","handleOnIdle","refs","notificationSystem","scrollTop","scrollingElement","mainPanel","onActive","onIdle","debounce","EmailPasswordController","sendEmailPassword","EmailPassword","ChangePassword","ReactDOM","exact","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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,YACA,MACA,SACA,YACA,WACA,MACA,SAzRJ,KA2REC,qBAAuB,CACrB,GACA,SACA,QACA,YACA,MACA,SACA,YACA,WACA,MACA,QACA,OACA,aACA,iBAxSJ,KA0SEC,YAAc,CAAC,SAAU,QAAS,YAAa,gBAAiB,YA1SlE,KA2SEC,yBAA2B,CACzB,SACA,QACA,YACA,SACA,MACA,QACA,OACA,aACA,iBApTJ,KAsTEC,+BAAiC,CAC/B,SACA,QACA,YACA,SACA,MACA,QACA,OACA,aACA,mBACA,+BACA,iBAjUJ,KAmUEC,oBAAsB,CACpB,SACA,QACA,YACA,SACA,MACA,SAzUJ,KA2UEC,2BAA6B,CAC3B,GACA,SACA,QACA,YACA,MACA,SACA,YACA,WACA,MACA,QACA,OACA,aACA,mBACA,+BACA,iBA1VJ,KA4VEC,iBAAmB,CACjB,WACA,YACA,eACA,WACA,gBACA,UAlWJ,KAoWEC,gBAAkB,CAChB,WACA,YACA,WACA,YACA,QACA,SACA,UACA,QACA,cACA,cACA,WA/WJ,KAiXEC,gBAAkB,CAChB,GACA,eACA,WACA,UACA,YACA,UAvXJ,KAyXEC,kBAAoB,CAClB,YACA,WACA,QACA,SACA,QACA,SACA,YACA,WACA,WACA,gBAnYJ,KAqYEC,sBAAwB,CACtB,WACA,eACA,UACA,YACA,UA1YJ,KA4YEC,0BAA4B,CAC1B,YACA,WACA,QACA,SACA,QACA,SACA,YACA,WACA,WACA,aACA,aACA,gBAxZJ,KA0ZEC,+BAAiC,CAC/B,YACA,WACA,QACA,SACA,QACA,SACA,YACA,WACA,WACA,aACA,aACA,eACA,OACA,aACA,kBAzaJ,KA2aEC,eAAiB,CAAC,OAAQ,WAAY,YAAa,QA3arD,KA4aEC,sBAAwB,CAAEC,UAAW,CAAC,CAAEC,eAAgB,GAAIC,MAAO,MA5arE,KA6aEC,yBAA2B,CACzBH,UAAW,CACT,CACEI,SAAU,GACVC,iBAAkB,GAClBC,cAAe,GACfJ,MAAO,GACPK,aAAc,GACdC,gBAAiB,MArbzB,KAybEC,8BAAgC,CAC9B,WACA,WACA,QACA,SACA,QACA,SACA,aACA,aACA,aACA,MACA,QACA,cACA,OACA,aACA,aAxcJ,KA0cEC,+BAAiC,CAC/B,YACA,WACA,QACA,SACA,QACA,SACA,aACA,YACA,aACA,MACA,QACA,eAtdJ,KAwdEC,oBAAsB,CACpB,WACA,YACA,SACA,QACA,cACA,SACA,MACA,eACA,cAjeJ,KAmeEC,WAAa,CACX,OACA,QACA,YACA,eACA,QACA,aACA,gBACA,cACA,iBACA,cA7eJ,KA+eEC,iBAAmB,CACjB,YACA,SACA,QACA,SACA,MACA,kBArfJ,KAufEC,yBAA2B,CACzB,YACA,SACA,QACA,SACA,MACA,QACA,kBA9fJ,KAggBEC,mBAAqB,CAAC,YAAa,QAhgBrC,KAkgBEC,QAAU,CACRhB,UAAW,CACT,CACEiB,OAAQ,oBACRC,MAAO,uBACPC,UAAW,aACXC,IAAK,iBACLC,OAAQ,KACR,YAAa,IACb,WAAY,WACZC,IAAK,KAEP,CACEL,OAAQ,oBACRC,MAAO,uBACPC,UAAW,aACXC,IAAK,iBACLC,OAAQ,KACR,YAAa,IACb,WAAY,WACZC,IAAK,KAEP,CACEL,OAAQ,oBACRC,MAAO,uBACPC,UAAW,aACXC,IAAK,iBACLC,OAAQ,KACR,YAAa,IACb,WAAY,WACZC,IAAK,KAEP,CACEL,OAAQ,oBACRC,MAAO,uBACPC,UAAW,aACXC,IAAK,iBACLC,OAAQ,KACR,YAAa,IACb,WAAY,WACZC,IAAK,KAEP,CACEL,OAAQ,oBACRC,MAAO,uBACPC,UAAW,aACXC,IAAK,iBACLC,OAAQ,KACR,YAAa,IACb,WAAY,WACZC,IAAK,OApjBb,KAyjBEC,SAAW,CACT,CACE,oBACA,uBACA,aACA,iBACA,KACA,IACA,WACA,IACA,IACA,MAEF,CACE,oBACA,uBACA,aACA,iBACA,QACA,IACA,WACA,IACA,IACA,MAEF,CACE,oBACA,kBACA,aACA,iBACA,KACA,IACA,WACA,IACA,IACA,MAEF,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACpC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACpC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACpC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAjmBxC,KAmmBEC,cAAgB,CACdxB,UAAW,CACT,CACEyB,SAAU,SACVC,QAAS,cACTC,UAAW,YACXC,aAAc,aACdC,OAAQ,gBACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,eACTC,UAAW,SACXC,aAAc,aACdC,OAAQ,kBACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,qBACTC,UAAW,cACXC,aAAc,aACdC,OAAQ,WACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,iBACTC,UAAW,YACXC,aAAc,aACdC,OAAQ,UACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTC,UAAW,4BACXC,aAAc,aACdC,OAAQ,WACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTC,UAAW,4BACXC,aAAc,aACdC,OAAQ,WACRC,SAAU,IACVC,SAAU,OAzpBlB,KA6pBEC,0BAA4B,CAC1B,WACA,WACA,QACA,SACA,QACA,SACA,YACA,UACA,UACA,gBAvqBJ,KAyqBEC,0BAA4B,CAC1B,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,IACA,IACA,IAEF,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,IACA,IACA,IAEF,CACE,aACA,aACA,MACA,aACA,uBACA,QACA,IACA,IACA,IACA,KA5sBN,KA+sBEC,+BAAiC,CAAC,OAAQ,WAAY,YAAa,SA/sBrE,KAgtBEC,+BAAiC,CAC/B,CAAC,iBAAkB,eAAgB,uBAAwB,IAC3D,CAAC,iBAAkB,YAAa,uBAAwB,IACxD,CAAC,qBAAsB,YAAa,uBAAwB,KAntBhE,KAqtBEC,0BAA4B,CAC1B,YACA,WACA,QACA,SACA,QACA,SACA,YACA,MACA,cACA,YACA,WACA,WAjuBJ,KAmuBEC,0BAA4B,CAC1B,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,IACA,GACA,IACA,KACA,KAEF,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,IACA,GACA,IACA,IACA,KAEF,CACE,aACA,aACA,MACA,aACA,uBACA,QACA,IACA,IACA,GACA,IACA,IACA,MA5wBN,KA+wBEC,mCAAqC,CACnCtC,UAAW,CACT,CACE,YAAa,aACb,WAAY,aACZuC,MAAO,MACPtB,OAAQ,cACRC,MAAO,uBACPG,OAAQ,QACR,YAAa,IACbC,IAAK,IACL,cAAe,GACf,YAAa,IACb,WAAY,KACZ,UAAW,OA7xBnB,KAkyBEkB,YAAc,CACZ,SACA,QACA,YACA,MACA,gBACA,UACA,QACA,OA1yBJ,KA4yBEC,YAAc,CACZ,CACE,oBACA,uBACA,aACA,iBACA,KACA,IACA,WACA,MArzBN,KAyzBEC,kBAAoB,CAClB1C,UAAW,CACT,CACEyB,SAAU,SACVC,QAAS,kBACTiB,UAAW,YACXf,aAAc,aACdN,IAAK,IACLsB,KAAM,MACNd,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTiB,UAAW,SACXf,aAAc,aACdN,IAAK,IACLsB,KAAM,MACNd,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTiB,UAAW,cACXf,aAAc,aACdN,IAAK,IACLsB,KAAM,MACNd,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTiB,UAAW,YACXf,aAAc,aACdN,IAAK,IACLsB,KAAM,MACNd,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTiB,UAAW,4BACXf,aAAc,aACdN,IAAK,IACLsB,KAAM,MACNd,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTiB,UAAW,4BACXf,aAAc,aACdN,IAAK,IACLsB,KAAM,MACNd,SAAU,IACVC,SAAU,OAr3BlB,KAy3BEc,yBAA2B,CACzB,WACA,WACA,QACA,SACA,QACA,SACA,YACA,UACA,WACA,YACA,aACA,eACA,OACA,YACA,gBAx4BJ,KA04BEC,yBAA2B,CACzB,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,IACA,IACA,SACA,SACA,GACA,SACA,GACA,IAEF,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,IACA,IACA,SACA,SACA,GACA,SACA,GACA,IAEF,CACE,aACA,aACA,MACA,aACA,uBACA,QACA,IACA,IACA,IACA,QACA,QACA,GACA,QACA,GACA,KA57BN,KA+7BEC,yBAA2B,CACzB,YACA,WACA,QACA,SACA,QACA,SACA,YACA,YACA,aACA,MACA,QACA,cACA,OACA,YACA,gBA98BJ,KAk9BEC,yBAA2B,CACzB,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,SACA,SACA,IACA,QACA,GACA,QACA,GACA,IAEF,CACE,aACA,aACA,MACA,cACA,uBACA,QACA,IACA,SACA,SACA,IACA,QACA,GACA,QACA,GACA,IAEF,CACE,aACA,aACA,MACA,aACA,uBACA,QACA,IACA,QACA,QACA,IACA,OACA,GACA,OACA,GACA,KApgCN,KAwgCEC,wBAA0B,CACxB,GACA,SACA,QACA,YACA,MACA,SACA,WACA,WACA,OAjhCJ,KAmhCEC,wBAA0B,CACxB,CACE,GACA,YACA,oBACA,SACA,iBACA,QACA,IACA,WACA,MA7hCN,KAgiCEC,YAAc,CACZnD,UAAW,CACT,CACEyB,SAAU,SACVC,QAAS,cACTC,UAAW,YACXC,aAAc,aACdC,OAAQ,gBACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,eACTC,UAAW,SACXC,aAAc,aACdC,OAAQ,gBACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,qBACTC,UAAW,cACXC,aAAc,aACdC,OAAQ,gBACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,iBACTC,UAAW,YACXC,aAAc,aACdC,OAAQ,gBACRC,SAAU,IACVC,SAAU,KAEZ,CACEN,SAAU,SACVC,QAAS,cACTC,UAAW,4BACXC,aAAc,aACdC,OAAQ,gBACRC,SAAU,IACVC,SAAU,OA7kClB,KAklCEqB,cAAgB,CACdp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","file":"static/js/main.63e1b697.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/universal.e5f77736.png\";","module.exports = __webpack_public_path__ + \"static/media/sidebar-3.c958a453.jpg\";","module.exports = \"data:image/gif;base64,R0lGODlhFgAXAPcAAAAAAP///5dPUO66vN6gpcWDjdC1xJeMlP/6/56eodnZ26urrbi4uXFydG9wcpOesOLl6mtyeOv0+9zi5s/j5PP9/ebs7Pv///H+9b/EwPX89fP/8c/Sy/f68/H07WFkWe3x4M3Oxv//5v398v//+P/+7mVjVpuYj/r269fKqv757f746sLBv//15WxgUP/26vPgy+HVx+Pc1HtvY/zmz4uCefz28bWTeoZ4baiOff/t4vrt5f/07XY2Ev/ey5+LgP7k1cu6sIUuAVceAdzDttW9sP/t5IwsAFwdAFccAJE0C4QyCm85H+u1ndGolIFtZPzr43IhAG4gAHQkA3IyFqVlS3lMOb2KdqV6afK+qb6ZiY4lAG8dAIlFK61cPnxNO8WWhOGum6eTjKIoAIkiAGwbAGYaAGEXAFgWAFkYBJw5GYYyGGo8LdOMdsCimHsbAHQaAG8ZAIwjBocoDH0lDVgbCbB5at6jkdejlaYgAHUXAJAfAb0pBXocA5QhBocfBqMmCIoiCWkbB3olEHMsGng1JKdVQJ1VRNN5Yc2ron0XAZUbA6ghBJIgBoweB5okCqAmDnwhDLQuE3gfDWceD20hEYAoFIgsF7M7IGQmGZg/Lcukm/3SyeHAuYkWAZcaBHkWA2sUA68fB6AfCZ0hCZIfCnwfDoojEo8pFYgoGGggFI4xH3QmGXYyJYY6LJhfVaAUAHMQAGwPAIwUBJYZBXsUBbQfCaYbCJkcCLkkDYMZCa8hDZMeDJYeDagmEaEjEpwkE68oFqUmFY8hErcwGp0oF5MlFoMnGH4oG4QuInEtIpJXT+/RzYMPAGoKAGkPBGwQBVwOBH4SBqgZCZcZCpAYCoAWCZscDa4fD8YnFLIkEpweELkmFp0iE3geE6NNQpxiW4sWDJYgFJ4iGHEaE8qZlJIfGKElHd+lod/Bv/bi4X8sKII4NYFHRW9GRJNtbOexr6UfHp4eHdyqqejo6OXl5cnJycXFxaSkpICAgHx8fHV1dW5ubmpqal1dXf///yH5BAEAAP8ALAAAAAAWABcAAAj/AC2AELECAYIdKexoKbHhn0OHNlSgcHjgyQ08BAqAY1LnCwyGGCpc0DDiBRSHBtwdQnVOnrlTlQqF8QFEBw8bLzht6vTwXRtMubJNE5ZKlqZvh16Be2WlVaZyD8VcQZSHDyxaxpp121bN2rNoaCaxQvcww4wmSsYAAqZrVjBu2KjVCmUGVTKyDiFECFKFDKRxgxSNyiVqUZ8zXAIlg/fw34MEYOb8ikcljh9JjPZMSRLlD7J5jSc4INLlka0eUshI0nbNVBpKS8LdaSyhQZEqjm6t0dOI2C5cdIYIEtKrzYgKDxP8uHKp2LFYnoJp+wQHSaQjpLzQIPFwAg4nhLwphXO1qpSvX4rKgNriS00TFY1r5GCzjAiQLIaGiZPmDNobXnIgYkRjJ7ggBjMPYaEKOeuw004XyVjyDYIPhWCCDI3F4MYm6ajzDwyJ2CEAC4158AEHjaXoUActDEBBivjko+KMM97DDz005viQPgzoqCM++/iYYz3+KCAkjf0scOSM9vQoZEAAOw==\"","// 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\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: 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(\n process.env.PUBLIC_URL,\n window.location.href\n );\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: string, config?: 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: string, config?: 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, { Component } from \"react\";\r\nimport logo from \"../../../assets/img/UMG_Logo.png\";\r\n\r\nexport class LoginNavBar extends Component {\r\n constructor(objLoginNavBar:ILoginNavBar) {\r\n super(objLoginNavBar);\r\n this.mobileSidebarToggle = this.mobileSidebarToggle.bind(this);\r\n this.state = {\r\n sidebarExists: false\r\n };\r\n }\r\n mobileSidebarToggle(e) {\r\n if (this.state.sidebarExists === false) {\r\n this.setState({\r\n sidebarExists: true\r\n });\r\n }\r\n e.preventDefault();\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n var node = document.createElement(\"div\");\r\n node.id = \"bodyClick\";\r\n node.onclick = function() {\r\n //if((this!=undefined){\r\n //(this as HTMLElement).parentElement.removeChild(this);\r\n //}\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n };\r\n document.body.appendChild(node);\r\n }\r\n render() {\r\n const headerbgColor = {\r\n \"background-color\": \"#24305E\",\r\n \"color\":\"white\"\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
{this.props.brandText}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface ILoginNavBar\r\n{\r\n brandText:string;\r\n}\r\ninterface Istate\r\n{\r\n sidebarExists:boolean\r\n}\r\n\r\n \r\n","export class ServiceProxy {\r\n headers = {\r\n 'Accept': 'application/json, application/xml, text/plain, text/html, *.*',\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n };\r\n\r\n getUrl(url : string, data : any){\r\n var queryParam = Object.keys(data)\r\n .map(k => k + '=' + data[k])\r\n .join('&');\r\n return url + '?' + queryParam;\r\n }\r\n\r\n get(url : string, data : any)\r\n {\r\n if(data !== null)\r\n {\r\n url = this.getUrl(url, data)\r\n }\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: this.headers\r\n }\r\n //console.log(url);\r\n return fetch(url,requestOptions)\r\n .then(response => {return response.json()})\r\n .catch(error => {return error});\r\n }\r\n\r\n post(url : string ,data : any)\r\n {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.headers,\r\n body: JSON.stringify(data)\r\n }\r\n return fetch(url,requestOptions)\r\n .then(response => {return response.json()})\r\n .catch(error => {return error});\r\n }\r\n\r\n put(url : string ,data : any)\r\n {\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: this.headers,\r\n body: JSON.stringify(data)\r\n }\r\n return fetch(url,requestOptions)\r\n .then(response => {return response.json()})\r\n .catch(error => {return error});\r\n }\r\n\r\n delete(url : string ,data : any)\r\n {\r\n if(data !== null)\r\n {\r\n url = this.getUrl(url, data)\r\n }\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: this.headers\r\n }\r\n // console.log(url);\r\n return fetch(url,requestOptions)\r\n .then(response => {return response.json()})\r\n .catch(error => {return error});\r\n }\r\n}\r\n\r\n","export class Variables {\r\n //Dev API\r\n\r\n // Url = \"http://localhost:8082/\";\r\n // clientId = \"9a7ed85c-a7a7-4c00-b5fe-751019042dad\";\r\n // redirectUri= \"http://localhost:3000\";\r\n\r\n //internal test API\r\n\r\n// redirectUri= \"https://egratistest.global.umusic.net/\";\r\n// Url=\"https://egratistest.sevice.umusic.net/\" \r\n// clientId = \"9a7ed85c-a7a7-4c00-b5fe-751019042dad\";\r\n\r\n//extrnal Test\r\n redirectUri= \"https://egratistest-inter.umusic.com/\"; \r\n Url=\"https://egratistest.sevice-inter.umusic.com/\" \r\n clientId = \"9a7ed85c-a7a7-4c00-b5fe-751019042dad\";\r\n\r\n //Url=\"http://10.254.176.226/\" --without sso\r\n\r\n\r\n //UAT API\r\n \r\n //Url=\"http://10.254.176.252/\"; //new UAT\r\n \r\n //PROD API\r\n\r\n \r\n // redirectUri= \"https://egratisprod-inter.umusic.com/\"; \r\n // Url=\"https://egratisprod.sevice.umusic.net/\" \r\n // clientId = \"3ee086b2-4b6d-4597-986d-7d8d348de311\";\r\n\r\n // redirectUri= \"https://egratisprod-inter.umusic.com/\"; \r\n // Url=\"https://egratisprod.service-inter.umusic.com/\" \r\n // clientId = \"3ee086b2-4b6d-4597-986d-7d8d348de311\";\r\n\r\n // Url = \"http://localhost:8082/\";\r\n // redirectUri= \"http://localhost:3000\";\r\n //Url = \"https://egratis2-service.umusic.net/\"\r\n ReportPath =\"http://aws19wvsql086.global.umusic.ext/ReportServer/Pages/ReportViewer.aspx?%2feGratis%2f\";\r\n\r\n Controller = {\r\n login: \"login/\",\r\n register: \"register/\",\r\n menu: \"menu/\",\r\n common: \"common/\",\r\n editUser: \"editUser/\",\r\n logout: \"logout/\",\r\n passwordReset: \"passwordReset/\",\r\n userView: \"userView/\",\r\n emailPassword: \"emailPassword/\",\r\n quickProductSearch: \"quickProductSearch/\",\r\n sysop: \"sysop/\",\r\n autoAddExecUser: \"autoAddExecUser/\",\r\n appSettings: \"appSettings/\",\r\n contact: \"contact/\",\r\n createOrder: \"createOrder/\",\r\n ftpHistory: \"ftpHistory/\",\r\n depotOrders: \"depotOrders/\",\r\n orderApproval: \"orderApproval/\",\r\n orderView: \"orderView/\",\r\n ViewOrder: \"viewOrder/\",\r\n SearchHistory: \"SearchHistory/\",\r\n Report: \"Report/\",\r\n };\r\n loginService = {\r\n checkUserLocked: \"checkUserLocked\",\r\n authenticateUser: \"authenticateUser\",\r\n authenticateUserSSO:\"authenticateUserSSO\",\r\n authenticateUserSSO1:\"authenticateUserSSO1\",\r\n getUserDetails: \"getUserDetails\",\r\n loginUser: \"loginUser\",\r\n updateUserLocked: \"updateUserLocked\",\r\n insertLogDetails:\"insertLogDetails\"\r\n };\r\n commonService = {\r\n getAllLabel: \"getAllLabel\",\r\n getAllDeptForLabel: \"getAllDeptForLabel\",\r\n getAllDepartment: \"getAllDepartment\",\r\n getApprovalProcess: \"getApprovalProcess\",\r\n getSelfApprovers: \"getSelfApprovers\",\r\n getProcessLookupUserType: \"getProcessLookupUserType\",\r\n getLabel: \"getLabel\",\r\n };\r\n editUserService = {\r\n getUser: \"getUser\",\r\n getUserType: \"getUserType\",\r\n getProcessName: \"getProcessName\",\r\n updateUser: \"updateUser\",\r\n updateSysopUser: \"updateSysopUser\",\r\n deleteUser: \"deleteUser\",\r\n };\r\n registerService = {\r\n checkAliasEmail: \"checkAliasEmail\",\r\n getDeptProcessInfo: \"getDeptProcessInfo\",\r\n addNewUser: \"addNewUser\",\r\n updateSuperExecUser: \"updateSuperExecUser\",\r\n getLabel: \"getLabel\",\r\n insertPrivateContact: \"insertPrivateContact\",\r\n insertPermissionsExceptions: \"insertPermissionsExceptions\",\r\n };\r\n logoutService = {\r\n updateLoginFlag: \"updateLoginFlag\",\r\n };\r\n menuService = {\r\n getNTBillableUser: \"getNTBillableUser\",\r\n };\r\n passwordResetService = {\r\n updateUserPassword: \"updateUserPassword\",\r\n checkPreviousPassword: \"checkPreviousPassword\",\r\n };\r\n\r\n userViewService = {\r\n getUserList: \"getUserList\",\r\n getUserListByProcessName: \"getUserListByProcessName\",\r\n };\r\n quickProductSearchService = {\r\n quickProductSearch: \"QuickProductSearch\",\r\n };\r\n emailPasswordService = {\r\n getPasswordDetails: \"getPasswordDetails\",\r\n sendEmail: \"sendEmail\",\r\n };\r\n sysopService = {\r\n insertDept: \"insertDept\",\r\n updateDept: \"updateDept\",\r\n getAllProcessForLabel: \"getAllProcessForLabel\",\r\n insertLabel: \"insertLabel\",\r\n updateLabel: \"updateLabel\",\r\n getAllApprovers: \"getAllApprovers\",\r\n getApprovalLevel: \"getApprovalLevel\",\r\n getApprovalTable: \"getApprovalTable\",\r\n getAllProcessForApproverLabel: \"getAllProcessForApproverLabel\",\r\n getDefaultProcess: \"getDefaultProcess\",\r\n insertApprovalProcess: \"insertApprovalProcess\",\r\n addFullLengthCleanApproverToProcess: \"addFullLengthCleanApproverToProcess\",\r\n insertCrossLabels: \"insertCrossLabels\",\r\n insertLabelExceptions: \"insertLabelExceptions\",\r\n getApprovalProcess: \"getApprovalProcess\",\r\n countProcessByOrderType: \"countProcessByOrderType\",\r\n getApprovalProcessDetails: \"getApprovalProcessDetails\",\r\n getApproverNames: \"getApproverNames\",\r\n replaceApprover: \"replaceApprover\",\r\n addApprover: \"addApprover\",\r\n checkAlternateApprovers: \"checkAlternateApprovers\",\r\n deleteApprover: \"deleteApprover\",\r\n getCrossLabels: \"getCrossLabels\",\r\n getLabelExceptions: \"getLabelExceptions\",\r\n updateMaxApprovers: \"updateMaxApprovers\",\r\n deleteCrossLabels: \"deleteCrossLabels\",\r\n deleteLabelExceptions: \"deleteLabelExceptions\",\r\n checkIsDefault: \"checkIsDefault\",\r\n deleteApproverByProcess: \"deleteApproverByProcess\",\r\n getAllProcessByAlias: \"getAllProcessByAlias\",\r\n getProcessLookupCounter: \"getProcessLookupCounter\",\r\n addApproverForExport: \"addApproverForExport\",\r\n checkIsDefaultProcessLookup: \"checkIsDefaultProcessLookup\",\r\n addApproverNonExport: \"addApproverNonExport\",\r\n getNonExportDefaultProcessCount: \"getNonExportDefaultProcessCount\",\r\n updatePermissions: \"updatePermissions\",\r\n checkAlternateApprover: \"checkAlternateApprover\",\r\n };\r\n autoAddExecUserService = {\r\n getExecUserDept: \"getExecUserDept\",\r\n deleteExecUserDeptFlag: \"deleteExecUserDeptFlag\",\r\n insertExecUserDeptFlag: \"insertExecUserDeptFlag\",\r\n };\r\n appSettingsService = {\r\n getAllAppSetting: \"getAllAppSetting\",\r\n updateAppSetting: \"updateAppSetting\",\r\n };\r\n contactService = {\r\n selectPersonalContact: \"selectPersonalContact\",\r\n selectAllContact: \"selectAllContact\",\r\n privateContact: \"privateContact\",\r\n getStates: \"getStates\",\r\n getAddressValidation: \"getAddressValidation\",\r\n getPrivateContact: \"getPrivateContact\",\r\n };\r\n createOrderService = {\r\n getProductSearch: \"getProductSearch\",\r\n getAllProductsByUPC: \"getAllProductsByUPC\",\r\n getAllProductsByUPCErrMsg: \"getAllProductsByUPCErrMsg\",\r\n getOrderSummary: \"getOrderSummary\",\r\n getApproverLevels: \"getApproverLevels\",\r\n checkCFOApproval: \"checkCFOApproval\",\r\n checkOrderConfiguration: \"checkOrderConfiguration\",\r\n updateSelfOrderItems: \"updateSelfOrderItems\",\r\n insertTblEmailHistory: \"insertTblEmailHistory\",\r\n checkApprovalEmail: \"checkApprovalEmail\",\r\n updateCompleteOrder: \"updateCompleteOrder\",\r\n insertTblApprovalHistory: \"insertTblApprovalHistory\",\r\n getEmailNotice: \"getEmailNotice\",\r\n getNotDepotLabelApprover: \"getNotDepotLabelApprover\",\r\n updateRejectOrder: \"updateRejectOrder\",\r\n getOverNightBillable: \"getOverNightBillable\",\r\n insertOrderSummary: \"insertOrderSummary\",\r\n updateInsertOrderItems: \"updateInsertOrderItems\",\r\n getOrderItemsForByPassApproval: \"getOrderItemsForByPassApproval\",\r\n getCompleteOrder: \"getCompleteOrder\",\r\n updateOrderItems: \"updateOrderItems\",\r\n getOrderDetail: \"getOrderDetail\",\r\n getApproverNameComments: \"getApproverNameComments\",\r\n getReportingCo: \"getReportingCo\",\r\n getApproverEmail: \"getApproverEmail\",\r\n sendEmail: \"sendEmail\",\r\n getProcessNameforSuperUser: \"getProcessNameforSuperUser\",\r\n getProcessNameforRegAndExeUser: \"getProcessNameforRegAndExeUser\",\r\n getApprovalProcessValidate: \"getApprovalProcessValidate\",\r\n checkSelfApprover: \"checkSelfApprover\",\r\n getOrderItems: \"getOrderItems\",\r\n getCost: \"getCost\",\r\n };\r\n ftpHistoryService = {\r\n getFTPOrderHistory: \"getFTPOrderHistory\",\r\n resetFTPOrders: \"resetFTPOrders\",\r\n };\r\n depotOrderService = {\r\n getDepotPendingOrders: \"getDepotPendingOrders\",\r\n cancelPendingOrders: \"cancelPendingOrders\",\r\n getOrderSummary: \"getOrderSummary\",\r\n getDepotHistory: \"getDepotHistory\",\r\n getDepotHistoryExport: \"getDepotHistoryExport\",\r\n getNextApprover: \"getNextApprover\",\r\n getOrderApprovalHistory: \"getOrderApprovalHistory\",\r\n getOrderDepotHistory: \"getOrderDepotHistory\",\r\n getOrderDetail: \"getOrderDetail\",\r\n getFreeGoodsOrderDetail: \"getFreeGoodsOrderDetail\",\r\n getOrderDetailsSummary: \"getOrderDetailsSummary\",\r\n holdOrder: \"holdOrder\",\r\n depotProcessOrder: \"depotProcessOrder\",\r\n GetDepotOrderDetail: \"getDepotOrderDetail\",\r\n getDepotOrderItemDetail: \"getDepotOrderItemDetail\",\r\n getDepotNextApprover: \"getDepotNextApprover\",\r\n };\r\n orderApprovalService = {\r\n getApproverInbox: \"getApproverInbox\",\r\n getApproverHistoryList: \"getApproverHistoryList\",\r\n };\r\n orderViewService = {\r\n getListOrderView: \"getListOrderView\",\r\n };\r\n viewOrderService = {\r\n getListViewOrder: \"getListViewOrder\",\r\n getOrderSummary: \"getOrderSummary\",\r\n getNextApprover: \"getNextApprover\",\r\n getApprovalHistory: \"getApprovalHistory\",\r\n getOrderDetails: \"getOrderDetails\",\r\n getOrderDepotHistory: \"getOrderDepotHistory\",\r\n getOrderDepotContact: \"getOrderDepotContact\",\r\n };\r\n SearchHistoryServices = {\r\n getSearchHistory: \"getOrderHistory\",\r\n };\r\n ReportServices = {\r\n getUserList: \"getUserList\",\r\n getUserActiveList: \"getUserActiveList\",\r\n };\r\n\r\n // BEGIN\r\n thArray = [\r\n \"\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"UPC\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Rls Date\",\r\n \"Qty\",\r\n ];\r\n thArrayBillable = [\r\n \"\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"UPC\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Rls Date\",\r\n \"Qty\",\r\n \"Price\",\r\n ];\r\n thArrayBillableClean = [\r\n \"\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"UPC\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Rls Date\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Cost\",\r\n \"Discount %\",\r\n \"Approval Reqd\",\r\n ];\r\n thArrayCopy = [\"Artist\", \"Title\", \"Selection\", \"Configuration\", \"Quantity\"];\r\n thArrayCopyBillableClean = [\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Cost\",\r\n \"Discount %\",\r\n \"Approval Reqd\",\r\n ];\r\n thArrayCopyTicketBundlingClean = [\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Cost\",\r\n \"Discount %\",\r\n \"Artist StoreName\",\r\n \"Final Tour Date (MM/DD/YYYY)\",\r\n \"Approval Reqd\",\r\n ];\r\n thArrayCopyBillable = [\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Price\",\r\n ];\r\n thArrayTicketBundlingClean = [\r\n \"\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"UPC\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Rls Date\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Cost\",\r\n \"Discount %\",\r\n \"Artist StoreName\",\r\n \"Final Tour Date (MM/DD/YYYY)\",\r\n \"Approval Reqd\",\r\n ];\r\n thFtpHistoryList = [\r\n \"Order Id\",\r\n \"Requestor\",\r\n \"Request Date\",\r\n \"FTP File\",\r\n \"FTP Date/Time\",\r\n \"Status\",\r\n ];\r\n thOrderViewList = [\r\n \"Order Id\",\r\n \"Requestor\",\r\n \"Billable\",\r\n \"Overnight\",\r\n \"Clean\",\r\n \"Status\",\r\n \"Req.Wt.\",\r\n \"Label\",\r\n \"Super Label\",\r\n \"Ship Method\",\r\n \"Created\",\r\n ];\r\n thViewOrderList = [\r\n \"\",\r\n \"Request Date\",\r\n \"Order Id\",\r\n \"Ship to\",\r\n \"Attention\",\r\n \"Status\",\r\n ];\r\n thOrderDetailList = [\r\n \"Catalog #\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Qty Req.\",\r\n \"Qty App.\",\r\n \"Depot Status\",\r\n ];\r\n thApproverHistoryList = [\r\n \"Order Id\",\r\n \"Request Date\",\r\n \"Ship to\",\r\n \"Attention\",\r\n \"Status\",\r\n ];\r\n thOrderDetailBillableList = [\r\n \"Catalog #\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Qty Req.\",\r\n \"Qty App.\",\r\n \"Price Req.\",\r\n \"Price App.\",\r\n \"Depot Status\",\r\n ];\r\n thOrderDetailBillableCleanList = [\r\n \"Catalog #\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Qty Req.\",\r\n \"Qty App.\",\r\n \"Price Req.\",\r\n \"Price App.\",\r\n \"Depot Status\",\r\n \"Cost\",\r\n \"Discount %\",\r\n \"Apprl Required\",\r\n ];\r\n thApproverList = [\"Type\", \"Approver\", \"Date/Time\", \"Note\"];\r\n recordsetDepotHistory = { recordset: [{ CreateDateTime: \"\", Notes: \"\" }] };\r\n recordsetApprovalHistory = {\r\n recordset: [\r\n {\r\n Approver: \"\",\r\n ApprovalDateTime: \"\",\r\n ApproverEmail: \"\",\r\n Notes: \"\",\r\n ApproverType: \"\",\r\n ApproverType_Id: \"\",\r\n },\r\n ],\r\n };\r\n thArrayBillableOrderEditClean = [\r\n \"Catalog#\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units /Set\",\r\n \" Price Req\",\r\n \"Price Appr\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Reject Item\",\r\n \"Cost\",\r\n \"Discount %\",\r\n \"Apprl Req\",\r\n ];\r\n thArrayBillableOrderEditMarked = [\r\n \"Catalog #\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units /Set\",\r\n \"Price Req\",\r\n \"Price Appr\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Reject Item\",\r\n ];\r\n thSearchHistoryList = [\r\n \"Order Id\",\r\n \"Requestor\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection #\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Ship To Name\",\r\n \"Ship To Co\",\r\n ];\r\n thUserList = [\r\n \"Name\",\r\n \"Alias\",\r\n \"User Type\",\r\n \"Process Name\",\r\n \"Label\",\r\n \"Department\",\r\n \"Business Unit\",\r\n \"Customer No\",\r\n \"Executive User\",\r\n \"Super User\",\r\n ];\r\n thDepotOrderList = [\r\n \"Catalog #\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Item Exception\",\r\n ];\r\n thDepotBillableOrderList = [\r\n \"Catalog #\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Item Exception\",\r\n ];\r\n thDepotHistoryList = [\"Date/Time\", \"Note\"];\r\n //END\r\n tdArray = {\r\n recordset: [\r\n {\r\n Artist: \"CHEMICAL BROTHERS\",\r\n Title: \"BORN IN THE... (STD)\",\r\n Selection: \"2547275264\",\r\n UPC: \"00602547275264\",\r\n Config: \"CD\",\r\n \"Units/Set\": \"1\",\r\n \"Rls Date\": \"07/17/15\",\r\n Qty: \"1\",\r\n },\r\n {\r\n Artist: \"CHEMICAL BROTHERS\",\r\n Title: \"BORN IN THE... (STD)\",\r\n Selection: \"2547275264\",\r\n UPC: \"00602547275264\",\r\n Config: \"CD\",\r\n \"Units/Set\": \"1\",\r\n \"Rls Date\": \"07/17/15\",\r\n Qty: \"1\",\r\n },\r\n {\r\n Artist: \"CHEMICAL BROTHERS\",\r\n Title: \"BORN IN THE... (STD)\",\r\n Selection: \"2547275264\",\r\n UPC: \"00602547275264\",\r\n Config: \"CD\",\r\n \"Units/Set\": \"1\",\r\n \"Rls Date\": \"07/17/15\",\r\n Qty: \"1\",\r\n },\r\n {\r\n Artist: \"CHEMICAL BROTHERS\",\r\n Title: \"BORN IN THE... (STD)\",\r\n Selection: \"2547275264\",\r\n UPC: \"00602547275264\",\r\n Config: \"CD\",\r\n \"Units/Set\": \"1\",\r\n \"Rls Date\": \"07/17/15\",\r\n Qty: \"1\",\r\n },\r\n {\r\n Artist: \"CHEMICAL BROTHERS\",\r\n Title: \"BORN IN THE... (STD)\",\r\n Selection: \"2547275264\",\r\n UPC: \"00602547275264\",\r\n Config: \"CD\",\r\n \"Units/Set\": \"1\",\r\n \"Rls Date\": \"07/17/15\",\r\n Qty: \"1\",\r\n },\r\n ],\r\n };\r\n\r\n tdArray1 = [\r\n [\r\n \"CHEMICAL BROTHERS\",\r\n \"BORN IN THE... (STD)\",\r\n \"2547275264\",\r\n \"00602547275264\",\r\n \"CD\",\r\n \"1\",\r\n \"07/17/15\",\r\n \"1\",\r\n \"1\",\r\n \"15\",\r\n ],\r\n [\r\n \"CHEMICAL BROTHERS\",\r\n \"BORN IN THE (2LP SET\",\r\n \"2547275288\",\r\n \"00602547275288\",\r\n \"Album\",\r\n \"2\",\r\n \"07/17/15\",\r\n \"1\",\r\n \"1\",\r\n \"14\",\r\n ],\r\n [\r\n \"EMPIRE OF THE SUN\",\r\n \"ICE ON THE DUNE\",\r\n \"B001847402\",\r\n \"00602537375462\",\r\n \"CD\",\r\n \"1\",\r\n \"06/18/13\",\r\n \"1\",\r\n \"1\",\r\n \"13\",\r\n ],\r\n [\" \", \" \", \" \", \" \", \" \", \" \", \" \", \" \"],\r\n [\" \", \" \", \" \", \" \", \" \", \" \", \" \", \" \"],\r\n [\" \", \" \", \" \", \" \", \" \", \" \", \" \", \" \"],\r\n [\" \", \" \", \" \", \" \", \" \", \" \", \" \", \" \"],\r\n ];\r\n tdArray_order = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Ship_To: \"Music Today\",\r\n Attention: \"RAJA PAUL\",\r\n Request_Date: \"20/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Ship_To: \"Ticketmaster\",\r\n Attention: \"Rajesh\",\r\n Request_Date: \"22/06/2020\",\r\n Status: \"Depot Processed\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Ship_To: \"Official Community\",\r\n Attention: \"Music Today\",\r\n Request_Date: \"18/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Ship_To: \"One Live Media\",\r\n Attention: \"lady gaga\",\r\n Request_Date: \"19/06/2020\",\r\n Status: \"Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Ship_To: \"Astralwerks\",\r\n Attention: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n },\r\n {\r\n Order_id: \"500613\",\r\n Ship_To: \"Astralwerks\",\r\n Attention: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"2\",\r\n Billable: \"2\",\r\n },\r\n ],\r\n };\r\n thArrayFreeGoodsOrderView = [\r\n \"#Catalog\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Qty Req\",\r\n \"Qty App\",\r\n \"Depot Status\",\r\n ];\r\n tdArrayFreeGoodsOrderView = [\r\n [\r\n \"B002849001\",\r\n \"10/26/2018\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"BEERBONGS & BEN(EXP)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"1\",\r\n \"\",\r\n ],\r\n [\r\n \"B003189901\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"HOLLYWOOD'S(EX)(TGT)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"1\",\r\n \"\",\r\n ],\r\n [\r\n \"0121532592\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"BIG TYMERS\",\r\n \"I GOT THAT WORK (EX)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"1\",\r\n \"\",\r\n ],\r\n ];\r\n thArrayFreeGoodsOrderApprovers = [\"Type\", \"Approver\", \"Date/Time\", \"Notes\"];\r\n tdArrayFreeGoodsOrderApprovers = [\r\n [\"Label Approver\", \"KEVIN LIPSON\", \"6/18/2020 5:18:07 PM\", \"\"],\r\n [\"Label Approver\", \"DOUG KOCH\", \"6/22/2020 1:53:30 PM\", \"\"],\r\n [\"Overnight Approver\", \"DOUG KOCH\", \"6/22/2020 1:53:32 PM\", \"\"],\r\n ];\r\n thArrayFreeGoodsOrderEdit = [\r\n \"Catalog #\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Qty\",\r\n \"Reject Item\",\r\n \"Prior OTD\",\r\n \"Dept OTD\",\r\n \"DJC OTD\",\r\n ];\r\n tdArrayFreeGoodsOrderEdit = [\r\n [\r\n \"B002849001\",\r\n \"10/26/2018\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"BEERBONGS & BEN(EXP)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"\",\r\n \"2\",\r\n \"84\",\r\n \"0\",\r\n ],\r\n [\r\n \"B003189901\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"HOLLYWOOD'S(EX)(TGT)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"\",\r\n \"6\",\r\n \"6\",\r\n \"0\",\r\n ],\r\n [\r\n \"0121532592\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"BIG TYMERS\",\r\n \"I GOT THAT WORK (EX)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"\",\r\n \"2\",\r\n \"2\",\r\n \"0\",\r\n ],\r\n ];\r\n tdArrayFreeGoodsOrderApproversEdit = {\r\n recordset: [\r\n {\r\n \"Catalog #\": \"B002849001\",\r\n \"Rel.Date\": \"10/26/2018\",\r\n Label: \"UMP\",\r\n Artist: \"POST MALONE\",\r\n Title: \"BEERBONGS & BEN(EXP)\",\r\n Config: \"Album\",\r\n \"Units/Set\": \"2\",\r\n Qty: \"1\",\r\n \"Reject Item\": \"\",\r\n \"Prior OTD\": \"2\",\r\n \"Dept OTD\": \"84\",\r\n \"DJC OTD\": \"0\",\r\n },\r\n ],\r\n };\r\n\r\n thProdArray = [\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"UPC\",\r\n \"Configuration\",\r\n \"Release\",\r\n \"Label\",\r\n \"Cat\",\r\n ];\r\n tdProdArray = [\r\n [\r\n \"CHEMICAL BROTHERS\",\r\n \"BORN IN THE... (STD)\",\r\n \"2547275264\",\r\n \"00602547275264\",\r\n \"CD\",\r\n \"1\",\r\n \"07/17/15\",\r\n \"1\",\r\n ],\r\n ];\r\n\r\n tdArray_AprlInbox = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Ship_To: \"David Hollender\",\r\n Requestor: \"RAJA PAUL\",\r\n Request_Date: \"20/06/2020\",\r\n Qty: \"1\",\r\n OpCo: \"UMG\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Ship_To: \"Jack Dawson\",\r\n Requestor: \"Rajesh\",\r\n Request_Date: \"22/06/2020\",\r\n Qty: \"5\",\r\n OpCo: \"UMG\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Ship_To: \"Emmely Rose\",\r\n Requestor: \"Music Today\",\r\n Request_Date: \"18/06/2020\",\r\n Qty: \"3\",\r\n OpCo: \"UMG\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Ship_To: \"Reacker Tom\",\r\n Requestor: \"lady gaga\",\r\n Request_Date: \"19/06/2020\",\r\n Qty: \"1\",\r\n OpCo: \"UMG\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Ship_To: \"Wills Hanks\",\r\n Requestor: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Qty: \"2\",\r\n OpCo: \"UMG\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n },\r\n {\r\n Order_id: \"500613\",\r\n Ship_To: \"Wills Hanks\",\r\n Requestor: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Qty: \"2\",\r\n OpCo: \"UMG\",\r\n Material: \"2\",\r\n Billable: \"2\",\r\n },\r\n ],\r\n };\r\n thArrayBillableOrderView = [\r\n \"#Catalog\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Qty Req\",\r\n \"Qty Appr\",\r\n \"Price Req\",\r\n \"Price Appr\",\r\n \"Depot Status\",\r\n \"Cost\",\r\n \"Discount%\",\r\n \"Approval Req\",\r\n ];\r\n tdArrayBillableOrderView = [\r\n [\r\n \"B002849001\",\r\n \"10/26/2018\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"BEERBONGS & BEN(EXP)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"1\",\r\n \"$14.30\",\r\n \"$14.30\",\r\n \"\",\r\n \"$14.30\",\r\n \"\",\r\n \"\",\r\n ],\r\n [\r\n \"B003189901\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"HOLLYWOOD'S(EX)(TGT)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"1\",\r\n \"$161.5\",\r\n \"$161.5\",\r\n \"\",\r\n \"$161.5\",\r\n \"\",\r\n \"\",\r\n ],\r\n [\r\n \"0121532592\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"BIG TYMERS\",\r\n \"I GOT THAT WORK (EX)\",\r\n \"Album\",\r\n \"2\",\r\n \"1\",\r\n \"1\",\r\n \"$6.25\",\r\n \"$6.25\",\r\n \"\",\r\n \"$6.25\",\r\n \"\",\r\n \"\",\r\n ],\r\n ];\r\n thArrayBillableOrderEdit = [\r\n \"Catalog #\",\r\n \"Rel.Date\",\r\n \"Label\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Units/Set\",\r\n \"Price Req\",\r\n \"Price Appr\",\r\n \"Qty\",\r\n \"Price\",\r\n \"Reject Item\",\r\n \"Cost\",\r\n \"Discount%\",\r\n \"Approval Req\",\r\n ];\r\n //thArrayBillableOrderEditClean = [\"Catg#\", \"Rel.Date\", \"Lab\", \"Artist\", \"Title\", \"Config\", \"Units /Set\", \"Price Req\", \"Price Appr\", \"Qty\", \"Price\", \"Rej Item\", \"Cost\", \"Discnt%\", \"Appr Req\"];\r\n //thArrayBillableOrderEditMarked = [\"Catalog #\", \"Rel.Date\", \"Label\", \"Artist\", \"Title\", \"Config\", \"Units /Set\", \"Price Req\", \"Price Appr\", \"Qty\", \"Price\", \"Rej Item\"];\r\n tdArrayBillableOrderEdit = [\r\n [\r\n \"B002849001\",\r\n \"10/26/2018\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"BEERBONGS & BEN(EXP)\",\r\n \"Album\",\r\n \"2\",\r\n \"$14.30\",\r\n \"$14.30\",\r\n \"5\",\r\n \"14.30\",\r\n \"\",\r\n \"14.30\",\r\n \"\",\r\n \"\",\r\n ],\r\n [\r\n \"B003189901\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"POST MALONE\",\r\n \"HOLLYWOOD'S(EX)(TGT)\",\r\n \"Album\",\r\n \"2\",\r\n \"$161.5\",\r\n \"$161.5\",\r\n \"5\",\r\n \"161.5\",\r\n \"\",\r\n \"161.5\",\r\n \"\",\r\n \"\",\r\n ],\r\n [\r\n \"0121532592\",\r\n \"06/26/2020\",\r\n \"UMP\",\r\n \"BIG TYMERS\",\r\n \"I GOT THAT WORK (EX)\",\r\n \"Album\",\r\n \"2\",\r\n \"$6.25\",\r\n \"$6.25\",\r\n \"5\",\r\n \"6.25\",\r\n \"\",\r\n \"6.25\",\r\n \"\",\r\n \"\",\r\n ],\r\n ];\r\n\r\n thNonBillableOrderArray = [\r\n \"\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Selection\",\r\n \"UPC\",\r\n \"Config\",\r\n \"Unit/Set\",\r\n \"Rls Date\",\r\n \"Qty\",\r\n ];\r\n tdNonBillableOrderArray = [\r\n [\r\n \"\",\r\n \"KOOKS,THE\",\r\n \"JUNK OF THE HEART\",\r\n \"846921\",\r\n \"05099908469212\",\r\n \"Album\",\r\n \"1\",\r\n \"09/13/11\",\r\n \"1\",\r\n ],\r\n ];\r\n depot_order = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Ship_To: \"Music Today\",\r\n Attention: \"RAJA PAUL\",\r\n Request_Date: \"20/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Ship_To: \"Ticketmaster\",\r\n Attention: \"Rajesh\",\r\n Request_Date: \"22/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Ship_To: \"Official Community\",\r\n Attention: \"Music Today\",\r\n Request_Date: \"18/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Ship_To: \"One Live Media\",\r\n Attention: \"lady gaga\",\r\n Request_Date: \"19/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Ship_To: \"Astralwerks\",\r\n Attention: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n },\r\n ],\r\n };\r\n\r\n depot_history = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Ship_To: \"Music Today\",\r\n Attention: \"RAJA PAUL/Concord\",\r\n Request_Date: \"20/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Label: \"CN\",\r\n Requstor: \"TODD TURNER\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Ship_To: \"Ticketmaster\",\r\n Attention: \"JOE REAGOSO\",\r\n Request_Date: \"22/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Label: \"SPM\",\r\n Requstor: \"VANKOPPENHAGEN\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Ship_To: \"Official Community\",\r\n Attention: \"Music Today\",\r\n Request_Date: \"18/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n Label: \"SPM\",\r\n Requstor: \"TODD TURNER\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Ship_To: \"One Live Media\",\r\n Attention: \"lady gaga\",\r\n Request_Date: \"19/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Label: \"JAZ\",\r\n Requstor: \"JOSH REINER\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Ship_To: \"Astralwerks\",\r\n Attention: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Status: \"Depot Pending\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Label: \"CN\",\r\n Requstor: \"TODD TURNER\",\r\n },\r\n ],\r\n };\r\n thArrayDepotOrderView = [\r\n \"#Catalog\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Item Exception\",\r\n ];\r\n tdArrayDepotOrderView = [\r\n [\"B002849001\", \"POST MALONE\", \"BEERBONGS & BEN(EXP)\", \"Album\", \"2\", \"\"],\r\n [\"B003189901\", \"POST MALONE\", \"HOLLYWOOD'S(EX)(TGT)\", \"Album\", \"2\", \"\"],\r\n [\"0121532592\", \"BIG TYMERS\", \"I GOT THAT WORK (EX)\", \"Album\", \"2\", \"\"],\r\n ];\r\n\r\n thArrayDepotOrderHisView = [\r\n \"#Catalog\",\r\n \"Artist\",\r\n \"Title\",\r\n \"Config\",\r\n \"Qty\",\r\n \"Item Exception\",\r\n ];\r\n tdArrayDepotOrderHisView = [\r\n [\r\n \"B002849001\",\r\n \"POST MALONE\",\r\n \"BEERBONGS & BEN(EXP)\",\r\n \"Album\",\r\n \"2\",\r\n \"Depot Processed\",\r\n ],\r\n [\r\n \"B003189901\",\r\n \"POST MALONE\",\r\n \"HOLLYWOOD'S(EX)(TGT)\",\r\n \"Album\",\r\n \"2\",\r\n \"Depot Processed\",\r\n ],\r\n [\r\n \"0121532592\",\r\n \"BIG TYMERS\",\r\n \"I GOT THAT WORK (EX)\",\r\n \"Album\",\r\n \"2\",\r\n \"Back Order\",\r\n ],\r\n ];\r\n thArrayDepotOrderApprovers = [\"Type\", \"Approver\", \"Date/Time\", \"Notes\"];\r\n tdArrayDepotOrderApprovers = [\r\n [\r\n \"Label Approver\",\r\n \"KEVIN LIPSON\",\r\n \"6/18/2020 5:18:07 PM\",\r\n \"This is approved\",\r\n ],\r\n [\"Label Approver\", \"DOUG KOCH\", \"6/22/2020 1:53:30 PM\", \"I approved\"],\r\n [\"Overnight Approver\", \"DOUG KOCH\", \"6/22/2020 1:53:32 PM\", \"I approved\"],\r\n ];\r\n\r\n tdArray_FtpHistory = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Requestor: \"RAJA PAUL\",\r\n Request_Date: \"Jun 29 2020 3:49PM\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Ftp_file: \"egra1045.txt\",\r\n Ftp_dateTime: \"Jun 29 2020 4:28PM\",\r\n Status: \"Depot Pending\",\r\n IsChecked: false,\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Requestor: \"Rajesh\",\r\n Request_Date: \"Jun 25 2020 11:08PM\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Ftp_file: \"egra1065.txt\",\r\n Ftp_dateTime: \"Jun 26 2020 10:28AM\",\r\n Status: \"Depot Pending\",\r\n IsChecked: false,\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Requestor: \"Music Today\",\r\n Request_Date: \"Jun 24 2020 08:54PM\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n Ftp_file: \"egra1011.txt\",\r\n Ftp_dateTime: \"Jun 25 2020 10:00AM\",\r\n Status: \"Depot Pending\",\r\n IsChecked: false,\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Requestor: \"lady gaga\",\r\n Request_Date: \"Jun 23 2020 12:09PM\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Ftp_file: \"egra1084.txt\",\r\n Ftp_dateTime: \"Jul 7 2020 11:00AM\",\r\n Status: \"Depot Pending\",\r\n IsChecked: false,\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Requestor: \"Sports and Music One Live\",\r\n Request_Date: \"Jun 22 2020 09:44PM\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Ftp_file: \"egra1066.txt\",\r\n Ftp_dateTime: \"Jul 7 2020 4:30PM\",\r\n Status: \"Depot Pending\",\r\n IsChecked: false,\r\n },\r\n {\r\n Order_id: \"500613\",\r\n Requestor: \"Sports and Music One Live\",\r\n Request_Date: \"1Jun 21 2020 08:354PM\",\r\n Material: \"2\",\r\n Billable: \"2\",\r\n Ftp_file: \"egra1034.txt\",\r\n Ftp_dateTime: \"Jul 6 2020 3:35PM\",\r\n Status: \"Depot Pending\",\r\n IsChecked: false,\r\n },\r\n ],\r\n };\r\n\r\n tdArray_AutoAddExecToDept = {\r\n recordset: [\r\n { record_label: \"SPM - UME\", Department: \"Inside Sessions\" },\r\n {\r\n record_label: \"UMG - UMG North America\",\r\n Department: \"Universal Music Mobile\",\r\n },\r\n { record_label: \"UMD - UMG (CS)\", Department: \"Home Office\" },\r\n { record_label: \"UMG - UMG North America\", Department: \"DLBS\" },\r\n { record_label: \"SPM - UME\", Department: \"Production\" },\r\n { record_label: \"SPM - UME\", Department: \"Sales-Customs/Premiums\" },\r\n { record_label: \"SPM - UME\", Department: \"Universal Music Media\" },\r\n { record_label: \"LAB - Global Digital Business\", Department: \"eLabs\" },\r\n { record_label: \"AST - Astralwerks\", Department: \"A&R\" },\r\n { record_label: \"CLA - Classics\", Department: \"\" },\r\n { record_label: \"CN - Concord\", Department: \"33\" },\r\n { record_label: \"SPM - UME\", Department: \"Film & TV Licensing\" },\r\n ],\r\n };\r\n\r\n Order_history = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Requstor: \"TODD TURNER\",\r\n Artist: \"CHEMICAL BROTHERS, T\",\r\n Title: \"EXIT PLANET DUST\",\r\n Selection: \"405401B\",\r\n Configuration: \"Album\",\r\n Qty: \"1\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n ShipToName: \"ANANDARAMAN S\",\r\n ShipToCo: \"Astralwerks\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Requstor: \"VANKOPPENHAGEN\",\r\n Artist: \"KOOKS,THE\",\r\n Title: \"PUSH THE BUTTON\",\r\n Selection: \"4356330214\",\r\n Configuration: \"Album\",\r\n Qty: \"1\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n ShipToName: \"ANANDARAMAN S\",\r\n ShipToCo: \"bas\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Requstor: \"TODD TURNER\",\r\n Artist: \"CHEMICAL BROTHERS, T\",\r\n Title: \"JUNK OF THE HEART\",\r\n Selection: \"846921 \",\r\n Configuration: \"CD\",\r\n Qty: \"1\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n ShipToName: \"Basheer\",\r\n ShipToCo: \"company1 public\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Requstor: \"JOSH REINER\",\r\n Artist: \"SUICIDAL TENDENCIES\",\r\n Title: \"EXIT PLANET DUST\",\r\n Selection: \"613362 \",\r\n Configuration: \"CD\",\r\n Qty: \"1\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n ShipToName: \"ANANDARAMAN S\",\r\n ShipToCo: \"Astralwerks\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Requstor: \"TODD TURNER\",\r\n Artist: \"CHEMICAL BROTHERS, T\",\r\n Title: \"JOIN THE ARMY\",\r\n Selection: \"407801B\",\r\n Configuration: \"Album\",\r\n Qty: \"1\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n ShipToName: \"Basheer\",\r\n ShipToCo: \"company1 public\",\r\n },\r\n ],\r\n };\r\n\r\n approval_history = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n Ship_To: \"Music Today\",\r\n Attention: \"RAJA PAUL/Concord\",\r\n Request_Date: \"20/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Label: \"CN\",\r\n Requstor: \"TODD TURNER\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n Ship_To: \"Ticketmaster\",\r\n Attention: \"JOE REAGOSO\",\r\n Request_Date: \"22/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Label: \"SPM\",\r\n Requstor: \"VANKOPPENHAGEN\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n Ship_To: \"Official Community\",\r\n Attention: \"Music Today\",\r\n Request_Date: \"18/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"0\",\r\n Billable: \"0\",\r\n Label: \"SPM\",\r\n Requstor: \"TODD TURNER\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n Ship_To: \"One Live Media\",\r\n Attention: \"lady gaga\",\r\n Request_Date: \"19/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Label: \"JAZ\",\r\n Requstor: \"JOSH REINER\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n Ship_To: \"Astralwerks\",\r\n Attention: \"Sports and Music One Live\",\r\n Request_Date: \"16/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Label: \"CN\",\r\n Requstor: \"TODD TURNER\",\r\n },\r\n ],\r\n };\r\n Orders_View = {\r\n recordset: [\r\n {\r\n Order_id: \"500612\",\r\n ShipMethod: \"Standard Ground\",\r\n Request_Date: \"20/06/2020\",\r\n Status: \"Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Overnight: \"1\",\r\n Clean: \"1\",\r\n Label: \"CN\",\r\n SuperLabel: \"CN\",\r\n Requstor: \"TODD TURNER\",\r\n ReqWeight: \"2\",\r\n },\r\n {\r\n Order_id: \"500611\",\r\n ShipMethod: \"Overnight\",\r\n Request_Date: \"22/06/2020\",\r\n Status: \"Pending\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Overnight: \"1\",\r\n Clean: \"0\",\r\n Label: \"SPM\",\r\n SuperLabel: \"SPM\",\r\n Requstor: \"VANKOPPEN\",\r\n ReqWeight: \"2\",\r\n },\r\n {\r\n Order_id: \"500610\",\r\n ShipMethod: \"Standard Ground\",\r\n Request_Date: \"18/06/2020\",\r\n Status: \"Pending\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Overnight: \"1\",\r\n Clean: \"1\",\r\n Label: \"SPM\",\r\n SuperLabel: \"SPM\",\r\n Requstor: \"TODD TURNER\",\r\n ReqWeight: \"1\",\r\n },\r\n {\r\n Order_id: \"500609\",\r\n ShipMethod: \"Overnight\",\r\n Request_Date: \"19/06/2020\",\r\n Status: \"Pending\",\r\n Material: \"1\",\r\n Billable: \"0\",\r\n Overnight: \"0\",\r\n Clean: \"0\",\r\n Label: \"JAZ\",\r\n SuperLabel: \"JAZ\",\r\n Requstor: \"JOSH REINER\",\r\n ReqWeight: \"2\",\r\n },\r\n {\r\n Order_id: \"500608\",\r\n ShipMethod: \"2nd Day Air\",\r\n Request_Date: \"16/06/2020\",\r\n Status: \"Approved\",\r\n Material: \"0\",\r\n Billable: \"1\",\r\n Overnight: \"1\",\r\n Clean: \"0\",\r\n Label: \"CN\",\r\n SuperLabel: \"CN\",\r\n Requstor: \"TODD TURNER\",\r\n ReqWeight: \"0\",\r\n },\r\n ],\r\n };\r\n\r\n processList = {\r\n recordset: [\r\n {\r\n \"Process Name\": \"ASTKT\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Two Before Depot\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Astralwerks\",\r\n Department: \"KT\",\r\n },\r\n {\r\n \"Process Name\": \"ASTKT\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Astralwerks\",\r\n Department: \"KT\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMARKETINGASTKT\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMARKETINGASTKT\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label-Overnight\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMARKETINGASTKT\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Two Before Depot\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMARKETINGASTKT\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label-Clean\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMarketing_Bill\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMarketing_Bill\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label-Overnight\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n {\r\n \"Process Name\": \"IDJMarketing_Bill\",\r\n \"User Name\": \"AlisonAA\",\r\n \"Approval Type\": \"Label-Clean\",\r\n Name: \"ALISON LOYKA\",\r\n Label: \"Island\",\r\n Department: \"Marketing\",\r\n },\r\n ],\r\n };\r\n\r\n Product_View = {\r\n recordset: [\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE... (STD)\",\r\n selection_id: \"2547275264\",\r\n upc: \"00602547275264\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"15\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE (2LP SET\",\r\n selection_id: \"2547275288\",\r\n upc: \"00602547275288\",\r\n configuration: \"Album\",\r\n UnitsToSet: \"2\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"14\",\r\n Moratorium: \"Y\",\r\n },\r\n {\r\n artist: \"EMPIRE OF THE SUN\",\r\n title: \"ICE ON THE DUNE\",\r\n selection_id: \"B001847402\",\r\n upc: \"00602537375462\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"06182013\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"13\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE... (S)\",\r\n selection_id: \"2547275261\",\r\n upc: \"00602547275261\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"15\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE (2 SET\",\r\n selection_id: \"2547275282\",\r\n upc: \"00602547275282\",\r\n configuration: \"Album\",\r\n UnitsToSet: \"2\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"14\",\r\n Moratorium: \"Y\",\r\n },\r\n {\r\n artist: \"EMPIRE OF THE SUN\",\r\n title: \"ICE THE DUNE\",\r\n selection_id: \"B001847403\",\r\n upc: \"00602537375463\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"06182013\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"13\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE... (T)\",\r\n selection_id: \"2547275265\",\r\n upc: \"00602547275264\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"15\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE (LP SET\",\r\n selection_id: \"2547275286\",\r\n upc: \"00602547275285\",\r\n configuration: \"Album\",\r\n UnitsToSet: \"2\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"14\",\r\n Moratorium: \"Y\",\r\n },\r\n {\r\n artist: \"EMPIRE OF THE SUN\",\r\n title: \"ICE ON THE DUNE\",\r\n selection_id: \"B001847407\",\r\n upc: \"00602537375466\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"06182013\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"13\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE... (D)\",\r\n selection_id: \"2547275268\",\r\n upc: \"00602547275267\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"15\",\r\n Moratorium: \"N\",\r\n },\r\n {\r\n artist: \"CHEMICAL BROTHERS\",\r\n title: \"BORN IN THE (2LP\",\r\n selection_id: \"2547275289\",\r\n upc: \"00602547275289\",\r\n configuration: \"Album\",\r\n UnitsToSet: \"2\",\r\n release_date: \"07172015\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"14\",\r\n Moratorium: \"Y\",\r\n },\r\n {\r\n artist: \"EMPIRE OF THE SUN\",\r\n title: \"ICE ON DUNE\",\r\n selection_id: \"B001847410\",\r\n upc: \"00602537375410\",\r\n configuration: \"CD\",\r\n UnitsToSet: \"1\",\r\n release_date: \"06182013\",\r\n cost1: \"1\",\r\n pricecode: \"1\",\r\n suggpricecode: \"13\",\r\n Moratorium: \"N\",\r\n },\r\n ],\r\n };\r\n}\r\n","export class DateTimeFormat {\r\n dtsnow = new Date();\r\n getDate(){\r\n let dd : string = (\"0\" + (this.dtsnow.getDate())).slice(-2);\r\n let mm : string = (\"0\" + (this.dtsnow.getMonth() + 1)).slice(-2);\r\n let yy : string = this.dtsnow.getFullYear().toString();\r\n return (yy + \"-\" + mm + \"-\" + dd)\r\n }\r\n getTime(){\r\n let hh : string = (\"0\" + (this.dtsnow.getHours())).slice(-2); \r\n let nn : string = (\"0\" + (this.dtsnow.getMinutes())).slice(-2); \r\n let ss : string = (\"0\" + (this.dtsnow.getSeconds())).slice(-2);\r\n return (hh + \":\" + nn + \":\" + ss)\r\n }\r\n getDateTime(){\r\n return this.getDate() + \" \" + this.getTime(); \r\n }\r\n}\r\n\r\n\r\n\r\n\r\n \r\n\r\n ","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class LoginController {\r\n uid: string;\r\n pwd: string;\r\n loginFailed: number;\r\n response: { msg: string; success: boolean; loginFailed: number; changePassword: boolean};\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n dateTimeFormat : DateTimeFormat;\r\n constructor(uid : string, pwd : string, loginFailed : number){\r\n this.uid = uid;\r\n this.pwd = pwd;\r\n this.loginFailed = loginFailed;\r\n this.response = { msg : '', success : true, loginFailed : 0, changePassword : false }\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n }\r\n \r\n checkUserLocked(){\r\n \r\n var data = {\r\n \"username\": this.uid\r\n };\r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.checkUserLocked;\r\n return this.serviceProxy.get(url,data).then(response => {\r\n \r\n if(response.success){\r\n if(!response.IsFailedAttempt){\r\n return this.authenticateUser();\r\n }\r\n else{\r\n this.response.msg = 'Hi \"'+ this.uid +'\", your account is locked. Please contact applicationsupport@umusic.com.';\r\n this.response.success = false;\r\n return this.response;\r\n } \r\n }\r\n else {\r\n if (response.code === 202){\r\n this.response.msg = 'Hi, \"' + this.uid + '\" your login is invalid.'\r\n this.response.success = false;\r\n return this.response;\r\n \r\n }\r\n else if (response.code === 400) {\r\n console.error('There was an error!', response.message.toString());\r\n this.response.success = false;\r\n return this.response;\r\n } \r\n else {\r\n console.error('There was an error!', response.message.toString());\r\n this.response.success = false;\r\n return this.response;\r\n } \r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n }); \r\n };\r\n\r\n authenticateUser(){\r\n var data = {\r\n \"username\": this.uid,\r\n \"password\": this.pwd\r\n };\r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.authenticateUser;\r\n return this.serviceProxy.post(url,data).then(response =>{\r\n if(response.success){\r\n var res = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n sessionStorage.setItem(\"uid\",res.Alias);\r\n sessionStorage.setItem(\"usertype_id\",res.UserType_Id);\r\n sessionStorage.setItem(\"user_full_name\",res.Name);\r\n sessionStorage.setItem(\"addressLineOne\",res.AddressLineOne);\r\n sessionStorage.setItem(\"addressLineTwo\",res.AddressLineTwo);\r\n sessionStorage.setItem(\"city\",res.City);\r\n sessionStorage.setItem(\"state\",res.State);\r\n sessionStorage.setItem(\"zip\",res.Zip);\r\n sessionStorage.setItem(\"phone\",res.Phone);\r\n sessionStorage.setItem(\"email\",res.Email);\r\n sessionStorage.setItem(\"process_name\",res.Process_Name);\r\n sessionStorage.setItem(\"is_super_user\",res.Is_Super_User ? '1' : '0');\r\n sessionStorage.setItem(\"is_executive\",res.Is_Executive ? '1' : '0');\r\n sessionStorage.setItem(\"multiple_select\",res.Multiple_Select ? '1' : '0');\r\n sessionStorage.setItem(\"user_type\",res.UserType_Id);\r\n sessionStorage.setItem(\"label_id\",res.RecordLabel_Id);\r\n sessionStorage.setItem(\"department\",res.Department);\r\n sessionStorage.setItem(\"user_label_id\",res.RecordLabel_Id);\r\n sessionStorage.setItem(\"user_department\",res.Department);\r\n sessionStorage.setItem(\"business_unit\",res.BusinessUnit);\r\n sessionStorage.setItem(\"CustomerNumber\",res.CustomerNumber);\r\n sessionStorage.setItem(\"Password\",res.password);\r\n sessionStorage.setItem(\"IsNinetyDays\",res.IsNinetyDays);\r\n sessionStorage.setItem(\"IsFailedAttempt\",res.IsFailedAttempt);\r\n return this.loginUser();\r\n }\r\n else {\r\n this.loginFailed += 1;\r\n if(this.loginFailed === 3){\r\n return this.updateUserLocked();\r\n }\r\n this.response.msg = \"Sorry, \" + this.uid + \" is not known here with that password. Please try again with a properly spelled user name and password, or if you'd like to create yourself as a new user, click create new user profile above, or if you have forgotten your login information, click on forgot your password? below to have your login and password e-mailed to you.\";\r\n this.response.loginFailed = this.loginFailed;\r\n this.response.success = false;\r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n };\r\n\r\n authenticateUserSSO(){\r\n var data = {\r\n \"userEmail\": this.uid,\r\n // \"password\": this.pwd\r\n };\r\n \r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.authenticateUserSSO;\r\n return this.serviceProxy.post(url,data).then(response =>{\r\n // Convert the array to a string using JSON.stringify\r\n\r\n if(response.length >=0){\r\n const responseString = JSON.stringify(response);\r\n\r\n // Store the string in sessionStorage\r\n sessionStorage.setItem(\"profiles\", responseString);\r\n return response;\r\n }\r\n \r\n\r\n \r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n\r\n\r\n\r\n\r\n \r\n };\r\n\r\n\r\n authenticateUserSSO1(){\r\n var data = {\r\n \"username\": this.uid,\r\n //\"password\": this.pwd\r\n };\r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.authenticateUserSSO1;\r\n return this.serviceProxy.post(url,data).then(response =>{\r\n if(response.success){\r\n var res = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n sessionStorage.setItem(\"uid\",res.Alias);\r\n sessionStorage.setItem(\"usertype_id\",res.UserType_Id);\r\n sessionStorage.setItem(\"user_full_name\",res.Name);\r\n sessionStorage.setItem(\"addressLineOne\",res.AddressLineOne);\r\n sessionStorage.setItem(\"addressLineTwo\",res.AddressLineTwo);\r\n sessionStorage.setItem(\"city\",res.City);\r\n sessionStorage.setItem(\"state\",res.State);\r\n sessionStorage.setItem(\"zip\",res.Zip);\r\n sessionStorage.setItem(\"phone\",res.Phone);\r\n sessionStorage.setItem(\"email\",res.Email);\r\n sessionStorage.setItem(\"process_name\",res.Process_Name);\r\n sessionStorage.setItem(\"is_super_user\",res.Is_Super_User ? '1' : '0');\r\n sessionStorage.setItem(\"is_executive\",res.Is_Executive ? '1' : '0');\r\n sessionStorage.setItem(\"multiple_select\",res.Multiple_Select ? '1' : '0');\r\n sessionStorage.setItem(\"user_type\",res.UserType_Id);\r\n sessionStorage.setItem(\"label_id\",res.RecordLabel_Id);\r\n sessionStorage.setItem(\"department\",res.Department);\r\n sessionStorage.setItem(\"user_label_id\",res.RecordLabel_Id);\r\n sessionStorage.setItem(\"user_department\",res.Department);\r\n sessionStorage.setItem(\"business_unit\",res.BusinessUnit);\r\n sessionStorage.setItem(\"CustomerNumber\",res.CustomerNumber);\r\n sessionStorage.setItem(\"Password\",res.password);\r\n sessionStorage.setItem(\"IsNinetyDays\",res.IsNinetyDays);\r\n sessionStorage.setItem(\"IsFailedAttempt\",res.IsFailedAttempt);\r\n return this.loginUser();\r\n }\r\n else {\r\n \r\n this.response.msg = \"Sorry, \" + this.uid + \" is not known here with that password. Please try again with a properly spelled user name and password, or if you'd like to create yourself as a new user, click create new user profile above, or if you have forgotten your login information, click on forgot your password? below to have your login and password e-mailed to you.\";\r\n this.response.loginFailed = this.loginFailed;\r\n this.response.success = false;\r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n getUserDetails(){\r\n var data = {\r\n \"username\":sessionStorage.getItem(\"uid\")?.toString().trim()\r\n };\r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.getUserDetails;\r\n return this.serviceProxy.get(url,data).then((response : any) => {\r\n if(response.success){\r\n sessionStorage.setItem(\"PwdUpdate\", response.pwdupdate);\r\n if (response.tbacc !== null){\r\n sessionStorage.setItem(\"TBAcc_No\", response.tbacc);\r\n sessionStorage.setItem(\"TicketBundling\", '1');\r\n sessionStorage.setItem(\"aliasNTB\",\"\");\r\n }\r\n else{\r\n sessionStorage.setItem(\"TicketBundling\", '0');\r\n }\r\n if(response.s89acc !== null){\r\n sessionStorage.setItem(\"Sales89\", response.s89acc);\r\n sessionStorage.setItem(\"Sales89\", '1');\r\n }\r\n else{\r\n sessionStorage.setItem(\"Sales89\", '0');\r\n }\r\n var re = new RegExp(\"^(?=.*[0-9])(?=.*[~`!@\\#$%^&*()+=])[a-zA-Z0-9~`!@\\#$%^&*()+=]{8,15}$\");\r\n var pwd : string = sessionStorage.getItem(\"Password\")?.toString().trim()!;\r\n if(re.test(pwd)){\r\n sessionStorage.setItem(\"PasswordVerify\",\"1\")\r\n }\r\n else{\r\n sessionStorage.setItem(\"PasswordVerify\",\"0\")\r\n }\r\n this.response.msg = \"Hi \"+this.uid+\" Login Successful\";\r\n this.response.success = true; \r\n return this.response;\r\n }\r\n else{\r\n this.response.msg = response.message.toString(); \r\n this.response.success = false;\r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n };\r\n\r\n loginUser(){\r\n var dtsvalue, IsNinetydays;\r\n // IsNinetydays = sessionStorage.getItem(\"IsNinetyDays\");\r\n dtsvalue = this.dateTimeFormat.getDateTime(); \r\n // if (IsNinetydays === 'false'){\r\n var data = {\r\n \"username\": sessionStorage.getItem(\"uid\")?.toString().trim(),\r\n \"processname\": sessionStorage.getItem(\"process_name\")?.toString().trim(),\r\n \"name\": sessionStorage.getItem(\"user_full_name\")?.toString().trim(),\r\n \"lastlogin\": dtsvalue\r\n }\r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.loginUser;\r\n return this.serviceProxy.post(url,data).then(response => {\r\n if(response.success){\r\n return this.getNTBillableUser();\r\n }\r\n else {\r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n // }\r\n // else{\r\n // this.response.success = false;\r\n // this.response.changePassword = true;\r\n // return this.response;\r\n // } \r\n };\r\n\r\n getNTBillableUser(){\r\n var url = this.variables.Url + this.variables.Controller.menu + this.variables.menuService.getNTBillableUser;\r\n var data = {\r\n \"username\":sessionStorage.getItem(\"uid\")?.toString().trim()\r\n };\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n sessionStorage.setItem(\"aliasNTB\",response.Alias.trim());\r\n sessionStorage.setItem(\"Account_no\",response.Account_no.trim());\r\n }\r\n else{\r\n sessionStorage.setItem(\"aliasNTB\",\"\");\r\n sessionStorage.setItem(\"Account_no\",\"\");\r\n }\r\n return this.getUserDetails();\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n })\r\n }\r\n\r\n updateUserLocked(){\r\n var data = {\r\n \"username\": this.uid\r\n };\r\n this.loginFailed = 0;\r\n var url = this.variables.Url + this.variables.Controller.login + this.variables.loginService.updateUserLocked;\r\n return this.serviceProxy.put(url, data).then(response => {\r\n if(response.success){\r\n this.response.msg = 'Hi, \"'+ this.uid +'\" your account is locked. Please contact applicationsupport@umusic.com.';\r\n this.response.loginFailed = this.loginFailed;\r\n this.response.success = false;\r\n return this.response;\r\n }\r\n else {\r\n this.response.msg = response.message.toString();\r\n this.response.success = false; \r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n };\r\n}\r\n\r\n","import React, { Component } from \"react\";\r\n\r\nexport class ErrorBoundary extends Component {\r\n constructor(props:ErrorBoundaryParameter) {\r\n super(props);\r\n this.state = { hasError: false };\r\n }\r\n \r\n componentDidCatch(error, info) {\r\n // Display fallback UI\r\n this.setState({ hasError: true });\r\n // You can also log the error to an error reporting service\r\n }\r\n \r\n render() {\r\n if (this.state.hasError) {\r\n // You can render any custom fallback UI\r\n return

Something went wrong.

;\r\n }\r\n return this.props.children;\r\n }\r\n }\r\ninterface ErrorBoundaryParameter\r\n{ \r\n error?:string\r\n}\r\ninterface Istate\r\n{\r\n hasError:boolean;\r\n}","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class CreateOrderController {\r\n response : any;\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n constructor(){\r\n this.response = { msg : '', success : true }\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n }\r\n\r\n selectPersonalContact(username : string, label : string, orderType : string){\r\n var url = this.variables.Url+ this.variables.Controller.contact + this.variables.contactService.selectPersonalContact;\r\n var data = {\r\n \"alias\": username,\r\n \"recordLabelId\": label,\r\n \"orderType\": orderType\r\n }\r\n //console.log(data);\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonPersonalContact : Array<{\"id\": string, \"name\": string, \"shipToName\": string, \"addressLineOne\": string, \"addressLineTwo\": string, \"city\": string, \"state\": string, \"zip\": string, \"phone\": string, \"recordLabelId\": string, \"contacttype\" : string, \"domesticcontact\" : string, \"country\": string, \"accountnumber\": string, \"Company\":string, \"Addresses\":string,\"CityStateZip\":string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(personalContact);\r\n function personalContact(item: { Attention_Id: any; Name: any; ShipToName: any; AddressLineOne: any; AddressLineTwo: any; City: any; State:any; Zip: any; Phone: any; RecordLabel_Id: any; ContactType: any; DomesticContact: any; Country: any; Account_Number:any;Company:any;Addresses:any;CityStateZip:any}, index: number){\r\n jsonPersonalContact.push({\"id\": item.Attention_Id, \"name\": item.Name, \"shipToName\": item.ShipToName, \"addressLineOne\": item.AddressLineOne, \"addressLineTwo\": item.AddressLineTwo, \"city\": item.City, \"state\": item.State, \"zip\": item.Zip, \"phone\": item.Phone, \"recordLabelId\": item.RecordLabel_Id, \"contacttype\" : item.ContactType, \"domesticcontact\" : item.DomesticContact, \"country\" : item.Country, \"accountnumber\" : item.Account_Number, \"Company\":item.Company,\"Addresses\":item.Addresses,\"CityStateZip\":item.CityStateZip})\r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonPersonalContact).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonPersonalContact).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n selectAllContact(type: string, value: string, alias: string, recordLabelId: string){\r\n var url = this.variables.Url+ this.variables.Controller.contact + this.variables.contactService.selectAllContact;\r\n var data = {\r\n \"alias\": alias,\r\n \"recordLabelId\": recordLabelId,\r\n \"type\": type,\r\n \"value\": value\r\n }\r\n //console.log(data);\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonAllContact : Array<{\"id\": string, \"contactType\": string, \"name\": string, \"shipToName\": string, \"addressLineOne\": string, \"addressLineTwo\": string, \"city\": string, \"state\": string, \"zip\": string, \"phone\": string, \"recordLabelId\": string, \"country\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(personalContact);\r\n function personalContact(item: { Attention_Id: any; ContactType: any; Name: any; ShipToName: any; AddressLineOne: any; AddressLineTwo: any; City: any; State:any; Zip: any; Phone: any; RecordLabel_Id: any; Country:any }, index: number){\r\n jsonAllContact.push({\"id\": item.Attention_Id, \"contactType\": item.ContactType, \"name\": item.Name, \"shipToName\": item.ShipToName, \"addressLineOne\": item.AddressLineOne, \"addressLineTwo\": item.AddressLineTwo, \"city\": item.City, \"state\": item.State, \"zip\": item.Zip, \"phone\": item.Phone, \"recordLabelId\": item.RecordLabel_Id, \"country\": item.Country})\r\n }\r\n return JSON.parse(JSON.stringify(jsonAllContact).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonAllContact).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n privateContact(data: any){\r\n var url = this.variables.Url+ this.variables.Controller.contact + this.variables.contactService.privateContact;\r\n var data1 = {\r\n type:data.type,\r\n username:data.username,\r\n name:data.name,\r\n shipToName:data.shipToName,\r\n addressLineOne:data.addressLineOne,\r\n addressLineTwo:data.addressLineTwo,\r\n city:data.city,\r\n state:data.state,\r\n zip:data.zip,\r\n country:data.country,\r\n phone:data.phone,\r\n contactType:data.contactType,\r\n recordLabelId:data.recordLabelId,\r\n domesticContact:data.domesticContact,\r\n attentionId:data.attentionId\r\n }\r\n return this.serviceProxy.post(url,data1)\r\n .then(response => {\r\n return response;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getReportingCo(data: any){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getReportingCo;\r\n var data1 = {\r\n recordLabelId: data.recordLabelId\r\n }\r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n if(response.success){\r\n //console.log(\"GetReportingCo\");\r\n //console.log(response);\r\n return response;\r\n }\r\n }).catch(error =>{\r\n throw new Error('There was an error! '+ error)\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getProductSearch(data: any){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getProductSearch;\r\n var data1 = {\r\n reqsWhere: encodeURIComponent(data.sWhere)\r\n }\r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n var jsonAllProducts : Array<{\"artist\": string, \"title\": string, \"selectionId\": string, \"upc\": string, \"configuration\": string, \"unitsToSet\": string, \"releaseDate\": string, \"cost\": string, \"priceCode\": string, \"suggPriceCode\": string, \"RecordLabel_ID\":string, \"moratorium\": string}> = [];\r\n if(response.success){\r\n \r\n response.recordset.forEach(products);\r\n function products(item: { Artist: any; Title: any; Selection_ID: any; UPC: any, Configuration: any; UnitsToSet: any; Release_Date:any; cost1: any; PriceCode: any; SuggPriceCode: any; RecordLabel_ID:any; moratorium: any}, index: number){\r\n jsonAllProducts.push({\"artist\": item.Artist, \"title\": item.Title, \"selectionId\": item.Selection_ID, \"upc\": item.UPC, \"configuration\": item.Configuration, \"unitsToSet\": item.UnitsToSet, \"releaseDate\": item.Release_Date, \"cost\": item.cost1, \"priceCode\": item.PriceCode, \"suggPriceCode\": item.SuggPriceCode, \"RecordLabel_ID\":item.RecordLabel_ID, \"moratorium\": item.moratorium})\r\n }\r\n \r\n ////console.log(\"cntrgetProductSearch True\",JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'))\r\n return JSON.parse(JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n \r\n ////console.log(\"cntrgetProductSearch false\",JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'))\r\n return JSON.parse(JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n throw new Error('There was an error! '+ error)\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getProductSearchByUPCErrMsg(data: any){\r\n var data2 = {\r\n reqsWhere: encodeURIComponent(data.sWhere),\r\n UPC : data.UPC,\r\n labelId : data.labelId,\r\n userId : data.userId,\r\n superUser : data.superUser,\r\n executiveUser : data.executiveUser\r\n }\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getAllProductsByUPCErrMsg;\r\n return this.serviceProxy.get(url,data2)\r\n .then(response => {\r\n var jsonAllProducts : Array<{\"upc\": string}> = [];\r\n if(response.success){\r\n \r\n response.recordset.forEach(products);\r\n function products(item: { UPC: any}, index: number){\r\n jsonAllProducts.push({\"upc\": item.UPC})\r\n }\r\n \r\n // console.log(\"cntrgetProductSearch True\",JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'))\r\n return JSON.parse(JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n \r\n ////console.log(\"cntrgetProductSearch false\",JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'))\r\n return JSON.parse(JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n throw new Error('There was an error! '+ error)\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n\r\n\r\n getProductSearchByUPC(data: any){\r\n var data2 = {\r\n reqsWhere: encodeURIComponent(data.sWhere),\r\n UPC : data.UPC,\r\n labelId : data.labelId,\r\n userId : data.userId,\r\n superUser : data.superUser,\r\n executiveUser : data.executiveUser\r\n }\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getAllProductsByUPC;\r\n \r\n return this.serviceProxy.get(url,data2)\r\n .then(response => {\r\n var jsonAllProducts : Array<{\"artist\": string, \"title\": string, \"selectionId\": string, \"upc\": string, \"configuration\": string, \"unitsToSet\": string, \"releaseDate\": string, \"cost\": string, \"priceCode\": string, \"suggPriceCode\": string, \"RecordLabel_ID\":string, \"moratorium\": string}> = [];\r\n if(response.success){\r\n \r\n response.recordset.forEach(products);\r\n function products(item: { Artist: any; Title: any; Selection_ID: any; UPC: any, Configuration: any; UnitsToSet: any; Release_Date:any; cost1: any; PriceCode: any; SuggPriceCode: any; RecordLabel_ID:any; moratorium: any}, index: number){\r\n jsonAllProducts.push({\"artist\": item.Artist, \"title\": item.Title, \"selectionId\": item.Selection_ID, \"upc\": item.UPC, \"configuration\": item.Configuration, \"unitsToSet\": item.UnitsToSet, \"releaseDate\": item.Release_Date, \"cost\": item.cost1, \"priceCode\": item.PriceCode, \"suggPriceCode\": item.SuggPriceCode, \"RecordLabel_ID\":item.RecordLabel_ID, \"moratorium\": item.moratorium})\r\n }\r\n \r\n // console.log(\"cntrgetProductSearch True\",JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'))\r\n return JSON.parse(JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n \r\n ////console.log(\"cntrgetProductSearch false\",JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'))\r\n return JSON.parse(JSON.stringify(jsonAllProducts).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n throw new Error('There was an error! '+ error)\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n\r\n getStates(){\r\n var url = this.variables.Url + this.variables.Controller.contact + this.variables.contactService.getStates;\r\n return this.serviceProxy.get(url,{})\r\n .then(response => {\r\n var jsonStates : Array<{\"id\": string; \"name\": string; \"desc\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(state);\r\n function state(item: { code: string; name: string; desc: string }, _index: number){\r\n jsonStates.push({\"id\": item.code, \"name\": item.name, \"desc\": item.desc})\r\n }\r\n return JSON.parse(JSON.stringify(jsonStates).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonStates).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n getAddressValidation(data: any){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.contact + this.variables.contactService.getAddressValidation;\r\n var data1 = {\r\n zip: data.zip,\r\n city: data.city,\r\n state: data.state\r\n }\r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n if(response.success){\r\n //console.log(\"GetAddressValidation\");\r\n //console.log(response);\r\n return response;\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getPrivateContact(attentionId : string){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.contact + this.variables.contactService.getPrivateContact;\r\n var data = {\r\n attentionId : attentionId\r\n }\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n if(response.success){\r\n var resPrivateContact = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resPrivateContact;\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n insertOrderSummary(data:any){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.insertOrderSummary;\r\n return this.serviceProxy.post(url,data)\r\n .then(response => {\r\n if(response.success){\r\n return response\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n updateInsertOrderItems(data:any){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.updateInsertOrderItems;\r\n return this.serviceProxy.post(url,data)\r\n .then(response => {\r\n if(response.success){\r\n return response\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n \r\n getProcessNameforSuperUser(data: any){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getProcessNameforSuperUser;\r\n var data1 = {\r\n sessionuid:data.uid,\r\n sessionuserlabelid: data.user_label_id,\r\n sessionuserdepartment: data.user_department,\r\n labellist: data.label_list,\r\n orderlabelid: data.order_label_id,\r\n //bNoCatalog: data.bNoCatalog,\r\n order_type: data.order_type\r\n }\r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n if(response.success){\r\n //console.log(\"GetProcessNameforSuperUser\", response);\r\n return response;\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getProcessNameforRegAndExeUser(data: any){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getProcessNameforRegAndExeUser;\r\n var data1 = {\r\n sessionuid:data.uid,\r\n order_type: data.order_type\r\n }\r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n if(response.success){\r\n //console.log(\"GetProcessNameforRegAndExeUser\", response);\r\n return response;\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n getApprovalProcessValidate(username : string){\r\n \r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getApprovalProcessValidate;\r\n var data1 = {\r\n \"alias\": username\r\n }\r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n if(response.success){\r\n //console.log(\"GetApprovalProcessValidate\", response);\r\n return response;\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n checkSelfApprover(alias: string, processName: string) : any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.checkSelfApprover;\r\n var data = {\r\n alias : alias,\r\n processName : processName\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n return response\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getOrderItems(orderId: string): any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getOrderItems;\r\n var data = {\r\n orderId: orderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response=>{\r\n var jsonOrderItems : Array<{\"artist\": string, \"title\": string, \"selection\": string, \"config\": string, \"quantity\": string, \"price\": string, \"cost\": string, \"priceTB\": string, \"artistStore\": string, \"tourDate\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(orderItem);\r\n function orderItem(item: { Artist: any; Title: any; Selection_Id: any; Configuration: any; Quantity_Requested: any; price_requested: string; Cost: any; price_ticketbundling : any; artist_store_name : any; tour_date : any }){\r\n jsonOrderItems.push({\"artist\": item.Artist, \"title\": item.Title, \"selection\": item.Selection_Id, \"config\": item.Configuration, \"quantity\": item.Quantity_Requested, \"price\": item.price_requested, \"cost\": item.Cost, \"priceTB\": item.price_ticketbundling, \"artistStore\": item.artist_store_name, \"tourDate\": item.tour_date})\r\n }\r\n return JSON.parse(JSON.stringify(jsonOrderItems).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonOrderItems).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getOrderSummary(orderId: string){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getOrderSummary;\r\n var data = {\r\n orderId: orderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resOrderSummary = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n //console.log(resOrderSummary);\r\n return resOrderSummary;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getCost(selectionId: string){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getCost;\r\n var data = {\r\n selectionId: selectionId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resCost = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resCost;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n}","import { Variables } from '../Variables/Variables';\r\nvar variables = new Variables()\r\nexport const config = {\r\n clientId: variables.clientId,\r\n authority: \"https://login.microsoftonline.com/bbcb6b2f-8c7c-4e24-86e4-6c36fed00b78/\",\r\n redirectUri: variables.redirectUri,\r\n postLogoutRedirectUri: variables.redirectUri,\r\n scopes: [\r\n 'user.read'\r\n ]\r\n};","import React,{ Component } from 'react';\r\nimport {Modal, Button, Row, Col} from \"react-bootstrap\";\r\nimport { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport spinner from \"../../assets/img/loading.gif\"\r\n\r\nexport class FormModalSpinner extends Component {\r\n\r\n render() { \r\n const {show} = this.props;\r\n return(
\r\n
\r\n
\r\n )\r\n\r\n /*return(

Loading...

\r\n
)*/\r\n }\r\n }\r\n\r\ninterface IFormModalSpinner\r\n {\r\n show:boolean;\r\n }\r\n interface IProperties\r\n {\r\n \r\n }\r\n interface Istate\r\n {\r\n\r\n }","var graph = require('@microsoft/microsoft-graph-client');\r\n\r\nfunction getAuthenticatedClient(accessToken) {\r\n const client = graph.Client.init({\r\n authProvider: (done) => {\r\n done(null, accessToken);\r\n }\r\n });\r\n\r\n return client;\r\n}\r\n\r\nexport async function getUserDetails(accessToken) {\r\n const client = getAuthenticatedClient(accessToken);\r\n\r\n const user = await client\r\n .api('/me')\r\n .get();\r\n return user;\r\n}","import { getUserDetails } from '../js/GraphService';\r\nimport { UserAgentApplication } from 'msal';\r\nimport { config } from '../js/confiq';\r\nexport function normalizeError(error) {\r\n var normalizedError = {};\r\n if (typeof (error) === 'string') {\r\n var errParts = error.split('|');\r\n normalizedError = errParts.length > 1 ?\r\n { message: errParts[1], debug: errParts[0] } :\r\n { message: error };\r\n } else {\r\n normalizedError = {\r\n message: error.message,\r\n debug: JSON.stringify(error)\r\n };\r\n }\r\n return normalizedError;\r\n}\r\n\r\nexport async function getUserProfile(userAgentApplication, scopes) {\r\n try {\r\n\r\n var userAgentApplication1\r\n userAgentApplication1 = new UserAgentApplication({\r\n auth: {\r\n clientId: config.clientId,\r\n authority:config.authority,\r\n redirectUri: config.redirectUri\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\",\r\n storeAuthStateInCookie: true\r\n }\r\n });\r\n // console.log(userAgentApplication1,scopes,\"userAgentApplication1,scopes\")\r\n var accessToken = await getAccessToken(userAgentApplication1, scopes);\r\n // console.log(accessToken,\"accessToken\")\r\n if (accessToken) {\r\n return await getUserDetails(accessToken);\r\n }\r\n return null;\r\n }\r\n catch (err) {\r\n throw err;\r\n }\r\n}\r\n\r\nasync function getAccessToken(userAgentApplication, scopes) {\r\n try {\r\n var silentResult = await userAgentApplication\r\n .acquireTokenSilent({\r\n scopes: scopes\r\n });\r\n return silentResult.accessToken;\r\n } catch (err) {\r\n if (isInteractionRequired(err)) {\r\n console.log(err,\"err\")\r\n var interactiveResult = await userAgentApplication\r\n .acquireTokenPopup({\r\n scopes: scopes\r\n });\r\n // console.log(interactiveResult,\"interactiveResult\")\r\n return interactiveResult.accessToken;\r\n } else {\r\n throw err;\r\n }\r\n }\r\n}\r\n\r\nfunction isInteractionRequired(error) {\r\n if (!error.message || error.message.length <= 0) {\r\n return false;\r\n }\r\n\r\n return (\r\n error.message.indexOf('consent_required') > -1 ||\r\n error.message.indexOf('interaction_required') > -1 ||\r\n error.message.indexOf('login_required') > -1 ||\r\n error.message.indexOf('no_account_in_silent_request') > -1\r\n );\r\n}","import React, { Component,useEffect, useState } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Row,Col,Container, Card, Button, NavLink, Form, Alert} from \"../../../../node_modules/react-bootstrap\";\r\nimport {LoginNavBar} from '../../CustomComponents/NabvBar/LoginNavBar'\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport \"../../../assets/css/LoginPage.css\"\r\nimport {LoginController} from \"../../../Controllers/LoginController\"\r\nimport {ErrorBoundary} from \"../../../Components/View/ErrorBoundary/ErrorBoundary\";\r\nimport { LoginParameter, Istate } from \"../../../Model/Login\";\r\nimport { CreateOrderController } from \"../../../Controllers/CreateOrderController\";\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n//import { UserAgentApplication } from 'msal';\r\nimport{ UserAgentApplication } from 'msal'\r\nimport { config } from '../../../js/confiq';\r\nimport { useHistory } from 'react-router-dom';\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {getUserProfile} from '../../../utils/MSUtils'\r\nexport class Login extends Component {\r\n constructor(props:LoginParameter){\r\n super(props)\r\n this.state={\r\n fields: { uid:'',pwd:'' },\r\n errors: { uid:'',pwd:'' },\r\n errMsg:\"\",\r\n loginFailed: 0,\r\n loading: false,\r\n modal: {\r\n modalSpinnerShow: false, \r\n }\r\n \r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n // this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n async componentWillMount(){\r\n \r\n // var userAgentApplication\r\n // userAgentApplication = new UserAgentApplication({\r\n // auth: {\r\n // clientId: config.clientId,\r\n // authority:config.authority,\r\n // redirectUri: config.redirectUri,\r\n // // postLogoutRedirectUri: config.postLogoutRedirectUri\r\n // },\r\n // cache: {\r\n // cacheLocation: \"sessionStorage\",\r\n // storeAuthStateInCookie: true\r\n // }\r\n // });\r\n }\r\n handleChange(e:any){\r\n let fields= this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n this.setState({ fields });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n async login() { \r\n\r\n let modal = this.state.modal;\r\n modal[\"modalSpinnerShow\"] = true;\r\n this.setState({modal});\r\n\r\n\r\n\r\n // console.log(\"step:1\");\r\n var userAgentApplication;\r\n userAgentApplication = new UserAgentApplication({\r\n auth: {\r\n clientId: config.clientId,\r\n authority:config.authority,\r\n redirectUri: config.redirectUri,\r\n postLogoutRedirectUri: config.postLogoutRedirectUri\r\n },\r\n // cache: {\r\n // cacheLocation: \"sessionStorage\",\r\n // storeAuthStateInCookie: true\r\n // }\r\n });\r\n // console.log(\"step:2\");\r\n\r\n\r\n try {\r\n await userAgentApplication.loginPopup(\r\n {\r\n scopes: config.scopes,\r\n prompt: \"select_account\"\r\n });\r\nconst user = await getUserProfile(userAgentApplication, config.scopes);\r\nif(user.mail.includes('dxc.com')){\r\n this.setState({\r\n fields: {\r\n ...this.state.fields,\r\n uid: user.userPrincipalName,\r\n // uid:user.mail\r\n },\r\n });\r\n}else{\r\n this.setState({\r\n fields: {\r\n ...this.state.fields,\r\n //uid: user.userPrincipalName,\r\n uid:user.mail\r\n },\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n try {\r\n // Attempt to get the authenticated user account\r\n const account = userAgentApplication.getAccount();\r\n\r\n if (account) {\r\n // User is authenticated, perform actions for authenticated user\r\n\r\n // console.log(this.state.fields,this.state,\"this.state.fields\")\r\n\r\n let loginController = new LoginController(this.state.fields.uid,this.state.fields.pwd, this.state.loginFailed);\r\n \r\n loginController.authenticateUserSSO().then((response : any) => { \r\n // console.log(response,\"response\") \r\n if (response.length > 0){\r\n modal[\"modalSpinnerShow\"] = false;\r\n this.setState({modal});\r\n\r\n if (response.length == 1){\r\n this.handleUserClick(response[0])\r\n\r\n }else{\r\n\r\n this.props.history.push('/admin/selectRole');\r\n\r\n }\r\n\r\n\r\n        }\r\n else{\r\n\r\n console.log(\"No profile for this email. Please contact application services.\");\r\n // Display a message to the user (you can set it in state and render it)\r\n this.setState({ errMsg: \"You do not have access to eGratis. Please reach out to Application Support (applicationsupport@umusic.com) to request access.\" });\r\n modal[\"modalSpinnerShow\"] = false;\r\n this.setState({modal});\r\n }\r\n }).catch(error => {\r\n modal[\"modalSpinnerShow\"] = false;\r\n this.setState({modal});\r\n console.log(error);\r\n })\r\n\r\n\r\n\r\n\r\n } else {\r\n // User is not authenticated, perform actions for unauthenticated user\r\n console.log('User is not authenticated');\r\n // Your actions here\r\n }\r\n } catch (error) {\r\n console.error('Error checking authentication:', error);\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n catch (err) {\r\n \r\n };\r\n\r\n\r\n }\r\n\r\n\r\n\r\n handleUserClick = (user) => {\r\n let modal = this.state.modal;\r\n modal[\"modalSpinnerShow\"] = true;\r\n this.setState({modal});\r\n // this.selectedUser = user;\r\n \r\n let loginController = new LoginController(user.Alias,user.pwd,user.loginFailed);\r\n \r\n loginController.authenticateUserSSO1().then((response : any) => {\r\n if (response.success){\r\n sessionStorage.setItem(\"userLogin\",\"success\"); \r\n \r\n //checking to enable side bars for FG, NT and BI\r\n           let createOrderController = new CreateOrderController();\r\n           createOrderController.getApprovalProcessValidate(user.Alias).then(response => {\r\n             \r\n             var result = (response.orderTypes === null)?'':response.orderTypes.trim();\r\n             if (result != '')\r\n             {\r\n               sessionStorage.setItem(\"orderTypeValidate\",result);\r\n             }\r\n             else\r\n             {\r\n               sessionStorage.setItem(\"orderTypeValidate\",result);\r\n             } \r\n //redirect to actual page.\r\n             if (sessionStorage.getItem(\"usertype_id\")==='A'){\r\n               this.props.history.push('/admin/order_approval_inbox');\r\n             }\r\n             else\r\n             {\r\n               this.props.history.push('/admin/home');\r\n             }\r\n           }).catch(error => {\r\n             console.error(\"There was an error getApprovalProcessValidate\")\r\n           });  \r\n }\r\n else {\r\n // this.setState({\r\n // // errMsg : response.msg,\r\n // loginFailed : response.loginFailed,\r\n // loading: false\r\n // });\r\n // if(response.changePassword){\r\n // alert(\"Your Password Has been Expired.Its Time To Change\")\r\n // this.props.history.push('/changePassword')\r\n // }\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"10% 0 19% 0\"\r\n };\r\n const changebgColor = {\r\n backgroundColor:\"rgba(203, 203, 210, 0.15)\"\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

eGratis now supports Single Sign On (SSO) login, Please login with your email and password

\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n {this.state.errMsg}\r\n
\r\n\r\n
\r\n {/* Access to eGratis has moved to a new URL. Single Sign On via UMG Azure is now available for a more secure way to access UMG data. Please update your bookmark and use the following URL going forward:\r\n
\r\n \r\n eGratis new URL: https://egratisprod-inter.umusic.com \r\n
*/}\r\n\r\n If you are a UMG partner accessing eGratis from outside the UMG Network you should have received an email with instructions on setting up access to the new URL. If you need support please contact \r\n
\r\n \r\n UMGLabelRequests@umusic.com \r\n
\r\n {/* \r\n \r\n

eGratis Version 8.2

\r\n
\r\n New users click here\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n Forgot your password? click here\r\n
\r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}","\r\nlet lastSelectedRow;\r\nlet currSelectedRow;\r\nlet trs;\r\nlet multiArr=[];\r\n\r\nfunction setLastIndexRow(lastIndex)\r\n{\r\n lastSelectedRow=lastIndex;\r\n}\r\nfunction setCurrIndexRow(currIndex)\r\n{\r\n currSelectedRow=currIndex;\r\n}\r\n\r\nfunction tableRows(){\r\n trs = document.getElementById('TableMultiSelect').tBodies[0].getElementsByTagName('tr');\r\n return trs;\r\n}\r\n\r\n// disable text selection\r\n//document.onselectstart = function() {\r\n //return false;\r\n//}\r\n\r\nexport function handleTableRowClick(e) {\r\n \r\n let index = e.currentTarget.id.split(\"_\")[1];\r\n if (window.event.ctrlKey) {\r\n toggleRow(e, index);\r\n }\r\n \r\n if (window.event.button === 0) {\r\n if (!window.event.ctrlKey && !window.event.shiftKey) {\r\n clearAll();\r\n toggleRow(e, index);\r\n \r\n }\r\n \r\n if (window.event.shiftKey && lastSelectedRow!=undefined) {\r\n setCurrIndexRow(index); \r\n selectRowsBetweenIndexes([parseInt(lastSelectedRow)+1, parseInt(currSelectedRow)+1])\r\n }\r\n } \r\n}\r\n\r\nfunction toggleRow(row,id) {\r\n if (row.currentTarget.className == 'selected'){\r\n row.currentTarget.className = '';\r\n removeMultiArr(id);\r\n }\r\n else\r\n {\r\n row.currentTarget.className = 'selected';\r\n addMultiArray(id);\r\n }\r\n //row.currentTarget.className = row.currentTarget.className == 'selected' ? '' : 'selected'; \r\n setLastIndexRow(id);\r\n //multiArr.splice(0, multiArr.length)\r\n \r\n}\r\n\r\nfunction selectRowsBetweenIndexes(indexes) {\r\n //\r\n trs = tableRows();\r\n indexes.sort(function(a, b) {\r\n return a - b;\r\n });\r\n\r\n for (var i = indexes[0]; i <= indexes[1]; i++) {\r\n trs[i-1].className = 'selected';\r\n addMultiArray(i-1);\r\n }\r\n}\r\n\r\nfunction clearAll() {\r\n trs = tableRows();\r\n for (var i = 0; i < trs.length; i++) {\r\n trs[i].className = '';\r\n }\r\n clearAllMultiArr();\r\n}\r\n\r\nfunction addMultiArray(arrIndex){\r\n multiArr[arrIndex] = document.getElementById('TableMultiSelect').tBodies[0].getElementsByTagName('tr')[arrIndex];\r\n}\r\n\r\nexport function getMultiArr(){\r\n return multiArr;\r\n}\r\nexport function clearAllMultiArr(){\r\n multiArr.splice(0, multiArr.length)\r\n}\r\n\r\nfunction removeMultiArr(obj){\r\n multiArr.splice(multiArr.indexOf(obj), 1 );\r\n}\r\n","import {ServiceProxy} from \"../Common/ServiceProxy\";\r\nimport {Variables} from \"../Variables/Variables\"\r\n\r\nexport class LogoutController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n }\r\n\r\n updateLoginFlag(username : string){\r\n var url = this.variables.Url + this.variables.Controller.logout + this.variables.logoutService.updateLoginFlag;\r\n var data = {\r\n username : username\r\n }\r\n debugger;\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n this.serviceProxy.put(url, data).then(response =>{\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n }).catch(error => {\r\n console.error(\"Error in user logout...,\" + error);\r\n });\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport { Navbar,Nav,NavDropdown,Form,FormControl,Button,NavItem } from \"react-bootstrap\";\r\nimport {AdminNavbarLinks} from \"../NabvBar/AdminNavbarLinks\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTachometerAlt,faGlobe,faUser,faSignOutAlt,faUsers,faUserFriends } from '@fortawesome/free-solid-svg-icons';\r\nimport {LogoutController} from \"../../../Controllers/LogoutController\";\r\nimport { UserAgentApplication } from 'msal';\r\n\r\nimport { config } from '../../../js/confiq';\r\nexport class AdminNavbar extends Component {\r\n user;\r\n \r\n constructor(objHeader:IAdminNavbar) {\r\n super(objHeader)\r\n this.mobileSidebarToggle = this.mobileSidebarToggle.bind(this);\r\n this.state = {\r\n sidebarExists: false\r\n };\r\n }\r\n mobileSidebarToggle(e) {\r\n if (this.state.sidebarExists === false) {\r\n this.setState({sidebarExists:true});\r\n }\r\n e.preventDefault();\r\n ((document as Document).documentElement as HTMLElement).classList.toggle(\"nav-open\");\r\n var node = document.createElement(\"div\");\r\n node.id = \"bodyClick\";\r\n (node as HTMLElement).onclick=function(e:any){\r\n var targetElement:HTMLElement=((e as Event).target as HTMLElement);\r\n (targetElement.parentElement as HTMLElement).removeChild(targetElement);\r\n ((document as Document).documentElement as HTMLElement).classList.toggle(\"nav-open\");\r\n }\r\n document.body.appendChild(node);\r\n }\r\n \r\n myHandler(e) { \r\n e.persist(); \r\n e.nativeEvent.stopImmediatePropagation();\r\n e.stopPropagation(); \r\n }\r\n redirectToSelectRole=()=>{ \r\n this.props.history.push('/admin/selectrole');\r\n }\r\n // logoutHandler (e : any) {\r\n // let logoutController = new LogoutController();\r\n // logoutController.updateLoginFlag(sessionStorage.getItem(\"uid\")?.toString().trim()!)\r\n // }\r\n\r\n logoutHandler = async () => {;\r\n \r\n const userAgentApplication = new UserAgentApplication({\r\n auth: {\r\n clientId: config.clientId,\r\n authority: config.authority,\r\n redirectUri: config.redirectUri,\r\n postLogoutRedirectUri: config.postLogoutRedirectUri,\r\n },\r\n // cache: {\r\n // cacheLocation: 'sessionStorage',\r\n // storeAuthStateInCookie: true,\r\n // },\r\n });\r\n \r\n try {\r\n let logoutController = new LogoutController();\r\n logoutController.updateLoginFlag(sessionStorage.getItem(\"uid\")?.toString().trim()!)\r\n await userAgentApplication.logout();\r\n \r\n sessionStorage.clear();\r\n // Clear user information from the state or wherever it's stored\r\n \r\n } catch (error) {\r\n console.error('Logout error:', error);\r\n } finally {\r\n // Update state or perform other actions after logout, e.g., navigate to home page\r\n \r\n }\r\n };\r\n\r\n render() {\r\n const styles = {\r\n headerBGColor: {\r\n paddingRight:\"5px\",\r\n color: '#2AB3E2',\r\n },\r\n logoutBGColor: {\r\n paddingRight:\"5px\",\r\n color: '#FFFFFF',\r\n },\r\n anchorBGColor: {\r\n paddingRight:\"20px\",\r\n color: '#fff',\r\n fontSize:\"17px\"\r\n },\r\n headerBGColors: {\r\n paddingRight:\"5px\",\r\n \r\n }\r\n }\r\n\r\n this.user=sessionStorage.getItem(\"user_full_name\")\r\n\r\n const displaySelectUserProfile =()=>{\r\n return this.redirectToSelectRole()}>Select User Profile\r\n \r\n }\r\n return (\r\n \r\n
\r\n

{this.props.brandText}

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n interface IAdminNavbar\r\n {\r\n brandText?:string;\r\n history?:History;\r\n }\r\ninterface Istate\r\n{\r\n sidebarExists:boolean;\r\n}","import React, { Component } from \"react\";\r\nimport { NavItem, Nav, NavDropdown } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faTachometerAlt,faGlobe,faHome,faUser,faSignOutAlt,faUserFriends} from '@fortawesome/free-solid-svg-icons'\r\nimport {LogoutController} from \"../../../Controllers/LogoutController\";\r\nimport { UserAgentApplication } from 'msal';\r\nimport { config } from '../../../js/confiq';\r\nexport class AdminNavbarLinks extends Component {\r\n\r\n myHandler(e) { \r\n e.persist(); \r\n e.nativeEvent.stopImmediatePropagation();\r\n e.stopPropagation(); \r\n }\r\n redirectToSelectRole=()=>{ \r\n window.location.href = '/admin/selectrole';\r\n }\r\n // logoutHandler (e : any) {\r\n // let logoutController = new LogoutController();\r\n // logoutController.updateLoginFlag(sessionStorage.getItem(\"uid\")?.toString().trim()!)\r\n // }\r\n logoutHandler = async () => {;\r\n \r\n const userAgentApplication = new UserAgentApplication({\r\n auth: {\r\n clientId: config.clientId,\r\n authority: config.authority,\r\n redirectUri: config.redirectUri,\r\n postLogoutRedirectUri: config.postLogoutRedirectUri,\r\n }\r\n });\r\n\r\n try {\r\n let logoutController = new LogoutController();\r\n logoutController.updateLoginFlag(sessionStorage.getItem(\"uid\")?.toString().trim()!)\r\n await userAgentApplication.logout();\r\n sessionStorage.clear();\r\n // Clear user information from the state or wherever it's stored\r\n \r\n } catch (error) {\r\n console.error('Logout error:', error);\r\n } finally {\r\n // Update state or perform other actions after logout, e.g., navigate to home page\r\n \r\n }\r\n };\r\n render() {\r\n const styles = {\r\n headerBGColor: {\r\n paddingRight:\"5px\",\r\n color: '#2AB3E2',\r\n },\r\n logoutBGColor: {\r\n paddingRight:\"5px\",\r\n color: '#FFFFFF',\r\n },\r\n anchorBGColor: {\r\n paddingRight:\"20px\",\r\n color: '#fff',\r\n fontSize:\"18px\"\r\n }\r\n }\r\n const notification = (\r\n
\r\n \r\n \r\n 5\r\n

Notification

\r\n
\r\n );\r\n return (\r\n
\r\n \r\n{/**/}\r\n{sessionStorage.getItem(\"user_full_name\")}\r\n\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface IAdminNavBar{\r\n brandText?:string;\r\n}\r\n","export class MultiFilter {\r\n // ignores case-sensitive\r\n getValue = value => {\r\n return (typeof value === 'string' ? value.toUpperCase() : value);\r\n }\r\n \r\n //Filter the router list based on the role\r\n multiFilter(array, filters) {\r\n const filterKeys = Object.keys(filters);\r\n return array.filter(item => {\r\n // filters using the (OR) operator\r\n return filterKeys.some(key => {\r\n // ignores an empty filter\r\n if (!filters[key].length) return true;\r\n return filters[key].find(filter => this.getValue(filter) === this.getValue(item[key]));\r\n });\r\n });\r\n }\r\n\r\n //Filter the router list based on the role\r\n multiFilterLike = (item, condition) => {\r\n const filterKeys = Object.keys(condition);\r\n return item.filter((eachObj) => {\r\n return filterKeys.every(eachKey => {\r\n if (!condition[eachKey].length) {\r\n return true; // passing an empty filter means that filter is ignored.\r\n }\r\n return (condition[eachKey].toString()).toLowerCase().includes((eachObj[eachKey].toString()).toLowerCase());\r\n });\r\n });\r\n }; \r\n}","import React, { Component, CSSProperties } from \"react\";\r\nimport { NavLink,Link } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport {AdminNavbarLinks} from \"../CustomComponents/NabvBar/AdminNavbarLinks\";\r\nimport logo from \"../../assets/img/UMG_Logo.png\";\r\nimport {MultiFilter} from \"../../Common/MultiFilter\"\r\nimport { faAngleDown,faAngleUp} from '@fortawesome/free-solid-svg-icons'\r\nimport { toast } from 'react-toastify'\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { CreateOrderController } from \"../../Controllers/CreateOrderController\";\r\n\r\nexport class Sidebar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fields: {show:false, showCPanel:false},\r\n width: window.innerWidth,\r\n Routes:[]\r\n };\r\n }\r\n ShowHideComponent = (e:any) => {\r\n e.persist(); \r\n e.nativeEvent.stopImmediatePropagation();\r\n e.stopPropagation(); \r\n let fields = this.state.fields;\r\n let navLinkText:string = e.currentTarget.innerText.toLowerCase();\r\n //console.log('innerText.toLowerCase');\r\n //console.log(navLinkText);\r\n //console.log('Before showCPanel');\r\n //console.log(fields['showCPanel']);\r\n //console.log('Before show');\r\n //console.log(fields['show']);\r\n if (e.currentTarget.innerText.toLowerCase().trim() === 'control panel')\r\n {\r\n if (fields['showCPanel'] === true) {\r\n fields['showCPanel'] = false;\r\n } else {\r\n fields['showCPanel'] = true;\r\n }\r\n this.setState({ fields });\r\n //console.log('After showCPanel');\r\n //console.log(fields['showCPanel']);\r\n }\r\n else\r\n {\r\n if (fields['show'] === true) {\r\n fields['show'] = false;\r\n } else {\r\n fields['show'] = true;\r\n }\r\n this.setState({ fields });\r\n //console.log('After show');\r\n //console.log(fields['show']);\r\n }\r\n };\r\n activeRoute(routeName) {\r\n return this.props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\r\n }\r\n updateDimensions() {\r\n this.setState({ width: window.innerWidth });\r\n }\r\n componentWillMount() {\r\n toast.configure();\r\n this.setState({ \r\n Routes : JSON.parse(JSON.stringify(this.props.routes),)\r\n });\r\n }\r\n componentDidMount() {\r\n this.updateDimensions();\r\n window.addEventListener(\"resize\", this.updateDimensions.bind(this));\r\n }\r\n createRoute(prop:any,key:any){\r\n //console.log(prop);\r\n return (\r\n \r\n \r\n \r\n

{prop.name}

\r\n \r\n \r\n );\r\n }\r\n //Filter the router list based on the role\r\n assignRoleRouter(prop:any){\r\n let UserType_Id: string | null = sessionStorage.getItem(\"usertype_id\");\r\n var mnu: Array = []; \r\n mnu.push('MNU0'); \r\n \r\n\r\n const currentPath = this.props.location.pathname.toLowerCase();\r\n\r\n if (currentPath !== \"/admin/selectrole\") {\r\n // Perform other actions for paths not equal to \"/admin/selectrole\"\r\n if (UserType_Id !== null){\r\n mnu.push('MNU0'); \r\n \r\n if(UserType_Id === \"RR\"){\r\n mnu.push('MNU1'); \r\n }\r\n if(UserType_Id.indexOf(\"A\") >= 0 || UserType_Id.indexOf(\"L\") >= 0 || UserType_Id.indexOf(\"C\") >= 0){\r\n mnu.push('MNU2'); \r\n }\r\n if(UserType_Id === \"R\" || UserType_Id.indexOf(\"A\") >= 0 || UserType_Id.indexOf(\"L\") >= 0 || UserType_Id.indexOf(\"C\") >= 0){\r\n mnu.push('MNU3'); \r\n }\r\n if(sessionStorage.getItem(\"uid\") === sessionStorage.getItem(\"aliasNTB\")){\r\n mnu.push('MNU4'); \r\n }\r\n if(UserType_Id === \"R\" || UserType_Id.indexOf(\"A\") >= 0 || UserType_Id.indexOf(\"L\") >= 0 || UserType_Id.indexOf(\"C\") >= 0){\r\n mnu.push('MNU5'); \r\n }\r\n if(UserType_Id === \"D\"){\r\n mnu.push('MNU6'); \r\n }\r\n if(UserType_Id === \"S\"){\r\n mnu.push('MNU7'); \r\n }\r\n if(UserType_Id === \"TB\"){\r\n mnu.push('MNU8'); \r\n }\r\n if(UserType_Id === \"S89\"){\r\n mnu.push('MNU9'); \r\n };\r\n mnu.push('MNU10'); \r\n } else{\r\n mnu.push('MN'); \r\n }\r\n } else {\r\n \r\n }\r\n \r\n \r\n\r\n\r\n //console.log(mnu);\r\n let filters = {\r\n view : mnu\r\n };\r\n let multiFilter = new MultiFilter();\r\n \r\n // console.log(filters,\"filters\");\r\n \r\n // console.log(this.props.routes,\"this.props.routes\");\r\n return multiFilter.multiFilter(this.props.routes,filters);\r\n }\r\n setTarget(prop:any)\r\n {\r\n if(prop.name === 'UMG B2B')\r\n {\r\n return \"_blank\"\r\n }\r\n else\r\n {\r\n return \"\"\r\n }\r\n }\r\n displayNavLink(prop:any) {\r\n let subMenuCount = prop.submenu.length;\r\n let propName = prop.name;\r\n //\r\n if(subMenuCount > 0){\r\n return(\r\n \r\n \r\n

{prop.name}

{ this.displayToggleIcon(subMenuCount, prop.name)}\r\n \r\n );\r\n }\r\n else\r\n {\r\n let orderTypes='';\r\n let orderType='';\r\n let validate=false; \r\n if (propName === \"Create a Free Goods Req\"){\r\n orderTypes = sessionStorage.getItem(\"orderTypeValidate\")!.split('~')[0];\r\n orderType = 'FG'\r\n validate = (orderTypes != '')?true:false;\r\n }\r\n else if(propName === \"Create NonBill Trans Order\"){ \r\n orderTypes = sessionStorage.getItem(\"orderTypeValidate\")!.split('~')[1];\r\n orderType = 'NT'\r\n validate = (orderTypes != '')?true:false;\r\n }\r\n else if(propName === \"Create Billable Order\"){ \r\n orderTypes = sessionStorage.getItem(\"orderTypeValidate\")!.split('~')[2];\r\n orderType = 'BI'\r\n validate = (orderTypes != '')?true:false;\r\n }\r\n else if(propName === \"Ticket Bundling\"){ \r\n orderTypes = sessionStorage.getItem(\"orderTypeValidate\")!.split('~')[3];\r\n orderType = 'TB'\r\n validate = false;\r\n }\r\n else if(propName === \"D2C\"){ \r\n orderTypes = sessionStorage.getItem(\"orderTypeValidate\")!.split('~')[4];\r\n orderType = 'S89'\r\n validate = false;\r\n }\r\n\r\n if(validate){ \r\n if (orderType === 'FG'){\r\n return(\r\n \r\n \r\n

{prop.name}

\r\n \r\n );\r\n }\r\n else if (orderType === 'NT'){\r\n return(\r\n \r\n \r\n

{prop.name}

\r\n \r\n );\r\n }\r\n else if(orderType === 'BI'){\r\n return(\r\n \r\n \r\n

{prop.name}

\r\n \r\n );\r\n }\r\n \r\n }\r\n else\r\n {\r\n return(\r\n \r\n \r\n

{prop.name}

\r\n \r\n );\r\n }\r\n }\r\n }\r\n //info, success, warn, error, toast without properties\r\n //eg, toast('alert'), toast.info('alert'), toast.warn('alert')\r\n notifyFG = () => toast.warn('Approval process does not exist for ordering from this label: ' + sessionStorage.getItem(\"label_id\"),{position:toast.POSITION.TOP_RIGHT});\r\n notifyNT = () => toast.warn('Your department is not authorized to submit Non Billable orders',{position:toast.POSITION.TOP_RIGHT});\r\n notifyBI = () => toast.warn(\"Your department is not authorized to submit billable orders\",{position:toast.POSITION.TOP_RIGHT});\r\n\r\n displayToggleIcon(cnt,name) {\r\n let fields = this.state.fields;\r\n if(cnt > 0){\r\n if (name.toLowerCase() === \"control panel\")\r\n {\r\n if(fields['showCPanel']=== true)\r\n {\r\n return \r\n }\r\n else\r\n {\r\n return \r\n }\r\n }\r\n else\r\n {\r\n if(fields['show'] === true)\r\n {\r\n return \r\n }\r\n else\r\n {\r\n return \r\n }\r\n }\r\n }\r\n }\r\n displayChildNavLink(prop){\r\n return <>{prop.submenu.map((p, i=30) => {\r\n return \r\n \r\n

{p.name}

\r\n \r\n \r\n })}\r\n}\r\nrender(){\r\n const routerList = this.assignRoleRouter(this.props.routes);\r\n const sidebarBackground = {\r\n backgroundImage: \"url(\" + this.props.image + \")\"\r\n };\r\n var imageSize = {\r\n \"width\":\"100px\",\r\n \"height\":\"40px\"\r\n }\r\n var imageBg = {\r\n \"background-color\":\"#000\",\r\n \"height\": \"62px\",\r\n \"padding-left\":\"60px\"\r\n }\r\n var showTaggle:CSSProperties ={\r\n \"display\":\"block\"\r\n }\r\n var hideTaggle:CSSProperties ={\r\n \"display\":\"none\"\r\n }\r\n const showTagged=(prop)=>{\r\n let fields = this.state.fields;\r\n if (prop.submenu.length > 0){\r\n if(prop.name.toLowerCase().trim() === 'control panel')\r\n {\r\n return
\r\n {this.displayChildNavLink(prop)}\r\n
\r\n }\r\n else\r\n {\r\n return
\r\n {this.displayChildNavLink(prop)}\r\n
\r\n }\r\n }\r\n }\r\nreturn (\r\n \r\n {this.props.hasImage ? (\r\n
\r\n ) : (\r\n null\r\n )}\r\n \r\n
\r\n
    \r\n {this.state.width <= 991 ? : null}\r\n {routerList.map((prop, key) => {\r\n if (!prop.redirect){\r\n //return this.createRoute(prop,key);\r\n return
    \r\n {this.displayNavLink(prop)}\r\n \r\n {showTagged(prop)}\r\n
    \r\n }\r\n return null;\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface ISidebar\r\n{\r\n location?:any;\r\n image?:string;\r\n color?:string;\r\n hasImage?:boolean;\r\n routes?:any;\r\n \r\n}\r\ninterface Istate {\r\n fields:any;\r\n width:number;\r\n Routes:[];\r\n }","import React, { Component } from \"react\";\r\nimport {Container,Card,Row,Col,Form,Alert,Button} from \"../../../../node_modules/react-bootstrap\";\r\nimport imgBGDisplay from '../../../assets/img/universal.png';\r\nimport { Redirect } from 'react-router-dom';\r\nimport '../../../assets/css/Style.css'\r\n\r\n\r\nexport class Home extends Component \r\n{\r\n constructor(props){ \r\n super(props)\r\n    const userLogin = sessionStorage.getItem(\"userLogin\")\r\n    let loggedIn = true;\r\n    if (userLogin == null){\r\n        loggedIn = false;\r\n    } \r\n    this.state = {\r\n        loggedIn\r\n    }\r\n  } \r\n render() { \r\n if (this.state.loggedIn === false){\r\n return \r\n }\r\n const styleAlignBG={\r\n \"max-width\":\"50rem\",\r\n \"width\":\"100%\",\r\n \"margin\": \"0 0 50% 0\"\r\n }\r\n const divStyle = {\r\n width: '100%',\r\n height: '500px',\r\n backgroundImage: `url(${imgBGDisplay})`,\r\n backgroundSize: 'cover',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundPosition: 'center'\r\n };\r\n const instructionFontColor={\r\n \"color\" : \"#000000!important\",\r\n \"backgroundColor\" : \"#F8E9A1\"\r\n }\r\n const TicketBundlingWarn=()=>{\r\n \r\n return \r\n \r\n
Ticket Bundle Order
\r\n
If you are placing a Ticket Bundle Order, please log out and log into the current system with your correct account to place your orders.
\r\n
D2C Order
\r\n
If you are placing a D2C Order, please log out and log into the current system with your correct account to place your orders.
\r\n
\r\n \r\n
\r\n
\r\n \r\n }\r\n const TBWarn=()=>{\r\n \r\n return \r\n \r\n
Ticket Bundle Order
\r\n
If you are placing a Ticket Bundle Order, please log out and log into the current system with your correct account to place your orders.
\r\n \r\n
\r\n
\r\n \r\n }\r\n const D2CWarn=()=>{\r\n \r\n return \r\n \r\n
D2C Order
\r\n
If you are placing a D2C Order, please log out and log into the current system with your correct account to place your orders.
\r\n \r\n
\r\n
\r\n \r\n }\r\n const displayPasswordWarning =()=>{\r\n let PasswordVerify: string | null = sessionStorage.getItem(\"PasswordVerify\") || \"\";\r\n if(PasswordVerify === \"0\"){\r\n return
\r\n \r\n \r\n \r\n {(sessionStorage.getItem(\"user_type\")!='TB' && sessionStorage.getItem(\"user_type\")!='S89')?TicketBundlingWarn():\"\"}\r\n {(sessionStorage.getItem(\"user_type\") =='TB')? D2CWarn():\"\"}\r\n {(sessionStorage.getItem(\"user_type\") =='S89')? TBWarn():\"\"}\r\n {/* \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Kindly update your password with Password Policy
\r\n
\r\n

1. Length of the password should be minimum of 8 character and maxmimum of 15 character

\r\n

2. Password should contain at-least one special character. Example :(~`!@\\#$%^&*()+=)

\r\n

3. Password should contain at-least one upper case

\r\n

4. Password should contain at-least one lower case

\r\n

5. Password should contain at-least one number

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n */}\r\n \r\n \r\n \r\n
\r\n }\r\n else\r\n {\r\n return
\r\n \r\n \r\n \r\n {(sessionStorage.getItem(\"user_type\")!='TB' && sessionStorage.getItem(\"user_type\")!='S89')?TicketBundlingWarn():\"\"}\r\n {(sessionStorage.getItem(\"user_type\") =='TB')? D2CWarn():\"\"}\r\n {(sessionStorage.getItem(\"user_type\") =='S89')? TBWarn():\"\"}\r\n \r\n \r\n \r\n
System Messages
\r\n
No New Messages
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n }\r\n return (<>\r\n {displayPasswordWarning()}\r\n \r\n );\r\n }\r\n }\r\n\r\n interface Istate{\r\n loggedIn:boolean;\r\n }\r\n \r\n interface IHome{\r\n PasswordVerify:number;\r\n }","import {FormControl,FormLabel,FormGroup} from \"../../../node_modules/react-bootstrap\";\r\nimport React,{ Component } from 'react';\r\n\r\nexport class FormInputs extends Component {\r\n render() { \r\n const {errorMsg,fieldRequired} = this.props;\r\n const {id,label} = this.props.properties;\r\n\r\n let GetMandatoryGroupField=(fldReqd)=>{\r\n if(fldReqd===true) \r\n {return (*)}\r\n else\r\n return ();\r\n }\r\n \r\n const DisplayErrorMessageGroupField=(errMsg)=>{\r\n if(errMsg!=='') \r\n {return
{errMsg}
}\r\n else\r\n return (<>);\r\n }\r\n\r\n //\r\n return(
\r\n \r\n {label}\r\n {GetMandatoryGroupField(fieldRequired)}\r\n \r\n {DisplayErrorMessageGroupField(errorMsg)}\r\n \r\n
)\r\n }\r\n }\r\n\r\n interface IFormInput\r\n {\r\n properties:IProperties;\r\n errorMsg?:string;\r\n fieldRequired:boolean;\r\n disbled?:boolean;\r\n }\r\n interface IProperties\r\n {\r\n id:string;\r\n label:string;\r\n type:string;\r\n name:string;\r\n value?:string;\r\n className?:string;\r\n maxlength?:number;\r\n placeholder?:string;\r\n onChange?:any;\r\n disabled?:boolean;\r\n onBlur?:any;\r\n ref?:any;\r\n onKeyUp?:any;\r\n }\r\n interface Istate\r\n {\r\n\r\n }","//import {FieldGroup} from './FieldGroup'\r\nimport {FormControl,FormLabel,FormGroup,InputGroup,Button} from \"../../../node_modules/react-bootstrap\";\r\nimport React,{ Component } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nexport class FormInputSearch extends Component {\r\n render() { \r\n const {errorMsg,fieldRequired,loading} = this.props;\r\n const {id,label} = this.props.properties;\r\n\r\n let GetMandatoryGroupField=(fldReqd)=>{\r\n if(fldReqd===true) \r\n {return (*)}\r\n else\r\n return ();\r\n }\r\n \r\n const DisplayErrorMessageGroupField=(errMsg)=>{\r\n if(errMsg!=='') \r\n {return
{errMsg}
}\r\n else\r\n return (<>);\r\n }\r\n\r\n return(
\r\n \r\n {label}\r\n {GetMandatoryGroupField(fieldRequired)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {DisplayErrorMessageGroupField(errorMsg)}\r\n \r\n
)\r\n }\r\n }\r\n\r\n interface IFormInputSearch\r\n {\r\n properties:IProperties;\r\n buttonProperties:IButtonProperties;\r\n errorMsg?:string;\r\n fieldRequired:boolean;\r\n disbled?:boolean;\r\n loading?:boolean\r\n }\r\n interface IProperties\r\n {\r\n id:string;\r\n label:string;\r\n type:string;\r\n name:string;\r\n value?:string;\r\n className?:string;\r\n maxlength?:number;\r\n placeholder?:string;\r\n onChange?:any;\r\n disabled?:boolean;\r\n onBlur?:any;\r\n }\r\n interface IButtonProperties\r\n {\r\n id:string;\r\n name:string;\r\n value?:string;\r\n className?:string;\r\n disabled?:boolean;\r\n onClick?:any;\r\n }\r\n interface Istate\r\n {\r\n\r\n }","import {FormControl,FormLabel,FormGroup} from \"../../../node_modules/react-bootstrap\";\r\nimport React,{ Component } from 'react';\r\n\r\nexport class FormSelect extends Component {\r\n\r\n render() { \r\n const {errorMsg,fieldRequired,defaultOption,fillOption} = this.props;\r\n const {id,label} = this.props.properties;\r\n\r\n //\r\n let GetMandatoryGroupField=(fldReqd)=>{\r\n if(fldReqd===true) \r\n {return (*)}\r\n else\r\n return ();\r\n }\r\n \r\n const DisplayErrorMessageGroupField=(errMsg)=>{\r\n if(errMsg!=='') \r\n {return
{errMsg}
}\r\n else\r\n return (<>);\r\n }\r\n\r\n const DefaultValueOption=(defOption)=>{\r\n if(defOption!=='') return \r\n }\r\n\r\n let renderOptions = fillOption.map((data) =>\r\n \r\n );\r\n\r\n //\r\n return(
\r\n \r\n {label}\r\n {GetMandatoryGroupField(fieldRequired)}\r\n \r\n {DefaultValueOption(defaultOption)}\r\n {renderOptions}\r\n \r\n {DisplayErrorMessageGroupField(errorMsg)}\r\n \r\n
)\r\n }\r\n }\r\n\r\n interface IFormSelect\r\n {\r\n properties:IProperties;\r\n errorMsg?:string;\r\n fieldRequired?:boolean;\r\n defaultOption:string;\r\n fillOption:any;\r\n }\r\n interface IProperties\r\n {\r\n id:string;\r\n label:string;\r\n type?:any;\r\n name:string;\r\n className?:string;\r\n onChange:any;\r\n value?:string;\r\n disabled?:boolean;\r\n }\r\n\r\n interface Istate\r\n {\r\n\r\n }","//import {FieldGroup} from './FieldGroup'\r\nimport {FormControl,FormLabel,FormGroup,InputGroup,Button} from \"react-bootstrap\";\r\nimport React,{ Component } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nexport class FormSelectSearch extends Component {\r\n render() { \r\n const {errorMsg,fieldRequired,defaultOption,fillOption,loading} = this.props;\r\n const {id,label} = this.props.properties;\r\n\r\n //\r\n let GetMandatoryGroupField=(fldReqd)=>{\r\n if(fldReqd===true) \r\n {return (*)}\r\n else\r\n return ();\r\n }\r\n \r\n const DisplayErrorMessageGroupField=(errMsg)=>{\r\n if(errMsg!=='') \r\n {return
{errMsg}
}\r\n else\r\n return (<>);\r\n }\r\n\r\n const DefaultValueOption=(defOption)=>{\r\n if(defOption!=='') return \r\n }\r\n\r\n let renderOptions = fillOption.map((data) =>\r\n \r\n );\r\n\r\n //\r\n return(
\r\n \r\n {label}\r\n {GetMandatoryGroupField(fieldRequired)}\r\n \r\n \r\n {DefaultValueOption(defaultOption)}\r\n {renderOptions}\r\n \r\n \r\n \r\n \r\n \r\n {DisplayErrorMessageGroupField(errorMsg)}\r\n \r\n
)\r\n }\r\n }\r\n\r\n interface IFormSelectSearch\r\n {\r\n properties:IProperties;\r\n buttonProperties:IButtonProperties;\r\n errorMsg?:string;\r\n fieldRequired?:boolean;\r\n defaultOption:string;\r\n fillOption:any;\r\n loading?:boolean\r\n }\r\n interface IProperties\r\n {\r\n id:string;\r\n label:string;\r\n type?:any;\r\n name:string;\r\n className?:string;\r\n onChange:any;\r\n value?:string;\r\n }\r\n interface IButtonProperties\r\n {\r\n id:string;\r\n name:string;\r\n value?:string;\r\n className?:string;\r\n disabled?:boolean;\r\n onClick?:any;\r\n }\r\n interface Istate\r\n {\r\n\r\n }","import {FormGroup,FormLabel} from \"react-bootstrap\";\r\nimport React,{ Component } from 'react';\r\n\r\nexport class FormLabelField extends Component {\r\n\r\n render() { \r\n const {id, label, name, value} = this.props.properties\r\n return(
\r\n \r\n {label}\r\n
{value}
\r\n
\r\n
)\r\n }\r\n }\r\n\r\n interface IFormLabel\r\n {\r\n properties:IProperties;\r\n }\r\n interface IProperties\r\n {\r\n id:string;\r\n label:string;\r\n name:string;\r\n className?:string;\r\n value:any;\r\n }\r\n\r\n interface Istate\r\n {\r\n\r\n }","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class CommonController {\r\n response : any;\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n constructor(){\r\n this.response = { msg : '', success : true }\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n }\r\n\r\n getAllLabel(){\r\n var url = this.variables.Url + this.variables.Controller.common + this.variables.commonService.getAllLabel;\r\n return this.serviceProxy.get(url,{})\r\n .then(response => {\r\n var jsonLabel : Array<{\"id\": string; \"name\": string; \"ownerLabel\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(label);\r\n function label(item: { RecordLabel_Id: string; Name: string; Owner_label: string }, _index: number){\r\n jsonLabel.push({\"id\": item.RecordLabel_Id, \"name\": item.Name, \"ownerLabel\": item.Owner_label ? \"Yes\" : \"No\"})\r\n }\r\n return JSON.parse(JSON.stringify(jsonLabel).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonLabel).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getAllDeptForLabel(label : string){\r\n var url = this.variables.Url+ this.variables.Controller.common + this.variables.commonService.getAllDeptForLabel;\r\n var data = {\r\n \"recordLabelId\": label\r\n }\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonDept : Array<{\"id\": string, \"name\": string, \"label\": string, \"customerNumber\": string, \"businessUnit\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(dept);\r\n function dept(item: { Department: any; Label: any; CustomerNumber: any; BusinessUnit: any }, index: number){\r\n jsonDept.push({\"id\": item.Department, \"name\": item.Department, \"label\": item.Label, \"customerNumber\": item.CustomerNumber, \"businessUnit\": item.BusinessUnit})\r\n }\r\n return JSON.parse(JSON.stringify(jsonDept).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonDept).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getAllDepartment(){\r\n var url = this.variables.Url + this.variables.Controller.common + this.variables.commonService.getAllDepartment;\r\n return this.serviceProxy.get(url,{})\r\n .then(response => {\r\n var jsonDept : Array<{\"id\": string, \"name\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(dept);\r\n function dept(item: { Department: string }, _index: number){\r\n jsonDept.push({\"id\": item.Department, \"name\":item.Department})\r\n }\r\n return JSON.parse(JSON.stringify(jsonDept).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonDept).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getApprovalProcess(processName : string){\r\n var url = this.variables.Url+ this.variables.Controller.common + this.variables.commonService.getApprovalProcess;\r\n var data = {\r\n \"processName\": processName\r\n }\r\n return this.serviceProxy.post(url,data)\r\n .then(response => {\r\n if(response.success){\r\n var resApprovalProcess = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resApprovalProcess;\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n getSelfApprovers(uid : string){\r\n var url = this.variables.Url+ this.variables.Controller.common + this.variables.commonService.getSelfApprovers;\r\n var data = {\r\n \"uid\": uid\r\n }\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n if(response.success){\r\n var resSelfApprovers = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resSelfApprovers;\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n getProcessLookupUserType(processName : string, uid :string){\r\n var url = this.variables.Url+ this.variables.Controller.common + this.variables.commonService.getProcessLookupUserType;\r\n var data = {\r\n \"processName\": processName,\r\n \"alias\": uid\r\n }\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var resProcessLookupUserType = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resProcessLookupUserType;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n getLabel(recordLabelId : string){\r\n var url = this.variables.Url + this.variables.Controller.common + this.variables.commonService.getLabel;\r\n var data = {\r\n \"recordLabelId\" : recordLabelId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resLabel = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resLabel;\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n}\r\n","// JScript File\r\nexport var CLEAN_54_DISCOUNT_THRESHOLD = .4;\r\nexport var CLEAN_56_DISCOUNT_THRESHOLD = .15;\r\nexport var CLEAN_59_DISCOUNT_THRESHOLD = .3;\r\nexport var CLEAN_66_DISCOUNT_THRESHOLD = .15;\r\n\r\nexport function RequireEVPApproval(cost, price,sale_type)\r\n{\r\n var discount=(cost-price)/cost;\r\n \r\n if(sale_type=='54 Clean' && discount!=CLEAN_54_DISCOUNT_THRESHOLD)\r\n {\r\n var result=window.confirm('Discount does not equal 40%.Your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.'+String.fromCharCode(10)+'Please check the prices you have entered for Clean Product.');\r\n return result;\r\n }\r\n}\r\nexport function EVPApproval(saletype)\r\n{\r\n if(saletype=='54 - Clean (non-royalty bearing)')\r\n {\r\n var result=window.confirm('Discount does not equal 40%.Your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.'+String.fromCharCode(10)+'Please check the prices you have entered for Clean Product.');\r\n return result;\r\n }\r\n if(saletype=='56 - Clean (fully royalty bearing)' || saletype=='66 Ticket Bundling')\r\n {\r\n var result=window.confirm('Discount is greater than 15%.Your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.'+String.fromCharCode(10)+'Please check the prices you have entered for Clean Product.');\r\n return result\r\n }\r\n if(saletype=='59 - Clean (publisher royalties only)')\r\n {\r\n var result=window.confirm('Discount does not equal 30%.Your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.'+String.fromCharCode(10)+'Please check the prices you have entered for Clean Product.');\r\n return result\r\n } \r\n}\r\nexport function DisplayapproveFlag(percentage, sale_type)\r\n{\r\n\tswitch(sale_type)\r\n {\r\n case '54 - Clean (non-royalty bearing)':\r\n if(percentage!=CLEAN_54_DISCOUNT_THRESHOLD)\r\n {\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n break;\r\n case '66 Ticket Bundling':\r\n case '56 - Clean (fully royalty bearing)':\r\n if(percentage>CLEAN_56_DISCOUNT_THRESHOLD)\r\n {\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n break;\r\n case '59 - Clean (publisher royalties only)':\r\n if(percentage!=CLEAN_59_DISCOUNT_THRESHOLD)\r\n {\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n \r\n }\r\n}\r\nexport function CalculatePercent(cost, price)\r\n{ \r\n var discount=(cost-price)/cost; \r\n var float_num = parseFloat(discount); // parse as float number \r\n return float_num.toFixed(2); \r\n}\r\n\r\nexport function CalculatedDiscountPrice(cost,salesType)\r\n{ \r\n\tvar calculatedPrice=0;\r\n\tswitch(salesType)\r\n {\r\n case 1:\r\n calculatedPrice=cost-(CLEAN_54_DISCOUNT_THRESHOLD * cost);\r\n break;\r\n case 9:\r\n case 3:\r\n calculatedPrice=cost-(CLEAN_56_DISCOUNT_THRESHOLD * cost);\r\n break;\r\n case 5:\r\n calculatedPrice=cost-(CLEAN_59_DISCOUNT_THRESHOLD * cost); \r\n } \r\n var float_num = parseFloat(calculatedPrice); \r\n return float_num.toFixed(3); \r\n}\r\n\r\nexport function CalculateFinalPercentage(saletype)\r\n{\r\n\r\n if(saletype=='54 - Clean (non-royalty bearing)')\r\n {\r\n var result=window.confirm('If discount does not equal 40%, your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.');\r\n return result;\r\n }\r\n if(saletype=='56 - Clean (fully royalty bearing)' || saletype=='66 Ticket Bundling')\r\n {\r\n var result=window.confirm('If discount is greater than 15%, your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.');\r\n return result\r\n }\r\n if(saletype=='59 - Clean (publisher royalties only)')\r\n {\r\n var result=window.confirm('If discount does not equal 30%, your order will be forwarded to EVP '+String.fromCharCode(10)+'& CFO of North America for Approval.');\r\n return result\r\n } \r\n\r\n}\r\n\r\n\r\n\r\n","\r\nlet lastSelectedRow;\r\nlet currSelectedRow;\r\nlet trs;\r\nlet multiArr=[];\r\n\r\nfunction setLastIndexRow(lastIndex)\r\n{\r\n lastSelectedRow=lastIndex;\r\n}\r\nfunction setCurrIndexRow(currIndex)\r\n{\r\n currSelectedRow=currIndex;\r\n}\r\n\r\nfunction tableRows(){\r\n trs = document.getElementById('TableMultiSelect').tBodies[0].getElementsByTagName('tr');\r\n return trs;\r\n}\r\n\r\n// disable text selection\r\n//document.onselectstart = function() {\r\n //return false;\r\n//}\r\n\r\nexport function handleTableAllRowClick(e, upcLen1) {\r\n \r\n let index = e.currentTarget.id.split(\"_\")[1];\r\n // if (window.event.ctrlKey) {\r\n // toggleRow(e, index);\r\n // }\r\n let upcLen = upcLen1;\r\n if (window.event.button === 0) {\r\n // if (!window.event.ctrlKey && !window.event.shiftKey) {\r\n // clearAll();\r\n toggleRow(e, index);\r\n \r\n // }\r\n \r\n if (window.event.shiftKey || window.event.ctrlKey) {\r\n setCurrIndexRow(index); \r\n selectRowsBetweenIndexes([1, upcLen])\r\n }\r\n \r\n } \r\n\r\n \r\n}\r\n\r\nfunction toggleRow(row,id) {\r\n if (row.currentTarget.className == 'selected'){\r\n row.currentTarget.className = '';\r\n removeMultiArr(id);\r\n }\r\n else\r\n {\r\n row.currentTarget.className = 'selected';\r\n addMultiArray(id);\r\n }\r\n //row.currentTarget.className = row.currentTarget.className == 'selected' ? '' : 'selected'; \r\n setLastIndexRow(id);\r\n //multiArr.splice(0, multiArr.length)\r\n \r\n}\r\n\r\nfunction selectRowsBetweenIndexes(indexes) {\r\n //\r\n trs = tableRows();\r\n indexes.sort(function(a, b) {\r\n return a - b;\r\n });\r\n\r\n for (var i = indexes[0]; i <= indexes[1]; i++) {\r\n trs[i-1].className = 'selected';\r\n addMultiArray(i-1);\r\n }\r\n}\r\n\r\nfunction clearAll() {\r\n trs = tableRows();\r\n for (var i = 0; i < trs.length; i++) {\r\n trs[i].className = '';\r\n }\r\n clearAllMultiArr();\r\n}\r\n\r\nfunction addMultiArray(arrIndex){\r\n multiArr[arrIndex] = document.getElementById('TableMultiSelect').tBodies[0].getElementsByTagName('tr')[arrIndex];\r\n}\r\n\r\nexport function getMultiArr(){\r\n return multiArr;\r\n}\r\nexport function clearAllMultiArr(){\r\n multiArr.splice(0, multiArr.length)\r\n}\r\n\r\nfunction removeMultiArr(obj){\r\n multiArr.splice(multiArr.indexOf(obj), 1 );\r\n}\r\n","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class OrderController {\r\n csOrderId : string;\r\n csUId : string;\r\n csSalesType : string = \"\";\r\n csShipMethod : string = \"\";\r\n csApproverComments : string = \"\";\r\n cbSelfOrder : boolean = false;\r\n cbNewOrder : boolean = false;\r\n orderItems : any;\r\n response : any;\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n dateTimeFormat: DateTimeFormat;\r\n\r\n constructor(orderId : string, uid : string){\r\n this.csOrderId = orderId;\r\n this.csUId = uid;\r\n this.response = true ;\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n }\r\n\r\n routeNewOrder(selfOrder : boolean){\r\n \r\n this.cbSelfOrder = selfOrder;\r\n this.cbNewOrder = true;\r\n return this.approveOrder();\r\n }\r\n\r\n routeOrder(orderItems : any, salesType : string, shipMethod : string, approverComments : string){\r\n \r\n this.orderItems = orderItems;\r\n this.csSalesType = salesType;\r\n this.csShipMethod = shipMethod;\r\n this.csApproverComments = approverComments;\r\n return this.approveOrder();\r\n }\r\n\r\n approveOrder(){\r\n \r\n var sSalesType : string, sMaterial : string, sApproverLevels : string, orderStatus : string;\r\n var sOvernight : string;\r\n var bOvernight : boolean, bClean : boolean, bWasClean : boolean, bCfoRequired\t: boolean;\r\n\r\n var bFiveBeforeDepot : boolean = false;\r\n var bFourBeforeDepot : boolean = false;\r\n var bThreeBeforeDepot : boolean = false; \r\n var bTwoBeforeDepot : boolean = false; \r\n var bLabelApprover : boolean = false; \r\n var bOvernightApprover : boolean = false; \r\n var bLabelCleanApprover : boolean = false; \r\n var bFullLengthCleanApprover : boolean = false;\r\n var bCfoApprover : boolean = false;\r\n\r\n return this.getOrderSummary().then(resOrderSummary => {\r\n \r\n bWasClean = resOrderSummary.Material;\r\n return this.getApproverLevels(resOrderSummary.Process_Name).then(resApproverLevels => {\r\n \r\n //console.log(\"Approver levels\" , resApproverLevels);\r\n sApproverLevels = resApproverLevels;\r\n bFiveBeforeDepot = sApproverLevels.indexOf(\"A6\") > -1 ? true : false;\r\n bFourBeforeDepot = sApproverLevels.indexOf(\"A5\") > -1 ? true : false;\r\n bThreeBeforeDepot = sApproverLevels.indexOf(\"A4\") > -1 ? true : false;\r\n bTwoBeforeDepot = sApproverLevels.indexOf(\"A3\") > -1 ? true : false;\r\n bLabelApprover = sApproverLevels.indexOf(\"A2\") > -1 ? true : false;\r\n bOvernightApprover = sApproverLevels.indexOf(\"L2\") > -1 ? true : false;\r\n bLabelCleanApprover = sApproverLevels.indexOf(\"L1\") > -1 ? true : false;\r\n bFullLengthCleanApprover = sApproverLevels.indexOf(\"C\") > -1 ? true : false;\r\n bCfoApprover = sApproverLevels.indexOf(\"C1\") > -1 ? true : false;\r\n\r\n if (this.cbSelfOrder || this.cbNewOrder || !resOrderSummary.Billable) {\r\n sSalesType = resOrderSummary.sales_type;\t\t\t\t\t\r\n sMaterial = resOrderSummary.Material ? \"1\" : \"0\";\t\t\t\t\t\r\n if (this.cbSelfOrder || this.cbNewOrder) {\r\n this.csShipMethod = resOrderSummary.Ship_Method;\r\n }\r\n bClean = resOrderSummary.Material;\r\n }\r\n else {\r\n if (resOrderSummary.Billable) {\r\n switch (this.csSalesType) {\r\n case \"54 - Marked (non-royalty bearing)\":\t\t\t\t\t\r\n sSalesType = \"54 - Marked (non-royalty bearing)\";\t\t\t\t\r\n sMaterial = \"0\";\r\n break;\r\n case \"54 - Clean (non-royalty bearing)\":\t\t\t\t\t\r\n sSalesType = \"54 - Clean (non-royalty bearing)\";\t\t\t\t\r\n sMaterial = \"1\";\t\t\t\t\r\n break;\r\n case \"56 - Marked (fully royalty bearing)\":\t\t\t\t\t\r\n sSalesType = \"56 - Marked (fully royalty bearing)\";\t\t\t\t\r\n sMaterial = \"0\";\t\t\t\t\r\n break;\r\n case \"56 - Clean (fully royalty bearing)\":\t\t\t\t\t\r\n sSalesType = \"56 - Clean (fully royalty bearing)\";\t\t\t\t\r\n sMaterial = \"1\";\t\t\t\t\r\n break;\r\n case \"59 - Marked (publisher royalties only)\":\t\t\t\t\t\r\n sSalesType = \"59 - Marked (publisher royalties only)\";\t\t\t\t\r\n sMaterial = \"0\";\t\t\t\t\r\n break;\r\n case \"59 - Clean (publisher royalties only)\":\t\t\t\t\t\r\n sSalesType = \"59 - Clean (publisher royalties only)\";\t\t\t\t\r\n sMaterial = \"1\";\t\t\t\t\r\n break;\r\n case \"66 Ticket Bundling\":\r\n sSalesType = \"66 Ticket Bundling\";\r\n sMaterial = \"1\";\r\n break;\r\n }\t\t\t\t\t\r\n bClean = (sMaterial == \"1\") ? true : false;\t\t\t\t\t\r\n }\r\n else { \r\n bClean = resOrderSummary.Material;\r\n }\t\t\t\t\t\t\t\r\n }\r\n\r\n return this.checkCFOApproval(resOrderSummary.Process_Name).then(cfoApprovalCount => {\r\n \r\n //console.log(cfoApprovalCount);\r\n bCfoRequired = (cfoApprovalCount > 0) ? true : false;\r\n bOvernight = (resOrderSummary.Overnight || this.csShipMethod.trim() != \"Standard Ground\" || this.csShipMethod.trim() != \"Pick-Up\") ? true : false;\t\t\t\t\t\t\t\r\n sOvernight = bOvernight ? \"1\" : \"0\";\r\n\r\n return this.checkOrderConfiguration().then(orderConfigurationCount => {\r\n \r\n //console.log(orderConfigurationCount);\r\n var allSingles : boolean = false;\t\r\n\r\n if (bClean) {\r\n if (orderConfigurationCount.totalOrderItems == orderConfigurationCount.singleOrderItems) {\r\n allSingles = true;\t\r\n }\t\t\t\t\r\n }\r\n\r\n if (this.cbSelfOrder) {\r\n //Just set approval date if this is a self order because user is an approver\r\n return this.updateSelfOrderItems().then(response => {\r\n return this.fiveBeforeDepot(resOrderSummary.Process_Name,bFiveBeforeDepot, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\r\n }\t\t\t\t\t\t\r\n else {\r\n //Update order items if not new order because order was opened by an approver\r\n if (!this.cbNewOrder)\t{\r\n return this.updateOrderItems().then(resOrderStatus => {\r\n orderStatus = resOrderStatus;\r\n if (orderStatus == \"3\") {\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.fiveBeforeDepot(resOrderSummary.Process_Name,bFiveBeforeDepot, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n return this.fiveBeforeDepot(resOrderSummary.Process_Name,bFiveBeforeDepot, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }\r\n } \t\t\t\t\t\t\t\t\t\t\t\t\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n \r\n }\r\n\r\n fiveBeforeDepot(processName, bFiveBeforeDepot, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if(bFiveBeforeDepot){\r\n //console.log(\"five before depot\")\r\n //Requestor weight = 4, Usertype = Five before depot = A6\r\n return this.depotApprover(orderStatus,\"4\",sOvernight,sSalesType,sMaterial,\"A6\",processName,\"A5\").then(depotApproved => {\r\n return this.fourBeforeDepot(processName, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n //console.log(\"not five before depot\")\r\n return this.fourBeforeDepot(processName, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }\r\n }\r\n\r\n fourBeforeDepot(processName, bFourBeforeDepot, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if(bFourBeforeDepot){\r\n //console.log(\"four before depot\")\r\n //Requestor weight = 3, Usertype = Four before depot = A5\r\n return this.depotApprover(orderStatus,\"3\",sOvernight,sSalesType,sMaterial,\"A5\",processName,\"A4\").then(depotApproved => {\r\n return this.threeBeforeDepot(processName, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles)\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n //console.log(\"not four before depot\")\r\n return this.threeBeforeDepot(processName, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles)\r\n }\r\n }\r\n\r\n threeBeforeDepot(processName, bThreeBeforeDepot, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if(bThreeBeforeDepot){\r\n //console.log(\"three before depot\")\r\n //Requestor weight = 2, Usertype = Three before depot = A4\r\n return this.depotApprover(orderStatus,\"2\",sOvernight,sSalesType,sMaterial,\"A4\",processName,\"A3\").then(depotApproved => {\r\n return this.twoBeforeDepot(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n //console.log(\"not three before depot\")\r\n return this.twoBeforeDepot(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }\r\n }\r\n\r\n twoBeforeDepot(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if(bTwoBeforeDepot){\r\n //console.log(\"two before depot\")\r\n //Requestor weight = 1, Usertype = Two before depot = A3\r\n return this.depotApprover(orderStatus,\"1\",sOvernight,sSalesType,sMaterial,\"A3\",processName,\"A2\").then(depotApproved => {\r\n return this.labelApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles)\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n //console.log(\"not two before depot\")\r\n return this.labelApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles)\r\n }\r\n }\r\n\r\n depotApprover(orderStatus, requestorWeight, overNight, salesType, material, approverType, processName, emailApprover){\r\n //Order status (Approver Rejected) = \"3\"\r\n //Order Status (Pending) = \"1\"\r\n \r\n //console.log(\"inside depot Approver\");\r\n if (orderStatus != \"3\") { \r\n orderStatus = \"1\";\r\n }\r\n var depotApproved : boolean = false;\r\n return this.updateCompleteOrder(\"one\", orderStatus, requestorWeight, overNight, salesType, material).then(resUpdateCompleteOrder => {\r\n //console.log(resUpdateCompleteOrder);\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(approverType).then(resInsertTblApprovalHistory => {\r\n if(resInsertTblApprovalHistory){\r\n return this.getEmailNotice(approverType,processName).then(response => {\r\n if (!this.cbSelfOrder) {\r\n //console.log(response.Email_Notice)\r\n if (response.Email_Notice) {\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\t\t\t\r\n this.emailApprover(emailApprover);\t\t\t\t\r\n }\t\r\n depotApproved = true;\r\n return depotApproved;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \t\t\t\r\n }\r\n\r\n labelApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if (bLabelApprover){\r\n //console.log(\"label approver\")\r\n if (bOvernight){\r\n //console.log(\"label approver - overnight\")\r\n //Overnight pending 10\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"10\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"A2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"L2\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.overnightApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else if(bClean){\r\n //console.log(\"label approver - clean\")\r\n //Clean approval 13\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"13\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"A2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"L1\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.overnightApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else if(bCfoRequired){\r\n //console.log(\"label approver - cfo\")\r\n //CFO Approval 16\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"16\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"A2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"C1\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.overnightApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n //console.log(\"label approver - else\")\r\n //Status Approved 2\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"2\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"A2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.overnightApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }\r\n else{\r\n //console.log(\"not label approver\")\r\n return this.overnightApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }\r\n }\r\n\r\n overnightApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bOvernight, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if (bOvernightApprover && bOvernight){\r\n //console.log(\"overnight approver\")\r\n if (bClean) {\r\n //console.log(\"overnight approver - clean\")\r\n //Clean approval 13 \r\n if (orderStatus != \"3\") {\r\n orderStatus = \"13\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"L2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"L1\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.cleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\t\t\t\r\n }\r\n else if (bCfoRequired) {\r\n //console.log(\"overnight approver - cfo\")\r\n //Cfo approval 16\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"16\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"L2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"C1\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.cleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\t\r\n }\r\n else {\t\r\n //console.log(\"overnight approver - else\")\r\n //Status Approved 2\t\t\t\t\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"2\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n this.insertTblApprovalHistory(\"L2\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.cleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\t\t\t\r\n }\t\t\t\t\t\t\t\t\t\t\r\n }\r\n else{\r\n //console.log(\"not overnight approver\")\r\n return this.cleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles);\r\n }\r\n }\r\n\r\n cleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bClean, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial, allSingles){\r\n \r\n if (bLabelCleanApprover && bClean) {\r\n //console.log(\"clean approver\")\r\n if (bCfoRequired) {\r\n //console.log(\"clean approver - cfo\")\r\n //Cfo approval 16\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"16\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"L1\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"C1\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.cfoApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, allSingles, bClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else if (!allSingles) {\r\n //console.log(\"clean approver - not all singles\")\r\n //Clean approval 13\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"13\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"100\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"L1\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"C\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.cfoApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, allSingles, bClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else {\r\n //console.log(\"clean approver - else\")\r\n //Status Approved 2\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"2\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n this.insertTblApprovalHistory(\"L1\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.cfoApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, allSingles, bClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\t\t\t\t\t\t\t\t\t\r\n }\r\n else{\r\n //console.log(\"not clean approver\")\r\n return this.cfoApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, allSingles, bClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }\r\n }\r\n\r\n cfoApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bCfoRequired, bFullLengthCleanApprover, bWasClean, allSingles, bClean, orderStatus, sOvernight, sSalesType, sMaterial){\r\n \r\n if (bCfoApprover && bCfoRequired) {\r\n //console.log(\"cfo approver\")\r\n if (!allSingles && bClean) {\r\n //console.log(\"cfo approver - not all singles & clean\")\r\n //Clean approval 13\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"13\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"100\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"C1\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.emailApprover(\"C\");\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.fullLengthCleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover, allSingles, bClean, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n else {\t\r\n //console.log(\"cfo approver - else\")\r\n //Status approved 2\t\t\t\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"2\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n this.insertTblApprovalHistory(\"C1\").then(resInsertTblApprovalHistory =>{\r\n if(resInsertTblApprovalHistory){\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.fullLengthCleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover, allSingles, bClean, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \t\t\t\r\n }\t\t\t\t\t\t\t\t\t\r\n }\r\n else{\r\n //console.log(\"not cfo approver\")\r\n return this.fullLengthCleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover, allSingles, bClean, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial);\r\n }\r\n }\r\n\r\n fullLengthCleanApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover, allSingles, bClean, bWasClean, orderStatus, sOvernight, sSalesType, sMaterial){\r\n \r\n if (bFullLengthCleanApprover && !allSingles && (bClean || bWasClean)) {\t\r\n //console.log(\"full length clean approver\")\r\n //Status approved 2\t\t\t\r\n if (orderStatus != \"3\") {\r\n orderStatus = \"2\";\r\n }\r\n return this.updateCompleteOrder(\"one\",orderStatus,\"0\",sOvernight,sSalesType,sMaterial).then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return this.insertTblApprovalHistory(\"C\").then(resInsertTblApprovalHistory => {\r\n if(resInsertTblApprovalHistory){\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n return this.notAboveApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\t\t\t\t\r\n }\r\n else{\r\n //console.log(\" not full length clean approver\")\r\n return this.notAboveApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover);\r\n }\r\n }\r\n\r\n notAboveApprover(processName, bTwoBeforeDepot, bLabelApprover, bOvernightApprover, bLabelCleanApprover, bCfoApprover, bFullLengthCleanApprover){\r\n \r\n if (!(bTwoBeforeDepot || bLabelApprover || bOvernightApprover || bLabelCleanApprover || bCfoApprover || bFullLengthCleanApprover)) {\r\n //console.log(\"notAboveApprover\")\r\n var sApproverType : string = \"\";\r\n return this.getNotDepotLabelApprover(processName).then(response => {\r\n sApproverType = response.user_type.trim();\r\n if (sApproverType.length>0)\t{\r\n this.emailApprover(sApproverType);\r\n }\r\n return this.byPassApproval();\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n else{\r\n //console.log(\"aboveApprover\")\r\n return this.byPassApproval();\r\n } \r\n }\r\n\r\n rejectOrder(comments : string){\r\n var orderStatus : string = \"3\";\t\t\t\t\t\t\r\n var sApproverLevels : string = \"\";\r\n var bThreeBeforeDepot : boolean = false; \r\n var bTwoBeforeDepot : boolean = false;\r\n var bLabelApprover : boolean = false;\r\n var bOvernightApprover : boolean = false;\r\n var bLabelCleanApprover: boolean = false;\r\n var bFullLengthCleanApprover : boolean = false;\r\n var bCfoApprover : boolean = false;\t\t\t\t\t\t\t\r\n \r\n return this.getOrderSummary().then(resOrderSummary => {\r\n return this.getApproverLevels(resOrderSummary.Process_Name).then(resApproverLevels =>{\r\n sApproverLevels = resApproverLevels;\r\n bThreeBeforeDepot = sApproverLevels.indexOf(\"A4\") > -1 ? true : false;\r\n bTwoBeforeDepot = sApproverLevels.indexOf(\"A3\")>-1?true:false;\r\n bLabelApprover = sApproverLevels.indexOf(\"A2\")>-1?true:false;\r\n bOvernightApprover = sApproverLevels.indexOf(\"L2\")>-1?true:false;\r\n bLabelCleanApprover = sApproverLevels.indexOf(\"L1\")>-1?true:false;\r\n bFullLengthCleanApprover = sApproverLevels.indexOf(\"C\")>-1?true:false;\r\n bCfoApprover = sApproverLevels.indexOf(\"C1\")>-1?true:false;\r\n\r\n return this.updateRejectOrder(orderStatus).then(response => {\r\n if (bThreeBeforeDepot) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"A4\");\t\t\t\t\t\r\n }\r\n else {\r\n if (bTwoBeforeDepot) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"A3\");\t\t\t\t\t\r\n }\r\n else {\r\n if (bLabelApprover) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"A2\");\t\t\t\t\t\r\n }\r\n else {\r\n if (bOvernightApprover) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"L1\");\t\t\t\t\t\r\n }\r\n else {\r\n if (bLabelCleanApprover) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"L1\");\t\t\t\t\t\r\n }\r\n else {\r\n if (bFullLengthCleanApprover) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"C\");\t\t\t\t\t\r\n }\r\n else {\r\n if (bCfoApprover) {\r\n this.csApproverComments = comments;\r\n this.insertTblApprovalHistory(\"C1\");\t\t\t\t\t\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.getApproverNameComments().then(resApproverNameComments => {\r\n this.emailRequestor(resApproverNameComments);\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n return this.response;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n byPassApproval(){\r\n \r\n var salesType : string = \"\";\r\n var material : string = \"\";\r\n var cost : number;\r\n var price : number;\r\n var smmoney : string = \"\";\r\n var percen : number;\r\n var byPassFlag : boolean = false;\r\n //console.log(\"inside bypass approval\")\r\n return this.getOrderSummary().then(resOrderSummary => {\r\n this.csSalesType = resOrderSummary.sales_type;\r\n return this.getOrderItemsForByPassApproval().then(resOrderItems => {\r\n if (resOrderSummary.Billable){\r\n //console.log(\"billable\")\r\n switch (this.csSalesType){\r\n case \"54 - Clean (non-royalty bearing)\":\r\n //console.log(\"billable - 54 clean\")\r\n resOrderItems.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n byPassFlag = true;\r\n return;\r\n }\r\n else if (percen != parseFloat(\"0.4\")){\r\n byPassFlag = true;\r\n return;\r\n }\r\n })\r\n break;\r\n case \"56 - Clean (fully royalty bearing)\":\r\n //console.log(\"billable - 56 clean\")\r\n resOrderItems.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n byPassFlag = true;\r\n return;\r\n }\r\n else if (percen > parseFloat(\"0.15\")){\r\n byPassFlag = true;\r\n return;\r\n }\r\n })\r\n break;\r\n case \"59 - Clean (publisher royalties only)\":\r\n //console.log(\"billable - 59 clean\")\r\n resOrderItems.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n byPassFlag = true;\r\n return;\r\n }\r\n else if (percen != parseFloat(\"0.3\")){\r\n byPassFlag = true;\r\n return;\r\n }\r\n })\r\n break; \r\n case \"66 Ticket Bundling\":\r\n //console.log(\"Ticket Bundling - 66 clean\")\r\n resOrderItems.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n byPassFlag = true;\r\n return;\r\n }\r\n else if (percen != parseFloat(\"0.15\")){\r\n byPassFlag = true;\r\n return;\r\n }\r\n })\r\n break; \r\n } \r\n }\r\n else {\r\n //console.log(\"not billable\")\t\t\t\t\r\n if(this.csSalesType.toLowerCase().trim() == \"51 Clean\" || this.csSalesType.toLowerCase().trim() == \"91 Clean\"){\r\n byPassFlag = true;\r\n }\r\n }\r\n var requestorWeight : string = \"\";\r\n var statusId : number;\r\n if (!byPassFlag){\r\n //console.log(\"not bypass approval\")\r\n return this.getCompleteOrder().then(resCompleteOrder => {\r\n requestorWeight = resCompleteOrder.Requestor_Weight;\r\n statusId = resCompleteOrder.Status_Id;\r\n if (requestorWeight == \"100\" && statusId == 13)\r\n {\r\n return this.updateCompleteOrder(\"three\").then(resUpdateCompleteOrder => {\r\n if(resUpdateCompleteOrder){\r\n return true;\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n return this.updateCompleteOrder(\"two\",\"2\").then(resUpdateCompleteOrder => {\r\n //console.log(this.response)\r\n return this.response \r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n overnightBillableEmailStatus(){\r\n //console.log(\"inside overnightBillableEmailStatus\")\r\n var salesType : string = \"\";\r\n var material : string = \"\";\r\n var cost : number;\r\n var price : number;\r\n var smmoney : string = \"\";\r\n var percen : number;\r\n var resSendMail : boolean = false;\r\n\r\n return this.getOrderSummary().then(resOrderSummary => {\r\n this.csSalesType = resOrderSummary.sales_type;\r\n return this.getOverNightBillable().then(res1 => {\r\n if (resOrderSummary.Billable){\r\n switch (this.csSalesType){\r\n case \"54 - Clean (non-royalty bearing)\":\r\n res1.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n resSendMail = true;\r\n }\r\n else if (percen != parseFloat(\"0.4\")){\r\n resSendMail = true;\r\n }\r\n })\r\n break;\r\n case \"66 Ticket Bundling\":\r\n case \"56 - Clean (fully royalty bearing)\":\r\n res1.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n resSendMail = true;\r\n }\r\n else if (percen != parseFloat(\"0.15\")){\r\n resSendMail = true;\r\n }\r\n })\r\n break;\r\n case \"59 - Clean (publisher royalties only)\":\r\n res1.recordset.map((prop, key)=>{\r\n price = prop[\"price_approved\"];\r\n cost = prop[\"Cost\"];\r\n percen = (cost - price) / cost;\r\n var per : string = percen.toFixed(2);\r\n percen = parseFloat(per);\r\n if(price>0 && price>cost){\r\n resSendMail = true;\r\n }\r\n else if (percen != parseFloat(\"0.3\")){\r\n resSendMail = true;\r\n }\r\n })\r\n break; \r\n } \r\n }\r\n else {\t\t\t\t\r\n if(this.csSalesType.toLowerCase() == \"51 clean\"){\r\n resSendMail = true;\r\n }\r\n }\r\n return resSendMail;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n updateOrderItems() : any{\r\n return this.getOrderSummary().then(resOrderSummary => {\r\n var rejectedCount : number = 0;\r\n\t\t\tvar rejected : boolean;\r\n var itemId : string = \"\", qty : string = \"\", price : string = \"\", itemOrderStatus : string =\"\", resOrderStatus : string = \"0\";\r\n\r\n this.orderItems.map((prop, key)=>{\r\n itemId = prop[\"item_id\"];\r\n\t\t qty = prop[\"Quantity_Approved\"];\r\n price = prop[\"Price_Approved\"];\r\n\t\t\t\trejected = prop[\"RejectItem\"];\r\n\t\t\t\titemOrderStatus = \"\";\t\r\n\t\t\t\tif (rejected || qty == \"0\"){\r\n\t\t\t\t\tqty = \"0\";\t\t\r\n\t\t\t\t\tprice = \"0\";\t\t\r\n\t\t\t\t\titemOrderStatus = \"3\";\t\t\r\n\t\t\t\t\trejectedCount++;\t\t\r\n }\r\n this.updateOrderItemsCount(resOrderSummary.Billable ? 1 : 0, itemId, itemOrderStatus, qty, price)\r\n })\r\n\r\n if (rejectedCount == Object.keys(this.orderItems).length) {\r\n resOrderStatus = \"3\" ;\t\r\n }\r\n\t\t\treturn resOrderStatus;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n emailRequestor(resApproverNameComments){\r\n var emailRequestor : boolean = false;\r\n if (this.cbSelfOrder) {\r\n return emailRequestor;\r\n } \r\n var orderDetail : string = \"\"; \r\n var sTo: string = \"\";\r\n var sBody: string = \"\";\r\n var sSubject: string = \"\";\r\n var sWebServer: string = \"\";\r\n\r\n return this.getOrderSummary().then(resOrderSummary => {\r\n return this.getOrderDetail().then(resOrderDetail =>{\r\n resOrderDetail.recordset.map((prop,key)=>{\r\n orderDetail += \"

\" + \"Selection: \" + prop[\"Selection_Id\"][0];\r\n\t\t\t\t orderDetail += \"
\" + \"Artist: \" + prop[\"Artist\"];\r\n\t\t\t\t orderDetail += \"
\" + \"Title: \" + prop[\"Title\"];\r\n\t\t\t\t orderDetail += \"
\" + \"Configuration: \" + prop[\"Configuration\"][0];\r\n\t\t\t\t orderDetail += \"
\" + \"Qty Req: \" + prop[\"Quantity_Requested\"]; \r\n\t\t\t\t orderDetail += \"
\" + \"Qty App: \" + prop[\"Quantity_Approved\"];\r\n if (resOrderSummary.Billable) {\r\n orderDetail += \"
\" + \"Price Req: \" + prop[\"Price_Requested\"];\r\n orderDetail += \"
\" + \"Price App: \" + prop[\"Price_Approved\"];\r\n }\r\n })\r\n \r\n sTo = resOrderSummary.alias_Email;\r\n if (sTo.length == 0) {\r\n sTo=\"egratis@umusic.com\";\r\n }\r\n\r\n\t\t\t sBody = \"Order: \" + resOrderSummary.Order_Id + \"
\";\r\n\t\t\t sBody += \"Status: \" + resOrderSummary.StatusDesc + \"
\";\r\n\t\t\t sBody += \"Ship To: \" + resOrderSummary.Name+ \" at \" + resOrderSummary.ShipToName + \"
\";\r\n if (!(resOrderSummary.Approval_Date == null ? true : false )){\r\n sBody += \"Status Date: \" + resOrderSummary.Approval_Date.slice(0,10) + \"
\";\r\n //console.log(\"status Date\",resOrderSummary.Approval_Date.slice(0,10));\r\n }\r\n sBody +=\"Submit Date:\" + resOrderSummary.Request_Date.slice(0,10) + \"
\";\r\n if (resOrderSummary.Billable) {\t\r\n sBody =sBody + \"Account No: \" + resOrderSummary.account_no + \"
\";\r\n sBody =sBody + \"Freight Billing Info: \" + resOrderSummary.freight_billing_info + \"
\";\r\n sBody =sBody + \"Pre-Paid: \";\r\n if (resOrderSummary.prepaid)\r\n sBody =sBody + \"Yes\" + \"
\";\r\n else\t\t\t\r\n sBody =sBody + \"No\" + \"
\";\r\n }\t\t\t\t\r\n sBody += \"Shipment Method: \" + resOrderSummary.Ship_Method + \"
\";\r\n sBody += \"Business Unit: \" + resOrderSummary.BusinessUnit + \"
\" + orderDetail + \"

\";\r\n\r\n resApproverNameComments.recordset.map((prop,key)=>{\r\n sBody += \"Approver: \" + prop[\"name\"];\r\n sBody += \"
\" + \"Approver Comments: \" + prop[\"notes\"] + \"

\"\r\n })\r\n sBody += \"Thank you for using eGratis!\";\r\n //console.log(sBody);\r\n sWebServer = window.location.hostname.toUpperCase();\r\n if (sWebServer==\"USUSH2KVWS11\")\tsSubject=\"(predev) \";\r\n if (sWebServer==\"USUSHWVIIS001\") sSubject=\"(dev) \";\r\n if (sWebServer==\"USUSHWVIIS002\") sSubject=\"(test) \";\r\n if (sWebServer==\"USUSH2KAP17\" || sWebServer==\"USUSHWVIIS010\") sSubject=\"(staging) \";\r\n sSubject+=\"eGratis Order Status \" + this.csOrderId + \" for: \" + resOrderSummary.Name + \" at \" + resOrderSummary.ShipToName;\r\n\r\n this.sendEmail(\"egratis@umusic.com\", sTo, sSubject,sBody);\r\n emailRequestor = true;\r\n return emailRequestor;\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n emailApprover(approverType){\r\n //console.log(\"inside emailApprover\");\r\n var overnightBillable : boolean = false;\r\n return this.overnightBillableEmailStatus().then(resSendEmail => {\r\n overnightBillable = resSendEmail;\r\n return this.getOrderSummary().then(resOrderSummary => {\r\n if (((!this.cbSelfOrder && (resOrderSummary.Status_Id != \"3\")) && (resOrderSummary.Ship_Method.Length != 0)) && (resOrderSummary.Ship_Method != \"Standard Ground\") && (resOrderSummary.Ship_Method != \"Pick-Up\")){\r\n //console.log(\"inside if\");\r\n return this.getApproverEmail(approverType, resOrderSummary.Process_Name).then(resApproverEmail => {\r\n //console.log(resApproverEmail.Alias + \" \" + this.csUId);\r\n //console.log(resApproverEmail.Alias.toLowerCase() + \" \" + this.csUId.toLowerCase());\r\n if (resApproverEmail.success && (resApproverEmail.Alias.toLowerCase() != this.csUId.toLowerCase())){\r\n var str2 : string = \"\";\r\n var str3 : string = \"\";\r\n var str4 : string = \"\";\r\n \r\n switch (window.location.hostname.toUpperCase.toString())\r\n {\r\n case \"USUSH2KVWS11\":\r\n str3 = \"(predev) \";\r\n break;\r\n \r\n case \"USUSHWVIIS001\":\r\n str3 = \"(dev) \";\r\n break;\r\n \r\n case \"USUSHWVIIS002\":\r\n str3 = \"(test) \";\r\n break;\r\n \r\n case \"USUSH2KAP17\":\r\n case \"USUSHWVIIS010\":\r\n str3 = \"(staging) \";\r\n break;\r\n }\r\n if ((resOrderSummary.Ship_Method.length > 0) && (resOrderSummary.Ship_Method.trim() != \"Standard Ground\")){\r\n str3 = str3 + \"Overnight: eGratis Orders to Approve\";\r\n }\r\n else{\r\n str3 = str3 + \"eGratis Orders to Approve\";\r\n }\r\n str2 = resApproverEmail.Email.trim();\r\n if (str2.length == 0){\r\n str2 = \"egratis@umusic.com\";\r\n }\r\n \r\n str4 = \"You have order #\" + this.csOrderId + \" waiting for your approval in eGratis.
\" + window.location.hostname + \"
Thank you for using eGratis!
\" + this.dateTimeFormat.getDateTime() + \"

\";\r\n str4 += \"
Approver Level: \" + resApproverEmail.User_Type.trim() + \" \" + this.csApproverComments + \" \" + this.dateTimeFormat.getDateTime();\r\n str4 += \"
Requestor Information\" + \"
User Name: \" + resOrderSummary.alias_Name + \"
Email: \" + resOrderSummary.alias_Email;\r\n \r\n var sendMail : boolean = true;\r\n if(overnightBillable==false && approverType==\"C\"){\r\n sendMail=false;\r\n }\r\n if (approverType==\"A2\" && resOrderSummary.sales_type == \"53 Marked\" && resOrderSummary.Billable == false){\r\n sendMail=false;\r\n }\r\n \r\n return this.checkApprovalEmail(approverType).then(resApprovalEmailCount => {\r\n if(resApprovalEmailCount <= 0){\r\n if (sendMail){\r\n this.sendEmail(\"egratis@umusic.com\",str2,str3,str4);\r\n }\r\n }\r\n if (!this.cbNewOrder){\r\n this.approverEmailHistory(approverType);\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\t\r\n }\r\n\r\n approverEmailHistory (approverType : string){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.insertTblEmailHistory;\r\n var data = {\r\n orderId: this.csOrderId,\r\n approverType: approverType,\r\n approverAlias: this.csUId\r\n }\r\n this.serviceProxy.post(url,data).then(response => {\r\n if(response.success){\r\n return;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n checkApprovalEmail(approverType: string){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.checkApprovalEmail;\r\n var data = {\r\n orderId: this.csOrderId,\r\n approverType: approverType,\r\n approverAlias: this.csUId\r\n }\r\n var resApprovalEmailCount : number = 0;\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n resApprovalEmailCount = response.number;\r\n }\r\n return resApprovalEmailCount;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getOrderSummary(){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getOrderSummary;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resOrderSummary = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n //console.log(resOrderSummary);\r\n return resOrderSummary;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n getApproverLevels(processName : string) : any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getApproverLevels;\r\n var data = {\r\n processName: processName,\r\n alias: this.csUId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n var res = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n var resApproverLevels : string[] = [];\r\n if(response.success){\r\n res.recordset.forEach(level);\r\n function level(item: { user_type: string }){\r\n resApproverLevels.push(item.user_type)\r\n }\r\n }\r\n //console.log(resApproverLevels);\r\n return resApproverLevels;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n throw error; // Ensure error is propagated\r\n });\r\n }\r\n\r\n checkCFOApproval(processName: string){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.checkCFOApproval;\r\n var data = {\r\n processName: processName,\r\n }\r\n var cfoApprovalCount : number = 0;\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n cfoApprovalCount = response.value;\r\n }\r\n return cfoApprovalCount;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n checkOrderConfiguration() : any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.checkOrderConfiguration;\r\n var data = {\r\n orderId: this.csOrderId,\r\n }\r\n var orderConfigurationCount = {\r\n totalOrderItems : 0,\r\n singleOrderItems : 0\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n orderConfigurationCount.totalOrderItems = response.totalOrderItems;\r\n orderConfigurationCount.singleOrderItems = response.singleOrderItems;\r\n }\r\n return orderConfigurationCount;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n updateSelfOrderItems(){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.updateSelfOrderItems;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.put(url,data).then(response=>{\r\n if(response.success){\r\n return response;\r\n }\r\n else{\r\n console.log(\"Update not successful\")\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private updateCompleteOrder(type, orderStatus ?: string, requestorWeight ?: string, overNight ?: string, salesType ?: string, material ?: string){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.updateCompleteOrder;\r\n var data = {\r\n type: type,\r\n requestorWeight: requestorWeight,\r\n statusId: orderStatus,\r\n overNight: overNight,\r\n shipMethod: this.csShipMethod,\r\n salesType: salesType,\r\n material: material,\r\n orderId: this.csOrderId\r\n }\r\n var resUpdateCompleteOrder : boolean = false;\r\n return this.serviceProxy.put(url,data).then(response=>{\r\n if(response.success){\r\n resUpdateCompleteOrder = true;\r\n }\r\n return resUpdateCompleteOrder;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private insertTblApprovalHistory(approverType){\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.insertTblApprovalHistory;\r\n var data = {\r\n orderId: this.csOrderId,\r\n approverType: approverType,\r\n approverId: this.csUId,\r\n notes: this.csApproverComments\r\n }\r\n var resInsertTblApprovalHistory : boolean = false;\r\n return this.serviceProxy.post(url,data).then(response=>{\r\n if(response.success){\r\n resInsertTblApprovalHistory = true;\r\n }\r\n return resInsertTblApprovalHistory;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getEmailNotice(userType, processName): any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getEmailNotice;\r\n var data = {\r\n alias: this.csUId,\r\n userType: userType,\r\n processName: processName\r\n }\r\n return this.serviceProxy.get(url,data).then(response=>{\r\n if(response.success){\r\n return response;\r\n } \r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getNotDepotLabelApprover(processName): any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getNotDepotLabelApprover;\r\n var data = {\r\n processName: processName\r\n }\r\n return this.serviceProxy.get(url,data).then(response=>{\r\n if(response.success){\r\n return response;\r\n } \r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n // private updateRejectOrder(orderStatus): any{\r\n // debugger;\r\n // var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.updateRejectOrder;\r\n // var data = {\r\n // orderStatus: orderStatus,\r\n // orderId: this.csOrderId\r\n // }\r\n // this.serviceProxy.put(url,data).then(response=>{\r\n // debugger;\r\n // if(response.success){\r\n // return response;\r\n // } \r\n // }).catch(error => {\r\n // console.error('There was an error!', error);\r\n // });\r\n // }\r\n\r\n private updateRejectOrder(orderStatus: string): Promise {\r\n debugger;\r\n var url = this.variables.Url + this.variables.Controller.createOrder + this.variables.createOrderService.updateRejectOrder;\r\n var data = {\r\n orderStatus: orderStatus,\r\n orderId: this.csOrderId\r\n };\r\n \r\n // Return a promise from the method\r\n return this.serviceProxy.put(url, data)\r\n .then(response => {\r\n debugger;\r\n if (response.success) {\r\n return response;\r\n } else {\r\n throw new Error('Failed to update reject order');\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error in updateRejectOrder:', error);\r\n throw error; // Re-throw the error to propagate it\r\n });\r\n }\r\n \r\n\r\n private getOverNightBillable(): any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getOverNightBillable;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response=>{\r\n var res1;\r\n if(response.success){\r\n res1 = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n } \r\n return res1\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getOrderItemsForByPassApproval(): any{\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getOrderItemsForByPassApproval;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response=>{\r\n var resOrderItems: any;\r\n if(response.success){\r\n resOrderItems = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n } \r\n return resOrderItems;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getCompleteOrder() {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getCompleteOrder;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resCompleteOrder = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resCompleteOrder;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n updateOrderItemsCount(billable, itemId, statusId, quantityApproved, priceApproved) {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.updateOrderItems;\r\n var data = {\r\n billable: billable,\r\n orderId: this.csOrderId,\r\n itemId: itemId,\r\n statusId: statusId,\r\n quantityApproved: quantityApproved,\r\n priceApproved: priceApproved,\r\n approverId: this.csUId\r\n }\r\n return this.serviceProxy.put(url,data).then(response => {\r\n return response;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getOrderDetail() {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getOrderDetail;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resOrderDetail = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resOrderDetail;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getApproverNameComments() {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getApproverNameComments;\r\n var data = {\r\n orderId: this.csOrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resApproverNameComments = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resApproverNameComments;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private getApproverEmail(approverType: string, processName: string) {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.getApproverEmail;\r\n var data = {\r\n userType: approverType,\r\n processName: processName\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resApproverEmail = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resApproverEmail;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n private sendEmail(from: string, to: string, subject: string, html: string) {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.sendEmail;\r\n var data = {\r\n from: from,\r\n to: to,\r\n subject: subject,\r\n html: html\r\n }\r\n return this.serviceProxy.post(url,data).then(response => {\r\n if(response.success){\r\n return;\r\n }\r\n else{\r\n console.error(\"Error in sending email...,\" + response.message)\r\n return;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n}","// JScript File\r\nexport var MARKED_53 = \"53 Marked\";\r\nexport var MARKED_54 = \"54 - Marked (non-royalty bearing)\";\r\nexport var MARKED_56 = \"56 - Marked (fully royalty bearing)\";\r\nexport var MARKED_59 = \"59 - Marked (publisher royalties only)\";\r\nexport var MARKED_91 = \"91 Marked\";\r\nexport var CLEAN_51 = \"51 Clean\";\r\nexport var CLEAN_54 = \"54 - Clean (non-royalty bearing)\";\r\nexport var CLEAN_56 = \"56 - Clean (fully royalty bearing)\";\r\nexport var CLEAN_59 = \"59 - Clean (publisher royalties only)\";\r\nexport var CLEAN_66 = \"66 Ticket Bundling\";\r\nexport var CLEAN_91 = \"91 Clean\";\r\nexport var MARKED_89 = \"89 Sales Type\";\r\nexport var FG = \"FG\"; //Free Goods Order\r\nexport var BI = \"BI\"; //Billable Order\r\nexport var NT = \"NT\"; //Non Billable Order\r\nexport var TB = \"TB\"; //Ticket Bundling \r\nexport var S89 = \"S89\"; // Sales Type 89\r\n\r\n","import React, { Component } from \"react\";\r\nimport { History, LocationState } from \"History\";\r\nimport {\r\n FormLabel,\r\n Container,\r\n Row,\r\n Col,\r\n Form,\r\n Navbar,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n Alert,\r\n Button,\r\n Card,\r\n CardGroup,\r\n FormControl,\r\n Modal,\r\n Table,\r\n} from \"../../../../node_modules/react-bootstrap\";\r\nimport { FormInputs } from \"../../CustomComponents/FormInput\";\r\nimport { FormInputSearch } from \"../../CustomComponents/FormInputSearch\";\r\nimport { FormSelect } from \"../../CustomComponents/FormSelect\";\r\nimport { FormSelectSearch } from \"../../CustomComponents/FormSelectSearch\";\r\nimport { FormLabelField } from \"../../CustomComponents/FormLabelField\";\r\nimport { CommonController } from \"../../../Controllers/CommonController\";\r\nimport { Variables } from \"../../../Variables/Variables\";\r\nimport \"../../../assets/css/Style.css\";\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { CreateOrderParameter, Istate } from \"../../../Model/CreateOrder\";\r\nimport { CreateOrderController } from \"../../../Controllers/CreateOrderController\";\r\nimport { EditUserController } from \"../../../Controllers/EditUserController\";\r\nimport { FormModal } from \"../../CustomComponents/FormModal\";\r\nimport { FormModalSpinner } from \"../../CustomComponents/FormModalSpinner\";\r\nimport * as BillableScript from \"../../../js/BillableScript.js\";\r\nimport * as TableMultiSelect from \"../../../js/TableMultiSelect.js\";\r\nimport * as TableAllSelect from \"../../../js/TableAllSelect.js\";\r\nimport \"../../../../node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss\";\r\nimport \"../../../../node_modules/@fortawesome/fontawesome-free/scss/solid.scss\";\r\n//import { NetworkInfo } from \"../../../../node_modules/react-native-network-info\";\r\nimport publicIP from \"react-native-public-ip\";\r\nimport { OrderController } from \"../../../Controllers/OrderController\";\r\nimport { truncateSync } from \"fs\";\r\nimport flag from \"../../../assets/img/redflag.gif\";\r\nimport { create } from \"domain\";\r\nimport { alert } from \"react-bootstrap-confirmation\";\r\nimport * as GlobalVar from \"../../../js/GlobalVar.js\";\r\nimport { read, utils, writeFile } from 'xlsx';\r\nimport { QuickProductSearch } from \"../QuickProductSearch/QuickProductSearch\";\r\nimport { ThemeConsumer } from \"react-bootstrap/esm/ThemeProvider\";\r\n\r\n\r\nexport class CreateOrder extends Component {\r\n redBorder: string;\r\n defaultBorder: string;\r\n\r\n constructor(props: CreateOrderParameter) {\r\n super(props);\r\n const userLogin = sessionStorage.getItem(\"userLogin\");\r\n let loggedIn = true;\r\n if (userLogin == null) {\r\n loggedIn = false;\r\n }\r\n //Change Border color Red, if alert triggered in onBlur Event\r\n this.redBorder = \"1px solid #DC3545\";\r\n this.defaultBorder = \"1px solid #E3E3E3\";\r\n\r\n this.state = {\r\n fields: {\r\n uid: sessionStorage.getItem(\"uid\"),\r\n pwd: \"\",\r\n labelId: sessionStorage.getItem(\"label_id\"),\r\n lblSearchContact: \"Name\",\r\n businessunit: \"\",\r\n orderType: \"\",\r\n shipName: \"\",\r\n shipAddress: \"\",\r\n shipPhone: \"\",\r\n searchContact: \"\",\r\n specialIns: \"\",\r\n artist: [],\r\n title: [],\r\n selection: [],\r\n UPC: [],\r\n config: [],\r\n unitsPerSet: [],\r\n rlsDate: [],\r\n qty: [],\r\n reason: \"\",\r\n multipleRowSelect: [],\r\n moratorium: \"\",\r\n productButton: [],\r\n Process_Name: \"\",\r\n ipAddress: \"\",\r\n noProductMatch: \"\",\r\n maxKey: 0,\r\n labelName: \"\",\r\n isOvernight: false,\r\n accountNo: \"\",\r\n bill_to_name: \"\",\r\n bill_to_address: \"\",\r\n bill_to_city_state_zip: \"\",\r\n price: [],\r\n cost: [],\r\n discount: [],\r\n approvalReqd: [],\r\n flag: [],\r\n cleanBI: false,\r\n freightBillingInfo: \"\",\r\n action: \"\",\r\n artistStoreName: [],\r\n tourDate: [],\r\n prodCount: 0,\r\n upcList: \"\",\r\n fileUpload: false,\r\n upcLen : 0,\r\n },\r\n optionfields: {\r\n name: true,\r\n city: false,\r\n company: false,\r\n state: false,\r\n clean: false,\r\n marked: true,\r\n private: true,\r\n public: false,\r\n locatedYes: true,\r\n locatedNo: false,\r\n clean_56: false,\r\n marked_56: false,\r\n clean_59: false,\r\n marked_59: false,\r\n },\r\n selectfields: {\r\n state: \"\",\r\n searchstate: \"\",\r\n recordlabelId: \"\",\r\n recordLabelName: \"\",\r\n personalContactId: \"\",\r\n personalContactName: \"\",\r\n allContactId: \"\",\r\n allContactName: \"\",\r\n editAddrId: \"\",\r\n editAddrName: \"\",\r\n disableAddrId: \"\",\r\n disableAddrName: \"\",\r\n shipping_method: \"\",\r\n label_list: \"\",\r\n expCountry: \"\",\r\n },\r\n userfields: {\r\n bSuperUser: false,\r\n bExecutive: false,\r\n SuperUserRecordlabel: [],\r\n bCleanPrompt: false,\r\n selfapprovalprocess: \"\",\r\n sOrderLabelID: \"\",\r\n order_label_id: \"\",\r\n },\r\n checkfields: { backorder: \"\", prepaid: false },\r\n errors: {\r\n uid: \"\",\r\n pwd: \"\",\r\n recordlabelId: \"\",\r\n personalContactId: \"\",\r\n allContactId: \"\",\r\n reason: \"\",\r\n shipToAddr: \"\",\r\n errmsg: \"\",\r\n accountNo: \"\",\r\n bill_to_name: \"\",\r\n bill_to_address: \"\",\r\n bill_to_city_state_zip: \"\",\r\n },\r\n errMsg: \"\",\r\n resetContactView: false,\r\n loginFailed: 0,\r\n loading: {\r\n loadingOrderComplete: false,\r\n loadingSubmitOrder: false,\r\n loadingSubmitandPrintOrder: false,\r\n loading: false,\r\n loadingSearchContact: false,\r\n },\r\n State: [],\r\n contactfields: {\r\n shipName: \"\",\r\n shipAddress: \"\",\r\n shipPhone: \"\",\r\n searchContact: \"\",\r\n company: \"\",\r\n name: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n phone: \"\",\r\n province: \"\",\r\n postal: \"\",\r\n country: \"\",\r\n contactattentionId: \"\",\r\n attentionId: \"\",\r\n },\r\n PersonalContact: [],\r\n AllContact: [],\r\n Products: [],\r\n ProductsErr: [],\r\n OrderItems: [],\r\n modal: {\r\n modalShow: false,\r\n modalTitle: \"\",\r\n modalBody: false,\r\n modalAddrButton: \"\",\r\n modalAction: \"\",\r\n modalCntlDisabled: false,\r\n modalDisplayAddr: false,\r\n modalAlertShow: false,\r\n modalAlertTitle: \"\",\r\n modalAlertErrorMsg: \"\",\r\n },\r\n modalShow: false,\r\n key: 0,\r\n startKey: true,\r\n orderComplete: false,\r\n loggedIn,\r\n isPrint: false,\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleContactChange = this.handleContactChange.bind(this);\r\n this.handleFormChange = this.handleFormChange.bind(this);\r\n this.handleOptionChange = this.handleOptionChange.bind(this);\r\n this.handleOptionClick = this.handleOptionClick.bind(this);\r\n this.handleCheckChange = this.handleCheckChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleSearchClick = this.handleSearchClick.bind(this);\r\n this.handleModalShow = this.handleModalShow.bind(this);\r\n this.handleModalClose = this.handleModalClose.bind(this);\r\n this.handleModalAlertShow = this.handleModalAlertShow.bind(this);\r\n this.handleModalAlertClose = this.handleModalAlertClose.bind(this);\r\n this.checkAlphaNumericInput = this.checkAlphaNumericInput.bind(this);\r\n this.checkAlphaNumericInputCity =\r\n this.checkAlphaNumericInputCity.bind(this);\r\n this.checkNumericInput = this.checkNumericInput.bind(this);\r\n this.checkNumericInputcheckLengh =\r\n this.checkNumericInputcheckLengh.bind(this);\r\n this.handleOnSubmitAddress = this.handleOnSubmitAddress.bind(this);\r\n this.handleMultipleSelectRow = this.handleMultipleSelectRow.bind(this);\r\n this.handleOnSubmitMultipleSelect =\r\n this.handleOnSubmitMultipleSelect.bind(this);\r\n this.handleOnSubmitAllSelect =\r\n this.handleOnSubmitAllSelect.bind(this);\r\n this.handleOnSubmitOrderComplete =\r\n this.handleOnSubmitOrderComplete.bind(this);\r\n this.handleOnSubmitOrder = this.handleOnSubmitOrder.bind(this);\r\n this.handleOnBlurValidateQty = this.handleOnBlurValidateQty.bind(this);\r\n this.handlePriceChange = this.handlePriceChange.bind(this);\r\n this.ValidatePrice = this.ValidatePrice.bind(this);\r\n this.handleOnBlurValidateDate = this.handleOnBlurValidateDate.bind(this);\r\n this.handleOnBlurValidateString =\r\n this.handleOnBlurValidateString.bind(this);\r\n this.handleImport.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n \r\n \r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let userfields = this.state.userfields;\r\n let optionfields = this.state.optionfields;\r\n let modal = this.state.modal;\r\n modal[\"modalAlertShow\"] = true;\r\n //FG-Free Goods Order, BI-Billable Order and NT-Non Billable Order\r\n fields[\"orderType\"] = this.props.location.state.orderType;\r\n if (this.props.location.state.action === \"copy\") {\r\n fields[\"action\"] = \"copy\";\r\n \r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .getOrderSummary(this.props.location.state.orderId)\r\n .then((resOrderSummary) => {\r\n fields[\"reason\"] = resOrderSummary.Reason;\r\n userfields[\"bCleanPrompt\"] = true;\r\n userfields[\"sOrderLabelID\"] = resOrderSummary.Label_Id;\r\n if (\r\n resOrderSummary.sales_type === GlobalVar.MARKED_54 ||\r\n resOrderSummary.sales_type === GlobalVar.MARKED_91 ||\r\n resOrderSummary.sales_type === GlobalVar.MARKED_53\r\n ) {\r\n optionfields[\"marked\"] = true;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = false;\r\n } else if (\r\n resOrderSummary.sales_type === GlobalVar.CLEAN_54 ||\r\n resOrderSummary.sales_type === GlobalVar.CLEAN_91 ||\r\n resOrderSummary.sales_type === GlobalVar.CLEAN_51\r\n ) {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = true;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = true;\r\n } else if (resOrderSummary.sales_type === GlobalVar.MARKED_56) {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = true;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = false;\r\n } else if (resOrderSummary.sales_type === GlobalVar.CLEAN_56) {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = true;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = true;\r\n } else if (resOrderSummary.sales_type === GlobalVar.MARKED_59) {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = true;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = false;\r\n } else if (resOrderSummary.sales_type === GlobalVar.CLEAN_59) {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = true;\r\n fields[\"cleanBI\"] = true;\r\n }\r\n this.setState({ optionfields });\r\n createOrderController\r\n .getOrderItems(this.props.location.state.orderId)\r\n .then((jsonOrderItems) => {\r\n this.setState({\r\n OrderItems: JSON.parse(JSON.stringify(jsonOrderItems)),\r\n });\r\n this.state.OrderItems.map((prop: any, key) => {\r\n let fields = this.state.fields;\r\n fields[\"maxKey\"] = key;\r\n fields[\"artist\"][key] = prop[\"artist\"];\r\n fields[\"title\"][key] = prop[\"title\"];\r\n fields[\"selection\"][key] = prop[\"selection\"];\r\n fields[\"config\"][key] = prop[\"config\"];\r\n fields[\"qty\"][key] = prop[\"quantity\"];\r\n if (\r\n this.state.fields.orderType === GlobalVar.BI &&\r\n (this.state.optionfields.marked ||\r\n this.state.optionfields.marked_56 ||\r\n this.state.optionfields.marked_59)\r\n ) {\r\n createOrderController\r\n .getCost(prop[\"selection\"])\r\n .then((resCost) => {\r\n fields[\"cost\"][key] = resCost.Cost;\r\n });\r\n } else {\r\n fields[\"cost\"][key] = prop[\"cost\"];\r\n }\r\n fields[\"price\"][key] = String(prop[\"price\"]);\r\n //Billable Order\r\n if (\r\n this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB\r\n ) {\r\n this.dispDiscountPerc(prop[\"price\"], key, fields);\r\n }\r\n if (this.state.fields.orderType === GlobalVar.TB) {\r\n fields[\"artistStoreName\"][key] = prop[\"artistStore\"];\r\n fields[\"tourDate\"][key] =\r\n prop[\"tourDate\"].slice(5, 7) +\r\n \"/\" +\r\n prop[\"tourDate\"].slice(8, 10) +\r\n \"/\" +\r\n prop[\"tourDate\"].slice(0, 4);\r\n }\r\n });\r\n this.set_process_and_clean();\r\n })\r\n .catch((error) => {\r\n });\r\n })\r\n .catch((error) => {\r\n });\r\n } else {\r\n //Not from copy functionality\r\n userfields[\"sOrderLabelID\"] = sessionStorage.getItem(\"user_label_id\");\r\n }\r\n fields[\"searchContact\"] = \"\";\r\n fields[\"businessunit\"] =\r\n sessionStorage.getItem(\"business_unit\") === \"null\" ||\r\n sessionStorage.getItem(\"business_unit\") === \"\"\r\n ? \"\"\r\n : sessionStorage.getItem(\"business_unit\");\r\n selectfields[\"label_list\"] = \"Please Select\";\r\n selectfields[\"recordLabelName\"] = \"Select Your Operating Company\";\r\n selectfields[\"shipping_method\"] = \"Standard Ground\";\r\n //super user begin\r\n userfields[\"bSuperUser\"] =\r\n sessionStorage.getItem(\"is_super_user\") === \"1\" ? true : false;\r\n userfields[\"bExecutive\"] =\r\n sessionStorage.getItem(\"is_executive\") === \"1\" ? true : false;\r\n //66 Ticket Bundling\r\n if (fields[\"orderType\"] === GlobalVar.TB) {\r\n fields[\"cleanBI\"] = true;\r\n userfields[\"bCleanPrompt\"] = true;\r\n optionfields[\"clean\"] = true;\r\n //optionfields['clean'] = true;\r\n }\r\n // Sales Type 89\r\n if (fields[\"orderType\"] === GlobalVar.S89) {\r\n fields[\"cleanBI\"] = true;\r\n userfields[\"bCleanPrompt\"] = true;\r\n optionfields[\"clean\"] = true;\r\n //optionfields['clean'] = true;\r\n }\r\n //super user end\r\n if (\r\n userfields[\"sOrderLabelID\"] === \"CAR\" &&\r\n fields[\"orderType\"] === GlobalVar.NT &&\r\n !userfields[\"bSuperUser\"]\r\n ) {\r\n optionfields[\"clean\"] = true;\r\n optionfields[\"marked\"] = false;\r\n }\r\n \r\n //NT Billable for Accountno\r\n if (fields[\"orderType\"] === GlobalVar.NT) {\r\n fields[\"accountNo\"] = sessionStorage.getItem(\"Account_no\");\r\n }\r\n //Free Goods order for Accountno\r\n if (fields[\"orderType\"] === GlobalVar.FG) {\r\n fields[\"accountNo\"] = sessionStorage.getItem(\"CustomerNumber\");\r\n }\r\n //this.setState({ fields, selectfields, State:JSON.parse(JSON.stringify(jsonState.result)), resetContactView:false });\r\n this.setState({\r\n fields,\r\n selectfields,\r\n resetContactView: false,\r\n userfields,\r\n optionfields,\r\n modal,\r\n });\r\n this.searchResult();\r\n let commonController = new CommonController();\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .selectPersonalContact(\r\n sessionStorage.getItem(\"uid\")!,\r\n sessionStorage.getItem(\"label_id\")!,\r\n fields[\"orderType\"]\r\n )\r\n .then((jsonPersonalContact) => {\r\n this.setState({\r\n PersonalContact: JSON.parse(JSON.stringify(jsonPersonalContact)),\r\n });\r\n modal[\"modalAlertShow\"] = false;\r\n this.setState({ modal });\r\n })\r\n .catch((error) => {\r\n console.error(\r\n \"There was an error loading Personal Contact..., \" + error\r\n );\r\n });\r\n\r\n if (userfields[\"bSuperUser\"]) {\r\n //Super User\r\n commonController\r\n .getAllLabel()\r\n .then((jsonLabel) => {\r\n let superUserRecordlabelList = JSON.parse(\r\n JSON.stringify(\r\n jsonLabel.filter(\r\n (item) =>\r\n item.ownerLabel == \"Yes\" &&\r\n item.id !== sessionStorage.getItem(\"user_label_id\")\r\n )\r\n )\r\n );\r\n let getCurrentRecordlabel = JSON.parse(\r\n JSON.stringify(\r\n jsonLabel.filter(\r\n (item) =>\r\n item.ownerLabel == \"Yes\" &&\r\n item.id == sessionStorage.getItem(\"user_label_id\")\r\n )\r\n )\r\n );\r\n if (getCurrentRecordlabel.length > 0) {\r\n superUserRecordlabelList.unshift({\r\n id: getCurrentRecordlabel[0][\"id\"],\r\n name: getCurrentRecordlabel[0][\"name\"],\r\n ownerLabel: getCurrentRecordlabel[0][\"ownerLabel\"],\r\n });\r\n }\r\n \r\n userfields[\"SuperUserRecordlabel\"] = superUserRecordlabelList;\r\n this.setState({\r\n userfields,\r\n });\r\n /*let basketballPlayers = jsonLabel.filter(function (student) { \r\n return student.id === \"UMD\"; \r\n }).map(function (student) { \r\n return student.name; \r\n }) */\r\n })\r\n .catch((error) => {\r\n console.error(\r\n \"There was an error loading operating company..., \" + error\r\n );\r\n });\r\n } else if (!userfields[\"bSuperUser\"] && !userfields[\"bExecutive\"]) {\r\n //display Label description if Regular user.\r\n commonController\r\n .getLabel(fields[\"labelId\"])\r\n .then((resLabel) => {\r\n fields[\"labelName\"] = resLabel.Name;\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading getLabel..., \" + error);\r\n });\r\n }\r\n if (!userfields[\"bSuperUser\"]) {\r\n //Exeutive and Regular User\r\n this.set_process_and_clean();\r\n }\r\n commonController\r\n .getApprovalProcess(sessionStorage.getItem(\"process_name\")!)\r\n .then((resApprovalProcess) => {\r\n //if is_Overnight set as true, to enable dropdown else display only Standard Ground\r\n if (resApprovalProcess.success) {\r\n fields[\"isOvernight\"] = resApprovalProcess.Is_Overnight;\r\n this.setState({ fields });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error getApprovalProcess IsOverNight\");\r\n });\r\n\r\n createOrderController\r\n .getStates()\r\n .then((jsonState) => {\r\n this.setState({\r\n State: JSON.parse(JSON.stringify(jsonState)),\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading States..., \" + error);\r\n });\r\n // Get Local IP\r\n publicIP()\r\n .then((ip) => {\r\n let fields = this.state.fields;\r\n fields[\"ipAddress\"] = ip;\r\n this.setState({ fields });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading IP Address..., \" + error);\r\n // 'Unable to get IP address.'\r\n });\r\n }\r\n\r\n handleAddressModalShow = (action, e: any) => {\r\n let modal = this.state.modal;\r\n let selectfields = this.state.selectfields;\r\n e.persist();\r\n e.nativeEvent.stopImmediatePropagation();\r\n e.stopPropagation();\r\n //A-add, E-Edit, D-Disable\r\n if (action === \"A\") {\r\n this.clearError();\r\n this.clearfields();\r\n modal[\"modalAddrButton\"] = \"Add New Contact\";\r\n modal[\"modalCntlDisabled\"] = false;\r\n modal[\"modalDisplayAddr\"] = true;\r\n } else if (action === \"E\") {\r\n this.clearError();\r\n this.clearfields();\r\n selectfields[\"editAddrId\"] = \"0\";\r\n this.setState({ selectfields });\r\n modal[\"modalAddrButton\"] = \"Edit Contact\";\r\n modal[\"modalCntlDisabled\"] = false;\r\n modal[\"modalDisplayAddr\"] = false;\r\n } else {\r\n this.clearError();\r\n this.clearfields();\r\n selectfields[\"editAddrId\"] = \"0\";\r\n this.setState({ selectfields });\r\n modal[\"modalAddrButton\"] = \"Disable Contact\";\r\n modal[\"modalCntlDisabled\"] = true;\r\n modal[\"modalDisplayAddr\"] = false;\r\n }\r\n modal[\"modalAction\"] = action;\r\n modal[\"modalBody\"] = true;\r\n modal[\"modalShow\"] = true;\r\n modal[\"modalTitle\"] = \"Contact\";\r\n this.setState({ modal });\r\n };\r\n searchProducts = (row, artist, title, selection, upc, labelId) => {\r\n if (artist + title + selection + upc == \"\") {\r\n return;\r\n }\r\n\r\n let fields = this.state.fields;\r\n let userfields = this.state.userfields;\r\n let loading = this.state.loading;\r\n let sWhere: string = \"\";\r\n\r\n fields[\"fileUpload\"] = false;\r\n //if (e.currentTarget.name === \"search\"){\r\n fields[\"productButton\"][row] = \"wait.....\";\r\n let noProductMatchMsg = \"\";\r\n if (artist !== \"\") {\r\n noProductMatchMsg = noProductMatchMsg + 'Artist: \"' + artist + '\"';\r\n }\r\n if (title !== \"\") {\r\n noProductMatchMsg = noProductMatchMsg + ' Title: \"' + title + '\"';\r\n }\r\n if (selection !== \"\") {\r\n noProductMatchMsg = noProductMatchMsg + ' Selection: \"' + selection + '\"';\r\n }\r\n if (upc !== \"\") {\r\n noProductMatchMsg = noProductMatchMsg + ' UPC: \"' + upc + '\"';\r\n }\r\n\r\n fields[\"noProductMatch\"] = noProductMatchMsg; //'Artist: '+artist+', Title: '+title+', Selection: '+selection+' ,UPC: '+upc;\r\n //get maximum selected row\r\n //if (row > fields['maxKey'])\r\n //fields['maxKey'] = row;\r\n this.setState({ fields });\r\n //}\r\n //alert(\"MaxKey: \"+ row)\r\n if (artist !== \"\") {\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + \"Artist LIKE '%\" + artist + \"%'\";\r\n }\r\n\r\n if (title !== \"\") {\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + \"Title LIKE '%\" + title + \"%'\";\r\n }\r\n\r\n if (selection !== \"\") {\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + \"selection_id LIKE '%\" + selection + \"%'\";\r\n }\r\n\r\n if (upc !== \"\") {\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + \"UPC LIKE '%\" + upc + \"%'\";\r\n }\r\n\r\n var data = {};\r\n data = {\r\n recordLabelId: labelId,\r\n };\r\n\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .getReportingCo(data)\r\n .then((response) => {\r\n let sLabels = response.sLabels;\r\n\r\n if (sLabels !== \"\") {\r\n if (\r\n labelId === \"CN\" ||\r\n labelId === \"DIS\" ||\r\n labelId === \"AST\" ||\r\n labelId === \"HBN\" ||\r\n labelId === \"CAP\" ||\r\n labelId === \"HAR\" ||\r\n labelId === \"VIR\" ||\r\n labelId === \"WEL\" ||\r\n labelId === \"ATO\"\r\n ) {\r\n sLabels = \"(reportingunit in (\" + sLabels + \"))\";\r\n } else {\r\n sLabels = \"(RecordLabel_ID in ('\" + labelId + \"',\" + sLabels + \"))\";\r\n }\r\n } else {\r\n sLabels = \"(RecordLabel_ID='\" + labelId + \"')\";\r\n }\r\n //Super user and Regular User, not for executive user\r\n if (!userfields[\"bExecutive\"]) {\r\n //if UME user, force catalog product search\r\n if (sessionStorage.getItem(\"user_label_id\") === \"SPM\") {\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + \" (musicline = '1520' or \" + sLabels + \")\";\r\n } else if (\r\n sessionStorage.getItem(\"user_label_id\") === \"UMD\" &&\r\n userfields[\"bSuperUser\"]\r\n ) {\r\n //UMVD Super user\r\n if (labelId === \"SPM\") {\r\n //force catalog product search for UME record label\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere =\r\n sWhere + \" (musicline = '1520' or RecordLabel_ID in ('SPM'))\";\r\n }\r\n //****Comments the code not displaying option 'catalog' and 'label' for super user****\r\n ////As per Business request, catalog relevant details has been ignored.\r\n //elseif (sSearchType === \"catalog\"){ //'force label product search for selected record label\r\n // sWhere = sWhere + \" musicline = '1520' and \" + sLabels\r\n //}\r\n //else{\r\n // sWhere = sWhere + \" musicline <> '1520' and \" + sLabels\r\n //}\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + sLabels;\r\n } else if (\r\n sessionStorage.getItem(\"user_label_id\") !== \"UMD\" &&\r\n userfields[\"bSuperUser\"]\r\n ) {\r\n //Super user who is not UMVD\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n if (labelId === \"SPM\") {\r\n //force catalog product search for UME record label\r\n sWhere =\r\n sWhere + \" (musicline = '1520' or RecordLabel_ID in ('SPM'))\";\r\n } else {\r\n //force catalog product search for selected record label\r\n sWhere = sWhere + sLabels;\r\n }\r\n } else {\r\n //force catalog product search for users assigned record label\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + sLabels;\r\n }\r\n }\r\n\r\n //'Filter results for Buena Vista Music.\r\n if (sessionStorage.getItem(\"user_label_id\") === \"BVM\") {\r\n sWhere = sWhere + \" AND RecordLabel_ID = 'BVM'\";\r\n } else {\r\n sWhere = sWhere + \" AND RecordLabel_ID <> 'BVM'\";\r\n }\r\n data = {\r\n sWhere: sWhere,\r\n };\r\n //createOrderController = new CreateOrderController();\r\n createOrderController\r\n .getProductSearch(data)\r\n .then((jsonAllProducts) => {\r\n // if(sessionStorage.getItem(\"multiple_select\") === \"1\"){\r\n // TableMultiSelect.clearAllMultiArr();\r\n //}\r\n\r\n //console.log ('Products: ',JSON.parse(JSON.stringify(jsonAllProducts)))\r\n this.setState({\r\n Products: JSON.parse(JSON.stringify(jsonAllProducts)),\r\n });\r\n\r\n this.setState({ key: row });\r\n let modal = this.state.modal;\r\n modal[\"modalShow\"] = true;\r\n modal[\"modalTitle\"] = \"Select Product\";\r\n modal[\"modalBody\"] = false;\r\n fields[\"productButton\"][row] = \"Search\";\r\n loading[\"loading\"] = false;\r\n this.setState({ modal, fields, loading });\r\n })\r\n .catch((error) => {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n console.error(\"There was an error in fetch products..., \" + error);\r\n });\r\n })\r\n .catch((error) => {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n console.error(\"There was an error in fetch products..., \" + error);\r\n });\r\n };\r\n\r\n handleModalShow = (i, e: any) => {\r\n \r\n //alert(e.currentTarget.name + \" : \" +i)\r\n let fields = this.state.fields;\r\n let userfields = this.state.userfields;\r\n let selectfields = this.state.selectfields;\r\n\r\n //Clearing the current index qty value\r\n if (fields[\"qty\"][i] !== undefined || fields[\"qty\"][i] !== \"\") {\r\n fields[\"qty\"][i] = \"\";\r\n this.setState({ fields });\r\n }\r\n\r\n if (fields[\"artist\"][i] === undefined) {\r\n fields[\"artist\"][i] = \"\";\r\n this.setState({ fields });\r\n }\r\n if (fields[\"title\"][i] === undefined) {\r\n fields[\"title\"][i] = \"\";\r\n this.setState({ fields });\r\n }\r\n if (fields[\"selection\"][i] === undefined) {\r\n fields[\"selection\"][i] = \"\";\r\n this.setState({ fields });\r\n }\r\n if (fields[\"UPC\"][i] === undefined) {\r\n fields[\"UPC\"][i] = \"\";\r\n this.setState({ fields });\r\n }\r\n\r\n if (\r\n userfields[\"bSuperUser\"] &&\r\n selectfields[\"label_list\"] == \"Please Select\"\r\n ) {\r\n alert(\"You may not search for product until you choose a label.\");\r\n return false;\r\n }\r\n\r\n if (sessionStorage.getItem(\"multiple_select\") === \"1\") {\r\n TableMultiSelect.clearAllMultiArr();\r\n }\r\n var prevTREmptyEntry = \"N\";\r\n for (var d = i - 1; d >= 0; d--) {\r\n if (fields[\"productButton\"][d] === \"Search\") {\r\n alert(\"Please select the product for empty row first\");\r\n prevTREmptyEntry = \"Y\";\r\n //fields['productButton'][d] = \"Search\";\r\n \r\n fields[\"productButton\"][i] = \"Search\";\r\n fields[\"artist\"][i] = \"\";\r\n fields[\"title\"][i] = \"\";\r\n fields[\"selection\"][i] = \"\";\r\n fields[\"UPC\"][i] = \"\";\r\n this.setState({ fields });\r\n return false;\r\n break;\r\n }\r\n }\r\n\r\n //Do not show this message for a UMVD super user ordering UME product\r\n //if (!((selectfields['label_list'] === \"SPM\" && sessionStorage.getItem(\"user_label_id\") === \"UMD\" && fields['bSuperUser']) || fields['bExecutive'])) {\r\n // alert (\"You may not search for product until you choose 'Label Product'\");\r\n // return false;\r\n //}\r\n\r\n if (\r\n fields[\"artist\"][i] === undefined &&\r\n fields[\"title\"][i] === undefined &&\r\n fields[\"selection\"][i] === undefined &&\r\n fields[\"UPC\"][i] === undefined\r\n ) {\r\n alert(\"Please enter a title, artist, selection, or UPC.\");\r\n return false;\r\n }\r\n if (\r\n fields[\"artist\"][i] === \"\" &&\r\n fields[\"title\"][i] === \"\" &&\r\n fields[\"selection\"][i] === \"\" &&\r\n fields[\"UPC\"][i] === \"\"\r\n ) {\r\n alert(\"Please enter a title, artist, selection, or UPC.\");\r\n return false;\r\n }\r\n\r\n //var sInvalidCharList=/[*!@#$%^&()_+=-\\;/\\?,\\']/g;\r\n var regexSpl = \"*!@#$%^&()_+=-][;/?,'\";\r\n //var sInvalidCharList = /[!`@#$%^&+\\=*?_~]/g;\r\n var sInvalidCharList = /[$-/:-?{-~@#!\"^_`\\[\\]]/g;\r\n if (\r\n sInvalidCharList.test(fields[\"artist\"][i]) ||\r\n sInvalidCharList.test(fields[\"title\"][i]) ||\r\n sInvalidCharList.test(fields[\"selection\"][i]) ||\r\n sInvalidCharList.test(fields[\"UPC\"][i])\r\n ) {\r\n alert(\r\n \"Please do not use special characters such as \" +\r\n regexSpl +\r\n \" . Use letter and numbers only please.\"\r\n );\r\n return false;\r\n }\r\n\r\n if (prevTREmptyEntry === \"N\") {\r\n var data = {};\r\n var flag = true;\r\n if (\r\n e.currentTarget.name === \"search\" &&\r\n (fields[\"artist\"][i] !== \"\" ||\r\n fields[\"title\"][i] !== \"\" ||\r\n fields[\"selection\"][i] !== \"\" ||\r\n fields[\"UPC\"][i] !== \"\")\r\n ) {\r\n var artist =\r\n fields[\"artist\"][i] === undefined ? \"\" : fields[\"artist\"][i];\r\n var title = fields[\"title\"][i] === undefined ? \"\" : fields[\"title\"][i];\r\n var selection =\r\n fields[\"selection\"][i] === undefined ? \"\" : fields[\"selection\"][i];\r\n var upc = fields[\"UPC\"][i] === undefined ? \"\" : fields[\"UPC\"][i];\r\n\r\n this.searchProducts(\r\n i,\r\n artist,\r\n title,\r\n selection,\r\n upc,\r\n userfields[\"sOrderLabelID\"]\r\n );\r\n }\r\n }\r\n };\r\n set_process_and_clean = () => {\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let userfields = this.state.userfields;\r\n var uid = sessionStorage.getItem(\"uid\")!;\r\n let commonController = new CommonController();\r\n if (this.state.fields.orderType !== GlobalVar.TB) {\r\n userfields[\"bCleanPrompt\"] = false;\r\n }\r\n\r\n commonController\r\n .getSelfApprovers(uid)\r\n .then((resSelfApprovers) => {\r\n //Self Approval process\r\n userfields[\"selfapprovalprocess\"] = resSelfApprovers.success\r\n ? resSelfApprovers.process_name\r\n : \"\";\r\n this.setState({ userfields });\r\n\r\n //Super user calling spGetProcessNameforSuperUser\r\n var data = {};\r\n let createOrderController = new CreateOrderController();\r\n if (userfields[\"bSuperUser\"]) {\r\n data = {\r\n uid: uid,\r\n user_label_id: sessionStorage.getItem(\"user_label_id\"),\r\n user_department: sessionStorage.getItem(\"user_department\"),\r\n label_list:\r\n this.state.fields.action === \"copy\"\r\n ? userfields[\"sOrderLabelID\"]\r\n : selectfields[\"label_list\"],\r\n order_label_id: userfields[\"sOrderLabelID\"],\r\n //bNoCatalog : 1,\r\n order_type: fields[\"orderType\"], //FG-Free Goods Order, BI-Billable Order and NT-Non Billable Order\r\n };\r\n createOrderController\r\n .getProcessNameforSuperUser(data)\r\n .then((response) => {\r\n var result =\r\n response.process_name === null\r\n ? \"\"\r\n : response.process_name.trim();\r\n if (result !== \"\") {\r\n //Self Approval process\r\n var sProcessName =\r\n userfields[\"selfapprovalprocess\"] === \"\"\r\n ? result\r\n : userfields[\"selfapprovalprocess\"];\r\n fields[\"Process_Name\"] = sProcessName;\r\n this.setState({ fields });\r\n commonController\r\n .getApprovalProcess(sProcessName)\r\n .then((resApprovalProcess) => {\r\n //if the clean flag is set, we create the prompt for ordering clean product\r\n if (this.state.fields.orderType !== GlobalVar.TB) {\r\n userfields[\"bCleanPrompt\"] = resApprovalProcess.Is_Clean\r\n ? true\r\n : false;\r\n }\r\n errors[\"errmsg\"] = \"\";\r\n this.setState({ userfields, errors });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error getApprovalProcess\");\r\n });\r\n } else {\r\n commonController\r\n .getLabel(userfields[\"sOrderLabelID\"])\r\n .then((resLabel) => {\r\n errors[\"errmsg\"] =\r\n \"Approval process does not exist for ordering from this label: \" +\r\n resLabel.Name;\r\n this.setState({ errors });\r\n \r\n })\r\n .catch((error) => {\r\n console.error(\r\n \"There was an error loading getLabel..., \" + error\r\n );\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error getProcessNameforSuperUser\");\r\n });\r\n } else {\r\n data = {\r\n uid: uid,\r\n order_type: fields[\"orderType\"], //FG-Free Goods Order, BI-Billable Order and NT-Non Billable Order\r\n };\r\n createOrderController\r\n .getProcessNameforRegAndExeUser(data)\r\n .then((response) => {\r\n var result =\r\n response.process_name === null\r\n ? \"\"\r\n : response.process_name.trim();\r\n if (result !== \"\") {\r\n //Self Approval process\r\n let sProcessName =\r\n userfields[\"selfapprovalprocess\"] === \"\"\r\n ? result\r\n : userfields[\"selfapprovalprocess\"];\r\n fields[\"Process_Name\"] = sProcessName;\r\n this.setState({ fields });\r\n commonController\r\n .getApprovalProcess(sProcessName)\r\n .then((resApprovalProcess) => {\r\n \r\n //if the clean flag is set, we create the prompt for ordering clean product\r\n if (this.state.fields.orderType !== GlobalVar.TB) {\r\n userfields[\"bCleanPrompt\"] = resApprovalProcess.Is_Clean\r\n ? true\r\n : false;\r\n }\r\n errors[\"errmsg\"] = \"\";\r\n this.setState({ userfields, errors });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error getApprovalProcess\");\r\n });\r\n } else {\r\n commonController\r\n .getLabel(userfields[\"sOrderLabelID\"])\r\n .then((resLabel) => {\r\n errors[\"errmsg\"] =\r\n \"Approval process does not exist for ordering from this label: \" +\r\n resLabel.Name;\r\n this.setState({ errors });\r\n })\r\n .catch((error) => {\r\n console.error(\r\n \"There was an error loading getLabel..., \" + error\r\n );\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\r\n \"There was an error getProcessNameforRegAndExeUser\"\r\n );\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error getSelfApprovers\");\r\n });\r\n };\r\n handleModalClose = (e: any) => {\r\n let modal = this.state.modal;\r\n let loading = this.state.loading;\r\n modal[\"modalShow\"] = false;\r\n loading[\"loading\"] = false;\r\n this.setState({ modal, loading });\r\n };\r\n handleDelete = (key, e: any) => {\r\n \r\n let fields = this.state.fields;\r\n fields[\"artist\"][key] = \"\";\r\n fields[\"title\"][key] = \"\";\r\n fields[\"selection\"][key] = \"\";\r\n fields[\"UPC\"][key] = \"\";\r\n fields[\"config\"][key] = \"\";\r\n fields[\"unitsPerSet\"][key] = \"\";\r\n fields[\"rlsDate\"][key] = \"\";\r\n fields[\"qty\"][key] = \"\";\r\n fields[\"productButton\"][key] = \"Search\";\r\n if (fields[\"orderType\"] === GlobalVar.BI) {\r\n fields[\"price\"][key] = \"\";\r\n fields[\"cost\"][key] = \"\";\r\n fields[\"discount\"][key] = \"\";\r\n fields[\"flag\"][key] = false;\r\n } else if (fields[\"orderType\"] === GlobalVar.TB) {\r\n fields[\"price\"][key] = \"\";\r\n fields[\"cost\"][key] = \"\";\r\n fields[\"discount\"][key] = \"\";\r\n fields[\"artistStoreName\"][key] = \"\";\r\n fields[\"tourDate\"][key] = \"\";\r\n fields[\"flag\"][key] = false;\r\n }\r\n //finding revers maximum delete row.\r\n if (key === fields[\"maxKey\"]) {\r\n for (var d = key - 1; d >= 0; d--) {\r\n if (fields[\"productButton\"][d] === \"Delete\") {\r\n fields[\"maxKey\"] = d;\r\n break;\r\n }\r\n }\r\n }\r\n fields[\"prodCount\"] = fields[\"prodCount\"] - 1;\r\n this.setState({\r\n fields,\r\n });\r\n };\r\n\r\n handleSearchClick = (e: any) => {\r\n let selectfields = this.state.selectfields;\r\n let loading = this.state.loading;\r\n let value = this.state.fields.searchContact;\r\n loading[\"loadingSearchContact\"] = true;\r\n this.setState({ AllContact: [], loading });\r\n if (this.state.fields.lblSearchContact === \"State\") {\r\n value = this.state.selectfields.searchstate.split(\"-\")[0].trim();\r\n }\r\n //if (e.currentTarget.name === 'searchstate'){\r\n //selectfields['searchstate'] = \"Select A State\";\r\n // }\r\n\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .selectAllContact(\r\n this.state.fields.lblSearchContact,\r\n value,\r\n sessionStorage.getItem(\"uid\")!,\r\n sessionStorage.getItem(\"label_id\")!\r\n )\r\n .then((jsonAllContact) => {\r\n loading[\"loadingSearchContact\"] = false;\r\n this.setState({\r\n AllContact: JSON.parse(JSON.stringify(jsonAllContact)),\r\n loading,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\r\n \"There was an error loading operating company..., \" + error\r\n );\r\n });\r\n this.setState({ selectfields, resetContactView: true });\r\n };\r\n\r\n handleChange = (e: any) => {\r\n let fields = this.state.fields;\r\n if (e.currentTarget.value.trim().length > 0) {\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n } else {\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n }\r\n this.setState({ fields });\r\n };\r\n handleContactChange = (e: any) => {\r\n let contactfields = this.state.contactfields;\r\n if (e.currentTarget.value.trim().length > 0) {\r\n contactfields[e.currentTarget.name] = e.currentTarget.value;\r\n } else {\r\n contactfields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n }\r\n this.setState({ contactfields });\r\n };\r\n\r\n handleFormChange = (i, e: any) => {\r\n let fields = this.state.fields;\r\n if (this.state.fields.action === \"copy\") {\r\n fields[e.currentTarget.name][i] = e.currentTarget.value;\r\n }\r\n if (fields[\"productButton\"][i] === \"Search\") {\r\n if (e.currentTarget.value.trim().length > 0) {\r\n fields[e.currentTarget.name][i] = e.currentTarget.value;\r\n } else {\r\n fields[e.currentTarget.name][i] = e.currentTarget.value.trim();\r\n }\r\n //fields[e.currentTarget.name][i] = e.currentTarget.value;\r\n if (e.currentTarget.name === \"qty\") {\r\n if (fields[\"qty\"][i] === undefined) {\r\n fields[\"qty\"][i] = \"\";\r\n //this.setState({ fields });\r\n }\r\n if (fields[\"qty\"][i] !== \"\") {\r\n //clear index qty if no search begin\r\n fields[e.currentTarget.name][i] = \"\";\r\n alert(\"Please search product first, before entering Qty\");\r\n }\r\n }\r\n if (e.currentTarget.name === \"price\") {\r\n if (fields[\"price\"][i] === undefined) {\r\n fields[\"price\"][i] = \"\";\r\n //this.setState({ fields });\r\n }\r\n if (fields[\"price\"][i] !== \"\") {\r\n //clear index qty if no search begin\r\n fields[\"price\"][i] = \"\";\r\n alert(\"Please search product first, before entering Price\");\r\n }\r\n }\r\n if (e.currentTarget.name === \"artistStoreName\") {\r\n if (fields[\"artistStoreName\"][i] === undefined) {\r\n fields[\"artistStoreName\"][i] = \"\";\r\n //this.setState({ fields });\r\n }\r\n if (fields[\"artistStoreName\"][i] !== \"\") {\r\n //clear index qty if no search begin\r\n fields[\"artistStoreName\"][i] = \"\";\r\n alert(\r\n \"Please search product first, before entering Artist Store Name\"\r\n );\r\n }\r\n }\r\n if (e.currentTarget.name === \"tourDate\") {\r\n if (fields[\"tourDate\"][i] === undefined) {\r\n fields[\"tourDate\"][i] = \"\";\r\n //this.setState({ fields });\r\n }\r\n if (fields[\"tourDate\"][i] !== \"\") {\r\n //clear index qty if no search begin\r\n fields[\"tourDate\"][i] = \"\";\r\n alert(\"Please search product first, before entering Tour Date\");\r\n }\r\n }\r\n }\r\n if (fields[\"productButton\"][i] === \"Delete\") {\r\n if (e.currentTarget.name === \"qty\") {\r\n this.checkNumericInputSearchProduct(i, e);\r\n } else {\r\n if (e.currentTarget.value.trim().length > 0) {\r\n if (e.currentTarget.name === \"artistStoreName\") {\r\n fields[\"artistStoreName\"][i] = e.currentTarget.value;\r\n } else if (e.currentTarget.name === \"tourDate\") {\r\n fields[\"tourDate\"][i] = e.currentTarget.value;\r\n } else if (e.currentTarget.name === \"price\") {\r\n fields[\"price\"][i] = e.currentTarget.value;\r\n } else {\r\n fields[e.currentTarget.name][i] = e.currentTarget.value;\r\n }\r\n } else {\r\n fields[e.currentTarget.name][i] = e.currentTarget.value.trim();\r\n }\r\n //fields[e.currentTarget.name][i] = e.currentTarget.value;\r\n }\r\n }\r\n this.setState({ fields });\r\n };\r\n\r\n handleSelectChange = (e: any) => {\r\n let fields = this.state.fields;\r\n let userfields = this.state.userfields;\r\n let selectfields = this.state.selectfields;\r\n let optionfields = this.state.optionfields;\r\n let contactfields = this.state.contactfields;\r\n let errors = this.state.errors;\r\n let modal = this.state.modal;\r\n let currentTargetName = e.currentTarget.name;\r\n if (currentTargetName === \"personalContactId\") {\r\n selectfields[\"personalContactName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n var selectedText =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text.split(\r\n \"...\"\r\n );\r\n var selectedValue =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value.split(\r\n \"~~\"\r\n );\r\n if (\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value === \"0\"\r\n ) {\r\n contactfields[\"shipName\"] = \"\";\r\n contactfields[\"shipAddress\"] = \"\";\r\n contactfields[\"shipPhone\"] = \"\";\r\n if (fields[\"orderType\"] === GlobalVar.TB) {\r\n fields[\"accountNo\"] = \"\";\r\n fields[\"bill_to_name\"] = \"\";\r\n fields[\"bill_to_address\"] = \"\";\r\n fields[\"bill_to_city_state_zip\"] = \"\";\r\n }\r\n } else {\r\n contactfields[\"attentionId\"] = selectedValue[0];\r\n contactfields[\"shipName\"] = selectedText[0];\r\n contactfields[\"shipAddress\"] =\r\n selectedValue[1] +\r\n \", \" +\r\n selectedValue[2] +\r\n \", \" +\r\n selectedText[2] +\r\n \", \" +\r\n selectedText[3] +\r\n \", \" +\r\n selectedValue[3];\r\n contactfields[\"shipPhone\"] = selectedValue[4];\r\n selectfields[\"expCountry\"] = selectedValue[6];\r\n if (\r\n selectfields[\"expCountry\"] === \"USA\" ||\r\n selectfields[\"expCountry\"] === \"US\"\r\n ) {\r\n fields[\"specialIns\"] = \"\";\r\n } else {\r\n fields[\"specialIns\"] = \"Export\";\r\n }\r\n errors[\"shipToAddr\"] = \"\";\r\n if (\r\n fields[\"orderType\"] === GlobalVar.TB ||\r\n fields[\"orderType\"] === GlobalVar.S89\r\n ) {\r\n fields[\"accountNo\"] = selectedValue[5]; //Display Account_number for Ticket bundling users.\r\n fields[\"bill_to_name\"] = selectedValue[7];\r\n fields[\"bill_to_address\"] = selectedValue[8];\r\n fields[\"bill_to_city_state_zip\"] = selectedValue[9];\r\n }\r\n }\r\n } else if (currentTargetName === \"allContactId\") {\r\n if (\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text ===\r\n \"Select All Contact\"\r\n ) {\r\n contactfields[\"shipName\"] = \"\";\r\n contactfields[\"shipAddress\"] = \"\";\r\n contactfields[\"shipPhone\"] = \"\";\r\n return false;\r\n }\r\n selectfields[\"allContactName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n var selectedText =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text.split(\r\n \"...\"\r\n );\r\n var selectedValue =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value.split(\r\n \"~~\"\r\n );\r\n contactfields[\"attentionId\"] = selectedValue[0];\r\n contactfields[\"shipName\"] = selectedText[0];\r\n contactfields[\"shipAddress\"] =\r\n selectedValue[1] +\r\n \", \" +\r\n selectedValue[2] +\r\n \", \" +\r\n selectedText[2] +\r\n \", \" +\r\n selectedText[3] +\r\n \", \" +\r\n selectedValue[3];\r\n contactfields[\"shipPhone\"] = selectedValue[4];\r\n selectfields[\"searchstate\"] = \"Select A State\";\r\n fields[\"lblSearchContact\"] = \"Name\";\r\n fields[\"searchContact\"] = \"\";\r\n optionfields[\"name\"] = true;\r\n optionfields[\"city\"] = false;\r\n optionfields[\"company\"] = false;\r\n optionfields[\"searchstate\"] = false;\r\n selectfields[\"personalContactId\"] = \"\";\r\n errors[\"shipToAddr\"] = \"\";\r\n selectfields[\"expCountry\"] = selectedValue[5];\r\n\r\n if (\r\n selectfields[\"expCountry\"] === \"USA\" ||\r\n selectfields[\"expCountry\"] === \"US\"\r\n ) {\r\n fields[\"specialIns\"] = \"\";\r\n } else {\r\n fields[\"specialIns\"] = \"Export\";\r\n }\r\n } else if (currentTargetName === \"editAddrId\") {\r\n if (\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text !==\r\n \"Select Contact To Edit\"\r\n ) {\r\n modal[\"modalDisplayAddr\"] = true;\r\n this.clearError();\r\n selectfields[\"editAddrName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n var selectedText = e.currentTarget.options[\r\n e.currentTarget.selectedIndex\r\n ].text.split(\".......................................\");\r\n var selectedValue =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value.split(\r\n \"~~\"\r\n );\r\n contactfields[\"company\"] = selectedText[1];\r\n contactfields[\"name\"] = selectedText[0];\r\n contactfields[\"address1\"] = selectedValue[1];\r\n contactfields[\"address2\"] = selectedValue[2];\r\n contactfields[\"city\"] = selectedValue[3];\r\n contactfields[\"zip\"] = selectedValue[5].replace(\".\", \"\");\r\n contactfields[\"phone\"] = selectedValue[6];\r\n contactfields[\"contactattentionId\"] = selectedValue[0];\r\n if (selectedValue[7] === \"C\") {\r\n //C=Private, P=Public\r\n optionfields[\"private\"] = true;\r\n optionfields[\"public\"] = false;\r\n } else {\r\n optionfields[\"private\"] = false;\r\n optionfields[\"public\"] = true;\r\n }\r\n if (selectedValue[8] === \"1\" || selectedValue[8] === \"true\") {\r\n //IsContactUS => 1=Yes, 0=No\r\n selectfields[\"state\"] = selectedValue[4];\r\n contactfields[\"zip\"] = selectedValue[5].replace(\".\", \"\");\r\n optionfields[\"locatedYes\"] = true;\r\n optionfields[\"locatedNo\"] = false;\r\n } else {\r\n contactfields[\"province\"] = selectedValue[4];\r\n contactfields[\"postal\"] = selectedValue[5].replace(\".\", \"\");\r\n contactfields[\"country\"] = selectedValue[9];\r\n optionfields[\"locatedYes\"] = false;\r\n optionfields[\"locatedNo\"] = true;\r\n }\r\n }\r\n } else if (currentTargetName === \"disableAddrId\") {\r\n if (\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text !==\r\n \"Select Contact To Disable\"\r\n ) {\r\n modal[\"modalDisplayAddr\"] = true;\r\n this.clearError();\r\n selectfields[\"disableAddrName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n var selectedText = e.currentTarget.options[\r\n e.currentTarget.selectedIndex\r\n ].text.split(\".......................................\");\r\n var selectedValue =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value.split(\r\n \"~~\"\r\n );\r\n contactfields[\"company\"] = selectedText[1];\r\n contactfields[\"name\"] = selectedText[0];\r\n contactfields[\"address1\"] = selectedValue[1];\r\n contactfields[\"address2\"] = selectedValue[2];\r\n contactfields[\"city\"] = selectedValue[3];\r\n contactfields[\"phone\"] = selectedValue[6];\r\n contactfields[\"contactattentionId\"] = selectedValue[0];\r\n if (selectedValue[7] === \"C\") {\r\n //C=Private, P=Public\r\n optionfields[\"private\"] = true;\r\n optionfields[\"public\"] = false;\r\n } else {\r\n optionfields[\"private\"] = false;\r\n optionfields[\"public\"] = true;\r\n }\r\n if (selectedValue[8] === \"1\" || selectedValue[8]) {\r\n //IsContactUS => 1=Yes, 0=No\r\n selectfields[\"state\"] = selectedValue[4];\r\n contactfields[\"zip\"] = selectedValue[5].replace(\".\", \"\");\r\n optionfields[\"locatedYes\"] = true;\r\n optionfields[\"locatedNo\"] = false;\r\n } else {\r\n contactfields[\"province\"] = selectedValue[4];\r\n contactfields[\"postal\"] = selectedValue[5].replace(\".\", \"\");\r\n contactfields[\"country\"] = selectedValue[9];\r\n optionfields[\"locatedYes\"] = false;\r\n optionfields[\"locatedNo\"] = true;\r\n }\r\n }\r\n } else if (currentTargetName === \"label_list\") {\r\n //Super User\r\n\r\n if (fields[\"productButton\"][0] === \"Delete\" && userfields[\"bSuperUser\"]) {\r\n if (window.confirm(\"Do you want to change the label ?\") == true) {\r\n this.clearAllProductOrder();\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n //fields['labelId'] = e.currentTarget.value;\r\n userfields[\"sOrderLabelID\"] = e.currentTarget.value;\r\n selectfields[\"label_list\"] = e.currentTarget.value;\r\n let errors = this.state.errors;\r\n errors[\"errmsg\"] = \"\";\r\n //By default choose marked option while selecting label.\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n if (\r\n this.state.fields.orderType === GlobalVar.TB ||\r\n this.state.fields.orderType === GlobalVar.S89\r\n ) {\r\n //Ticket Bundling: enable option 66 Ticket Bundling and display discount 15% in product order\r\n optionfields[\"clean\"] = true;\r\n optionfields[\"marked\"] = false;\r\n } else {\r\n optionfields[\"marked\"] = true;\r\n optionfields[\"clean\"] = false;\r\n }\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n this.setState({ userfields, selectfields, errors, optionfields });\r\n\r\n if (e.currentTarget.value !== \"Please Select\") {\r\n if (userfields[\"bSuperUser\"]) {\r\n if (fields[\"orderType\"] === GlobalVar.NT) {\r\n if (userfields[\"sOrderLabelID\"] === \"CAR\") {\r\n optionfields[\"clean\"] = true; //!this.state.optionfields.Clean;\r\n optionfields[\"marked\"] = false;\r\n } else {\r\n optionfields[\"marked\"] = true; //!this.state.optionfields.marked\r\n optionfields[\"clean\"] = false;\r\n }\r\n this.setState({ optionfields });\r\n }\r\n if (\r\n sessionStorage.getItem(\"user_label_id\") ===\r\n selectfields[\"label_list\"].trim()\r\n ) {\r\n //'Not a super user\r\n this.set_process_and_clean();\r\n } else if (\r\n sessionStorage.getItem(\"user_label_id\") === \"UMD\" &&\r\n selectfields[\"label_list\"].trim() === \"SPM\"\r\n ) {\r\n //'UMVD Super User ordering UME product\r\n this.set_process_and_clean();\r\n } else if (\r\n sessionStorage.getItem(\"user_label_id\") === \"UMD\" &&\r\n userfields[\"bSuperUser\"]\r\n ) {\r\n //'UMVD Super User not ordering UME product\r\n //if (bNoCatalog and request(\"action\") = \"select_label\")or request(\"action\") = \"select_type\" then\r\n this.set_process_and_clean();\r\n } else if (selectfields[\"label_list\"] !== \"\") {\r\n //'Super User ordering product\r\n this.set_process_and_clean();\r\n }\r\n } else {\r\n this.set_process_and_clean();\r\n }\r\n } else {\r\n if (this.state.fields.orderType !== GlobalVar.TB) {\r\n userfields[\"bCleanPrompt\"] = false;\r\n }\r\n }\r\n } else {\r\n }\r\n\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({\r\n fields,\r\n optionfields,\r\n selectfields,\r\n resetContactView: false,\r\n modal,\r\n errors,\r\n userfields,\r\n contactfields,\r\n });\r\n };\r\n clearAllProductOrder = () => {\r\n let fields = this.state.fields;\r\n if (fields[\"maxKey\"] === 0 && fields[\"productButton\"][0] === \"Search\") {\r\n return false;\r\n }\r\n for (var i = fields[\"maxKey\"]; i >= 0; i--) {\r\n fields[\"artist\"][i] = \"\";\r\n fields[\"title\"][i] = \"\";\r\n fields[\"selection\"][i] = \"\";\r\n fields[\"UPC\"][i] = \"\";\r\n fields[\"config\"][i] = \"\";\r\n fields[\"unitsPerSet\"][i] = \"\";\r\n fields[\"rlsDate\"][i] = \"\";\r\n fields[\"qty\"][i] = \"\";\r\n if (fields[\"orderType\"] === GlobalVar.BI) {\r\n fields[\"price\"][i] = \"\";\r\n fields[\"cost\"][i] = \"\";\r\n fields[\"discount\"][i] = \"\";\r\n fields[\"flag\"][i] = false;\r\n } else if (fields[\"orderType\"] === GlobalVar.TB) {\r\n fields[\"price\"][i] = \"\";\r\n fields[\"cost\"][i] = \"\";\r\n fields[\"discount\"][i] = \"\";\r\n fields[\"artistStoreName\"][i] = \"\";\r\n fields[\"tourDate\"][i] = \"\";\r\n fields[\"flag\"][i] = false;\r\n }\r\n fields[\"productButton\"][i] = \"Search\";\r\n this.setState({\r\n fields,\r\n });\r\n }\r\n };\r\n displayAccountNumber = () => {\r\n \r\n if (this.state.fields.orderType === GlobalVar.TB) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.S89) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.BI) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.NT) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n displayFreightNTAndBIBillable = () => {\r\n if (\r\n this.state.fields.orderType === GlobalVar.NT ||\r\n this.state.fields.orderType === GlobalVar.BI\r\n ) {\r\n return (\r\n

\r\n \r\n {this.displayAccountNumber()}\r\n \r\n
\r\n You must have a valid account number to place a Non-Billable and\r\n Billable Order. If you do not have an account number, please contact the UMG Credit team.\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {this.state.fields.orderType === GlobalVar.BI\r\n ? \"Enter Bill To Information:\"\r\n : \"Freight Info:\"}\r\n
\r\n \r\n
\r\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.fields.orderType === GlobalVar.BI ? (\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Enter the third-party billing account for Fedex or UPS if the\r\n recipient is paying shipping charges\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n };\r\n displayAccountNumberFG = () => {\r\n if (this.state.fields.orderType === GlobalVar.FG) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n You must have a valid account number to place a Free Goods Order.\r\n If you do not have an account number, please contact the UMG Credit team.\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n };\r\n displayFreightTB = () => {\r\n if (this.state.fields.orderType === GlobalVar.TB) {\r\n return (\r\n
\r\n \r\n {this.displayAccountNumber()}\r\n \r\n
\r\n You must have a valid account number to place a Non-Billable and\r\n Billable Order. If you do not have an account number, please contact the UMG Credit team.\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {this.state.fields.orderType === GlobalVar.BI\r\n ? \"Enter Bill To Information:\"\r\n : \"Freight Info:\"}\r\n
\r\n \r\n
\r\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.fields.orderType === GlobalVar.TB ? (\r\n \r\n { /*\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n Enter the third-party billing account for Fedex or UPS if the\r\n recipient is paying shipping charges\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n };\r\n\r\n displayFreightS89 = () => {\r\n if (this.state.fields.orderType === GlobalVar.S89) {\r\n return (\r\n
\r\n \r\n {this.displayAccountNumber()}\r\n \r\n
\r\n You must have a valid account number to place a Non-Billable and\r\n Billable Order. If you do not have an account number, please contact the UMG Credit team.\r\n
\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n };\r\n\r\n displayBillToInformationforBI = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Enter the third-party billing account for Fedex or UPS if the\r\n recipient is paying shipping charges\r\n
\r\n \r\n
\r\n );\r\n };\r\n build_label_list = () => {\r\n if (this.state.fields.action === \"copy\") {\r\n return <>;\r\n } else if (this.state.userfields.bSuperUser) {\r\n //Super User\r\n return (\r\n \r\n \r\n Select Label\r\n \r\n \r\n {this.state.userfields.SuperUserRecordlabel.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n );\r\n } else if (\r\n this.state.userfields.bExecutive ||\r\n sessionStorage.getItem(\"user_label_id\") === \"SPM\"\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n //Regular User\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n handleCheckChange = (e: any) => {\r\n try {\r\n let checkfields = this.state.checkfields;\r\n checkfields[e.currentTarget.name] = !this.state.checkfields.prepaid;\r\n this.setState({\r\n checkfields,\r\n });\r\n if (checkfields[\"prepaid\"]) {\r\n alert(\r\n \"Copies of all checks for Pre-Paid order must be sent to Fishers Credit Department prior to shipment of product. The order will not be released until copies of checks have been received.\"\r\n );\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n handleOptionChange = (e: any) => {\r\n let fields = this.state.fields;\r\n let optionfields = this.state.optionfields;\r\n let currentTargetId = e.currentTarget.id;\r\n fields[\"cleanBI\"] = false;\r\n if (currentTargetId === \"Name\") {\r\n optionfields[\"name\"] = !this.state.optionfields.name;\r\n optionfields[\"city\"] = false;\r\n optionfields[\"state\"] = false;\r\n optionfields[\"company\"] = false;\r\n fields[\"lblSearchContact\"] = e.currentTarget.id;\r\n } else if (currentTargetId === \"City\") {\r\n optionfields[\"city\"] = !this.state.optionfields.city;\r\n optionfields[\"name\"] = false;\r\n optionfields[\"state\"] = false;\r\n optionfields[\"company\"] = false;\r\n fields[\"lblSearchContact\"] = e.currentTarget.id;\r\n } else if (currentTargetId === \"Company\") {\r\n optionfields[\"company\"] = !this.state.optionfields.company;\r\n optionfields[\"name\"] = false;\r\n optionfields[\"city\"] = false;\r\n optionfields[\"state\"] = false;\r\n fields[\"lblSearchContact\"] = e.currentTarget.id;\r\n } else if (currentTargetId === \"State\") {\r\n optionfields[\"state\"] = !this.state.optionfields.state;\r\n optionfields[\"name\"] = false;\r\n optionfields[\"city\"] = false;\r\n optionfields[\"company\"] = false;\r\n fields[\"lblSearchContact\"] = e.currentTarget.id;\r\n } else if (currentTargetId === \"Marked\") {\r\n optionfields[\"marked\"] = !this.state.optionfields.marked;\r\n optionfields[\"clean\"] = false;\r\n if (fields[\"orderType\"] === GlobalVar.BI) {\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n\r\n this.bCleanOrderFldsDisplay(true);\r\n }\r\n } else if (currentTargetId === \"Clean\") {\r\n optionfields[\"clean\"] = !this.state.optionfields.clean;\r\n optionfields[\"marked\"] = false;\r\n if (fields[\"orderType\"] === GlobalVar.BI) {\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = true;\r\n alert(\r\n \"If discount does not equal 40%, your order will be forwarded to EVP & CFO of North America for Approval.\"\r\n );\r\n\r\n this.bCleanOrderFldsDisplay(false);\r\n }\r\n } else if (currentTargetId === \"Marked_56\") {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = !this.state.optionfields.marked_56;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n\r\n this.bCleanOrderFldsDisplay(true);\r\n } else if (currentTargetId === \"Clean_56\") {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = !this.state.optionfields.clean_56;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = false;\r\n fields[\"cleanBI\"] = true;\r\n alert(\r\n \"If discount is greater than 15%, your order will be forwarded to EVP & CFO of North America for Approval.\"\r\n );\r\n\r\n this.bCleanOrderFldsDisplay(false);\r\n } else if (currentTargetId === \"Marked_59\") {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = !this.state.optionfields.marked_59;\r\n optionfields[\"clean_59\"] = false;\r\n\r\n this.bCleanOrderFldsDisplay(true);\r\n } else if (currentTargetId === \"Clean_59\") {\r\n optionfields[\"marked\"] = false;\r\n optionfields[\"clean\"] = false;\r\n optionfields[\"marked_56\"] = false;\r\n optionfields[\"clean_56\"] = false;\r\n optionfields[\"marked_59\"] = false;\r\n optionfields[\"clean_59\"] = !this.state.optionfields.clean_59;\r\n fields[\"cleanBI\"] = true;\r\n alert(\r\n \"If discount does not equal 30%, your order will be forwarded to EVP & CFO of North America for Approval.\"\r\n );\r\n\r\n this.bCleanOrderFldsDisplay(false);\r\n } else if (currentTargetId === \"locatedYes\") {\r\n this.clearError();\r\n optionfields[\"locatedYes\"] = !this.state.optionfields.locatedYes;\r\n optionfields[\"locatedNo\"] = false;\r\n } else if (currentTargetId === \"locatedNo\") {\r\n this.clearError();\r\n optionfields[\"locatedNo\"] = !this.state.optionfields.locatedNo;\r\n optionfields[\"locatedYes\"] = false;\r\n } else if (currentTargetId === \"private\") {\r\n optionfields[\"private\"] = !this.state.optionfields.private;\r\n optionfields[\"public\"] = false;\r\n } else if (currentTargetId === \"public\") {\r\n optionfields[\"public\"] = !this.state.optionfields.public;\r\n optionfields[\"private\"] = false;\r\n } else {\r\n optionfields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({\r\n fields,\r\n optionfields,\r\n });\r\n };\r\n handleOptionClick = (e: any) => {\r\n if (this.state.fields.orderType === GlobalVar.FG) {\r\n if (this.state.userfields.sOrderLabelID !== \"DRW\") {\r\n alert(\"This Order will be forwarded to Clean Approval\");\r\n //alert('Order for Clean, Full-length Commercial Albums will be forwarded to Chuck Ciongoli for his additional approval.');\r\n }\r\n } else if (this.state.fields.orderType === GlobalVar.NT) {\r\n if (this.state.userfields.sOrderLabelID !== \"DRW\") {\r\n alert(\r\n \"Order for Clean, Full-length Commercial Albums will be forwarded to CFO for his additional approval.\"\r\n );\r\n }\r\n }\r\n };\r\n handleOnBlurValidateQty = (key, e: any) => {\r\n let fields = this.state.fields;\r\n if (fields[\"productButton\"][key] === \"Delete\") {\r\n let qty = \"\";\r\n qty = e.currentTarget.value;\r\n const target = e.currentTarget;\r\n target.style.border = this.defaultBorder;\r\n //validation allow only dot and numeric values.\r\n var regex = new RegExp(\"^[0-9]*$\");\r\n if (qty.trim() === \"\") {\r\n alert(\"You must enter the quantity before you can complete an order.\");\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n if (!regex.test(qty)) {\r\n alert(\r\n \"You have entered an invalid quantity. Please enter valid quantity\"\r\n );\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n if (parseInt(qty) < 1) {\r\n alert(\r\n \"You appear to have a quantity set to less than 1. Please enter a quantity greater than 0 or click the Delete button to delete that item.\"\r\n );\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n }\r\n /*if (qty.length > 0 && parseInt(qty)!=undefined)\r\n {\r\n if (parseInt(qty)<1 ) {\r\n alert('You appear to have a quantity set to less than 1. Please enter a quantity greater than 0 or click the Delete button to delete that item.');\r\n this.setFocus(target);\r\n target.style.border=this.redBorder;\r\n }\r\n else\r\n {\r\n target.style.border=this.defaultBorder;\r\n }\r\n }\r\n else {\r\n alert('You appear to have a quantity set to less than 1. Please enter a quantity greater than 0 or click the Delete button to delete that item.');\r\n this.setFocus(target);\r\n target.style.border=this.redBorder;\r\n }*/\r\n };\r\n\r\n handleImport= ( e: any) => {\r\n let fields = this.state.fields;\r\n //let userfields = this.state.userfields;\r\n const files = e.target.files;\r\n var data; \r\n let modal = this.state.loading;\r\n let loading = this.state.loading;\r\n modal[\"modalAlertShow\"] = true;\r\n this.setState({ modal });\r\n \r\n if ((this.state.userfields.bSuperUser) && (this.state.selectfields.label_list ==\"Please Select\" ))\r\n {\r\n modal[\"modalAlertShow\"] = false;\r\n this.setState({ modal });\r\n alert(\"You may not search for product until you choose a label.\");\r\n }\r\n else\r\n { \r\n if (files.length) {\r\n // alert(files.length);\r\n TableAllSelect.clearAllMultiArr(); \r\n const file = files[0];\r\n const reader = new FileReader(); \r\n var subitem ;\r\n let items1=\"\"; \r\n reader.onload = (e: any) => {\r\n const wb = read(e.target.result);\r\n const sheets = wb.SheetNames;\r\n if (sheets.length) {\r\n var rows = utils.sheet_to_json(wb.Sheets[sheets[0]]);\r\n // data = JSON.parse(JSON.stringify(rows));\r\n // console.log(rows);\r\n // console.log(JSON.parse(JSON.stringify(utils.sheet_to_json(wb.Sheets[sheets[0]])))); \r\n var data1 = JSON.parse(JSON.stringify(utils.sheet_to_json(wb.Sheets[sheets[0]]))); \r\n // var data1 = fields[\"upcList\"] ; \r\n \r\n data1.map((items) => {\r\n \r\n subitem = items.UPC\r\n \r\n items1 = items1 + subitem + \", \" \r\n \r\n \r\n });\r\n\r\n var uid = sessionStorage.getItem(\"uid\")!;\r\n // var labelId = sessionStorage.getItem(\"user_label_id\");\r\n let userfields = this.state.userfields;\r\n var labelId = userfields[\"sOrderLabelID\"]\r\n let fields = this.state.fields;\r\n // let userfields = this.state.userfields;\r\n let loading = this.state.loading;\r\n let sWhere: string = \"\";\r\n //console.log(this.state.userfields.bSuperUser) \r\n //console.log(this.state.userfields.bExecutive) \r\n // console.log( uid)\r\n var data = {};\r\n data = {\r\n recordLabelId: labelId,\r\n };\r\n\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .getReportingCo(data)\r\n .then((response) => {\r\n let sLabels = response.sLabels;\r\n\r\n if (sLabels !== \"\") {\r\n if (\r\n labelId === \"CN\" ||\r\n labelId === \"DIS\" ||\r\n labelId === \"AST\" ||\r\n labelId === \"HBN\" ||\r\n labelId === \"CAP\" ||\r\n labelId === \"HAR\" ||\r\n labelId === \"VIR\" ||\r\n labelId === \"WEL\" ||\r\n labelId === \"ATO\"\r\n ) {\r\n sLabels = \"(reportingunit in (\" + sLabels + \"))\";\r\n } else {\r\n sLabels = \"(RecordLabel_ID in ('\" + labelId + \"',\" + sLabels + \"))\";\r\n }\r\n } else {\r\n sLabels = \"(RecordLabel_ID='\" + labelId + \"')\";\r\n }\r\n //Super user and Regular User, not for executive user\r\n if (!userfields[\"bExecutive\"]) {\r\n //if UME user, force catalog product search\r\n if (sessionStorage.getItem(\"user_label_id\") === \"SPM\") {\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + \" (musicline = '1520' or \" + sLabels + \")\";\r\n } else if (\r\n sessionStorage.getItem(\"user_label_id\") === \"UMD\" &&\r\n userfields[\"bSuperUser\"]\r\n ) {\r\n //UMVD Super user\r\n if (labelId === \"SPM\") {\r\n //force catalog product search for UME record label\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere =\r\n sWhere + \" (musicline = '1520' or RecordLabel_ID in ('SPM'))\";\r\n }\r\n //****Comments the code not displaying option 'catalog' and 'label' for super user****\r\n ////As per Business request, catalog relevant details has been ignored.\r\n //elseif (sSearchType === \"catalog\"){ //'force label product search for selected record label\r\n // sWhere = sWhere + \" musicline = '1520' and \" + sLabels\r\n //}\r\n //else{\r\n // sWhere = sWhere + \" musicline <> '1520' and \" + sLabels\r\n //}\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + sLabels;\r\n } else if (\r\n sessionStorage.getItem(\"user_label_id\") !== \"UMD\" &&\r\n userfields[\"bSuperUser\"]\r\n ) {\r\n //Super user who is not UMVD\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n if (labelId === \"SPM\") {\r\n //force catalog product search for UME record label\r\n sWhere =\r\n sWhere + \" (musicline = '1520' or RecordLabel_ID in ('SPM'))\";\r\n } else {\r\n //force catalog product search for selected record label\r\n sWhere = sWhere + sLabels;\r\n }\r\n } else {\r\n //force catalog product search for users assigned record label\r\n if (sWhere !== \"\") {\r\n sWhere = sWhere + \" AND \";\r\n }\r\n sWhere = sWhere + sLabels;\r\n }\r\n }\r\n\r\n //'Filter results for Buena Vista Music.\r\n if (sessionStorage.getItem(\"user_label_id\") === \"BVM\") {\r\n sWhere = sWhere + \" AND RecordLabel_ID = 'BVM'\";\r\n } else {\r\n sWhere = sWhere + \" AND RecordLabel_ID <> 'BVM'\";\r\n }\r\n\r\n data = {\r\n sWhere: sWhere,\r\n UPC: items1,\r\n labelId: this.state.selectfields.label_list,\r\n userId : uid,\r\n superUser : this.state.userfields.bSuperUser,\r\n executiveUser : this.state.userfields.bExecutive \r\n \r\n };\r\n\r\n createOrderController\r\n .getProductSearchByUPCErrMsg(data)\r\n .then((jsonAllProductsErrMsg) => {\r\n this.setState({\r\n ProductsErr: JSON.parse(JSON.stringify(jsonAllProductsErrMsg)),\r\n });\r\n })\r\n console.log('Length',this.state.ProductsErr.length); \r\n \r\n \r\n createOrderController\r\n .getProductSearchByUPC(data)\r\n .then((jsonAllProducts) => {\r\n this.setState({\r\n Products: JSON.parse(JSON.stringify(jsonAllProducts)),\r\n });\r\n \r\n this.setState({ key: 0 });\r\n let modal = this.state.modal;\r\n let errors = this.state.errors;\r\n if (this.state.Products.length > 0)\r\n {\r\n \r\n // loading[\"loading\"] = true;\r\n //this.setState({ loading });\r\n // this.setState({ key: row });\r\n fields[\"fileUpload\"] = true;\r\n fields[\"upcLen\"] = this.state.Products.length;\r\n modal[\"modalShow\"] = true;\r\n modal[\"modalAlertShow\"] = false;\r\n modal[\"modalTitle\"] = \"Select Product\";\r\n modal[\"modalBody\"] = false;\r\n errors[\"errmsg\"] =\"\";\r\n // fields[\"productButton\"][row] = \"Search\";\r\n // loading[\"loading\"] = false;\r\n this.setState({ modal, fields, errors });\r\n }\r\n else{\r\n modal[\"modalAlertShow\"] = false;\r\n modal[\"modalBody\"] = false;\r\n errors[\"errmsg\"] = \"Please check data and reprocess the file\" ;\r\n \r\n this.setState({ errors });\r\n this.setState({ modal, fields });\r\n }\r\n \r\n })\r\n .catch((error) => {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n console.error(\"There was an error in fetch products..., \" + error);\r\n }); \r\n \r\n\r\n })\r\n \r\n\r\n }\r\n }\r\n e.target.value = null;\r\n \r\n reader.readAsArrayBuffer(file);\r\n }\r\n }\r\n \r\n \r\n }\r\n\r\n handleOnBlurValidateString = (key, e: any) => {\r\n let fields = this.state.fields;\r\n if (fields[\"productButton\"][key] === \"Delete\") {\r\n let artistStoreName = \"\";\r\n artistStoreName = e.currentTarget.value;\r\n const target = e.currentTarget;\r\n target.style.border = this.defaultBorder;\r\n if (artistStoreName === undefined) {\r\n alert(\r\n \"You must enter the artist store name before you can complete an order.\"\r\n );\r\n return false;\r\n } else {\r\n //validation artist Store Name allow only Alphabet, number, dot, slash, back slash and space\r\n var regex = new RegExp(\"^[a-zA-Z0-9 /,.\\\\\\\\s]*$\");\r\n if (artistStoreName.trim() === \"\") {\r\n alert(\r\n \"You must enter the Artist Store Name before you can complete an order.\"\r\n );\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n } else if (!regex.test(artistStoreName)) {\r\n alert(\r\n \"You have entered an invalid special characters such as \" +\r\n regex +\r\n \". Please enter valid Artist Store Name\"\r\n );\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n }\r\n }\r\n };\r\n handleOnBlurValidateDate = (key, e: any) => {\r\n let fields = this.state.fields;\r\n if (fields[\"productButton\"][key] === \"Delete\") {\r\n let tourDate = \"\";\r\n tourDate = e.currentTarget.value;\r\n const target = e.currentTarget;\r\n target.style.border = this.defaultBorder;\r\n if (tourDate === undefined) {\r\n alert(\"You must enter the tour date before you can complete an order.\");\r\n return false;\r\n } else {\r\n //validation formated date MM/dd/yyyy.\r\n var regex = new RegExp(\r\n \"^(0?[1-9]|1[0-2])/(0?[1-9]|1[0-9]|2[0-9]|3[0-1])/([0-9]{4})$\"\r\n );\r\n if (tourDate.trim() === \"\") {\r\n alert(\r\n \"You must enter the tour date before you can complete an order.\"\r\n );\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n } else if (!regex.test(tourDate)) {\r\n alert(\"You have entered an invalid date. Please enter valid date\");\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n }\r\n }\r\n };\r\n\r\n exportTextChange = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n handlePriceChange = (i, e: any) => {\r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name][i] = e.currentTarget.value;\r\n if (fields[\"productButton\"][i] === \"Search\") {\r\n if (e.currentTarget.name === \"price\") {\r\n if (fields[\"price\"][i] === undefined) {\r\n fields[\"price\"][i] = \"\";\r\n //this.setState({ fields });\r\n }\r\n if (fields[\"price\"][i] !== \"\") {\r\n //clear index qty if no search begin\r\n fields[e.currentTarget.name][i] = \"\";\r\n alert(\"Please search product first, before entering Price\");\r\n }\r\n this.setState({ fields });\r\n return false;\r\n }\r\n } else {\r\n this.ValidatePrice(e, i);\r\n }\r\n };\r\n ValidatePrice(objPrice, row) {\r\n let fields = this.state.fields;\r\n var price = \"\";\r\n var iPos = -1;\r\n price = objPrice.currentTarget.value;\r\n const target = objPrice.currentTarget;\r\n var salesTypeClean = this.CheckSaleType();\r\n if (\r\n fields[\"productButton\"][row] === \"Delete\" ||\r\n this.state.fields.action === \"copy\"\r\n ) {\r\n if (price.length > 0 && price !== \"NaN\") {\r\n var float_price = parseFloat(price);\r\n if (float_price < 0.01) {\r\n alert(\r\n \"You appear to have a price set to less than $.01. Please enter a price greater than 0 or click the Delete button to delete that item.\"\r\n );\r\n //objPrice.focus();\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n iPos = price.indexOf(\".\");\r\n if (iPos > -1) {\r\n price = price.substring(iPos, price.length);\r\n if (price.length > 4) {\r\n alert(\r\n \"You have entered an invalid price. Please enter up to 3 digits after the decimal.\"\r\n );\r\n //objPrice.focus();\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n }\r\n //validation allow only dot and numeric values.\r\n var regex = new RegExp(\"^[0-9]*.?[0-9]*$\");\r\n if (!regex.test(price) && this.state.fields.action !== \"copy\") {\r\n alert(\"You have entered an invalid price. Please enter valid price\");\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n if (\r\n salesTypeClean == 1 ||\r\n salesTypeClean == 3 ||\r\n salesTypeClean == 5 ||\r\n salesTypeClean == 9\r\n ) {\r\n var price_format = float_price.toFixed(3);\r\n var cost = fields[\"cost\"][row];\r\n if (cost !== \"NaN\" && parseFloat(price_format) > 0.0) {\r\n var float_cost = parseFloat(cost).toFixed(3);\r\n\r\n if (parseFloat(float_cost) > 0) {\r\n if (parseFloat(price_format) <= parseFloat(float_cost)) {\r\n this.dispDiscountPerc(float_price, row, fields);\r\n } else {\r\n fields[\"discount\"][row] = \"\";\r\n fields[\"flag\"][row] = true;\r\n //document.all('td_apprvlRqrd'+row).style.display='block';\r\n }\r\n } else {\r\n fields[\"discount\"][row] = \"\";\r\n fields[\"flag\"][row] = false;\r\n //document.all('td_apprvlRqrd'+row).style.display='none';\r\n }\r\n }\r\n }\r\n this.setState({ fields });\r\n target.style.border = this.defaultBorder;\r\n } else {\r\n alert(\r\n \"You appear to have a price set to less than $.01. Please enter a price greater than 0 or click the Delete button to delete that item.\"\r\n );\r\n target.style.border = this.redBorder;\r\n //objPrice.focus();\r\n //return false;\r\n }\r\n }\r\n }\r\n bCleanOrderFldsDisplayTB = (i) => {\r\n let fields = this.state.fields;\r\n var MAX_PRODUCTS = fields[\"maxKey\"];\r\n if (fields[\"orderType\"] === GlobalVar.TB) {\r\n if (MAX_PRODUCTS === 0 && fields[\"productButton\"][0] === \"Search\") {\r\n return false;\r\n }\r\n\r\n let cost: string = fields[\"cost\"][i];\r\n if (cost !== \"NaN\") {\r\n let float_cost = parseFloat(cost);\r\n let salesType = this.CheckSaleType();\r\n let price: string = BillableScript.CalculatedDiscountPrice(\r\n float_cost.toFixed(3),\r\n salesType\r\n );\r\n if (price !== \"NaN\") {\r\n let float_price = parseFloat(price);\r\n let price_format = float_price.toFixed(3);\r\n if (parseFloat(price_format) > 0) {\r\n if (parseFloat(price_format) > 0.01) {\r\n if (float_cost > 1) {\r\n fields[\"price\"][i] = float_price.toFixed(2);\r\n } else {\r\n fields[\"price\"][i] = price_format;\r\n }\r\n } else {\r\n fields[\"price\"][i] = \"0.010\";\r\n float_price = parseFloat(\"0.010\");\r\n price_format = float_price.toFixed(3);\r\n }\r\n } else {\r\n fields[\"price\"][i] = \"\";\r\n fields[\"discount\"][i] = \"\";\r\n }\r\n\r\n if (cost !== \"NaN\" && parseFloat(price_format) > 0.0) {\r\n if (float_cost > 0) {\r\n if (parseFloat(price_format) <= float_cost) {\r\n this.dispDiscountPerc(float_price, i, fields);\r\n } else {\r\n fields[\"discount\"][i] = \"\";\r\n }\r\n } else {\r\n fields[\"discount\"][i] = \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n bCleanOrderFldsDisplay = (isMarked) => {\r\n let fields = this.state.fields;\r\n var MAX_PRODUCTS = fields[\"maxKey\"];\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB\r\n ) {\r\n if (MAX_PRODUCTS === 0 && fields[\"productButton\"][0] === \"Search\") {\r\n return false;\r\n }\r\n if (isMarked) {\r\n for (var i = 0; i <= MAX_PRODUCTS; i++) {\r\n var priceLength = fields[\"price\"][i];\r\n if (priceLength.length > 0) {\r\n fields[\"price\"][i] = \"1.00\";\r\n }\r\n }\r\n } else {\r\n for (var i = 0; i <= MAX_PRODUCTS; i++) {\r\n let cost: string = fields[\"cost\"][i];\r\n if (cost !== \"NaN\") {\r\n let float_cost = parseFloat(cost);\r\n let salesType = this.CheckSaleType();\r\n let price: string = BillableScript.CalculatedDiscountPrice(\r\n float_cost.toFixed(3),\r\n salesType\r\n );\r\n if (price !== \"NaN\") {\r\n let float_price = parseFloat(price);\r\n let price_format = float_price.toFixed(3);\r\n if (parseFloat(price_format) > 0) {\r\n if (parseFloat(price_format) > 0.01) {\r\n if (float_cost > 1) {\r\n fields[\"price\"][i] = float_price.toFixed(2);\r\n } else {\r\n fields[\"price\"][i] = price_format;\r\n }\r\n } else {\r\n fields[\"price\"][i] = \"0.010\";\r\n float_price = parseFloat(\"0.010\");\r\n price_format = float_price.toFixed(3);\r\n }\r\n } else {\r\n fields[\"price\"][i] = \"\";\r\n fields[\"discount\"][i] = \"\";\r\n }\r\n\r\n if (cost !== \"NaN\" && parseFloat(price_format) > 0.0) {\r\n if (float_cost > 0) {\r\n if (parseFloat(price_format) <= float_cost) {\r\n this.dispDiscountPerc(float_price, i, fields);\r\n } else {\r\n fields[\"discount\"][i] = \"\";\r\n }\r\n } else {\r\n fields[\"discount\"][i] = \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n dispDiscountPerc = (txtValue, intRowId, fields) => {\r\n var CLEAN_54_DISCOUNT_THRESHOLD =\r\n BillableScript.CLEAN_54_DISCOUNT_THRESHOLD;\r\n var CLEAN_56_DISCOUNT_THRESHOLD =\r\n BillableScript.CLEAN_56_DISCOUNT_THRESHOLD;\r\n var CLEAN_59_DISCOUNT_THRESHOLD =\r\n BillableScript.CLEAN_59_DISCOUNT_THRESHOLD;\r\n var price = txtValue;\r\n var saletype = this.CheckSaleType();\r\n switch (saletype) {\r\n case 1:\r\n var cost1 = fields[\"cost\"][intRowId];\r\n var discount1 = BillableScript.CalculatePercent(cost1, price);\r\n var parsediscount1 = parseFloat(discount1);\r\n fields[\"discount\"][intRowId] = (parsediscount1 * 100).toFixed(0); // modified by senthil\r\n if (parsediscount1 != CLEAN_54_DISCOUNT_THRESHOLD) {\r\n fields[\"flag\"][intRowId] = true;\r\n //document.all('td_apprvlRqrd'+intRowId).style.display='block';\r\n } else {\r\n fields[\"flag\"][intRowId] = false;\r\n //document.all('td_apprvlRqrd'+intRowId).style.display='none';\r\n }\r\n break;\r\n case 9:\r\n case 3:\r\n var cost2 = fields[\"cost\"][intRowId];\r\n var discount2 = BillableScript.CalculatePercent(cost2, price);\r\n var parsediscount2 = parseFloat(discount2);\r\n fields[\"discount\"][intRowId] = (parsediscount2 * 100).toFixed(0); // modified by senthil\r\n if (parsediscount2 > CLEAN_56_DISCOUNT_THRESHOLD) {\r\n fields[\"flag\"][intRowId] = true;\r\n //document.all('td_apprvlRqrd'+intRowId).style.display='block';\r\n } else {\r\n fields[\"flag\"][intRowId] = false;\r\n //document.all('td_apprvlRqrd'+intRowId).style.display='none';\r\n }\r\n break;\r\n case 5:\r\n var cost3 = fields[\"cost\"][intRowId];\r\n var discount3 = BillableScript.CalculatePercent(cost3, price);\r\n var parsediscount3 = parseFloat(discount3);\r\n fields[\"discount\"][intRowId] = (parsediscount3 * 100).toFixed(0); // modified by senthil\r\n if (parsediscount3 != CLEAN_59_DISCOUNT_THRESHOLD) {\r\n fields[\"flag\"][intRowId] = true;\r\n //document.all('td_apprvlRqrd'+intRowId).style.display='block';\r\n } else {\r\n fields[\"flag\"][intRowId] = false;\r\n //document.all('td_apprvlRqrd'+intRowId).style.display='none';\r\n }\r\n }\r\n };\r\n CheckSaleType = () => {\r\n var myOption = -1;\r\n if (this.state.fields.orderType === GlobalVar.TB) {\r\n if (this.state.userfields.bCleanPrompt) {\r\n myOption = 9;\r\n }\r\n } else {\r\n var thisform = document.forms[0];\r\n for (var i = thisform.sales_type.length - 1; i > -1; i--) {\r\n if (thisform.sales_type[i].checked) {\r\n myOption = i;\r\n i = -1;\r\n }\r\n }\r\n }\r\n return myOption;\r\n };\r\n enableSearchResult = (e: any) => {\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let optionfields = this.state.optionfields;\r\n fields[\"shipName\"] = \"\";\r\n fields[\"shipAddress\"] = \"\";\r\n fields[\"shipPhone\"] = \"\";\r\n fields[\"lblSearchContact\"] = \"Name\";\r\n fields[\"searchContact\"] = \"\";\r\n selectfields[\"choice\"] = \"\";\r\n optionfields[\"name\"] = true;\r\n optionfields[\"company\"] = false;\r\n optionfields[\"city\"] = false;\r\n optionfields[\"state\"] = false;\r\n selectfields[\"state\"] = \"Select A State\";\r\n this.setState({\r\n fields,\r\n selectfields,\r\n optionfields,\r\n resetContactView: false,\r\n });\r\n e.persist();\r\n e.nativeEvent.stopImmediatePropagation();\r\n e.stopPropagation();\r\n };\r\n\r\n SelectAllContact = () => {\r\n if (\r\n this.state.optionfields.state === false ||\r\n this.state.optionfields.name === true ||\r\n this.state.optionfields.city === true ||\r\n this.state.optionfields.company === true\r\n ) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n searchResult = () => {\r\n if (this.state.resetContactView) {\r\n return (\r\n \r\n Search Result\r\n \r\n \r\n {this.state.AllContact.map((prop, key) => {\r\n return (\r\n \r\n {prop[\"name\"] +\r\n \"...\" +\r\n prop[\"shipToName\"] +\r\n \"...\" +\r\n prop[\"city\"] +\r\n \"...\" +\r\n prop[\"state\"]}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n } else {\r\n return <>;\r\n }\r\n };\r\n\r\n formControl = (key) => {\r\n //\r\n let fields = this.state.fields;\r\n if (this.state.startKey) {\r\n if (fields[\"productButton\"][key] !== \"wait.....\") {\r\n fields[\"productButton\"][key] = \"Search\";\r\n }\r\n //fields['productButton'][key]='Search';\r\n return (\r\n \r\n \r\n this.handleModalShow(key, e)}\r\n >\r\n {this.state.fields.productButton[key]}\r\n \r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n \r\n {\" \"}\r\n {this.state.fields.config[key]}{\" \"}\r\n \r\n \r\n \r\n \r\n {this.state.fields.unitsPerSet[key]}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {this.state.fields.rlsDate[key]}{\" \"}\r\n \r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n {this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.fields.cost[key]}{\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.fields.discount[key]}{\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n } else if (\r\n (key <= this.state.key && this.state.fields.qty[key] !== \"\") ||\r\n fields[\"productButton\"][key] === \"Delete\"\r\n ) {\r\n //else if (key <= this.state.key && fields['productButton'][key]!=='Search')\r\n fields[\"productButton\"][key] = \"Delete\";\r\n return (\r\n \r\n \r\n this.handleDelete(key, e)}\r\n >\r\n {this.state.fields.productButton[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.artist[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.title[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.selection[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.UPC[key]}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {this.state.fields.config[key]}{\" \"}\r\n \r\n \r\n \r\n \r\n {this.state.fields.unitsPerSet[key]}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {this.state.fields.rlsDate[key]}{\" \"}\r\n \r\n \r\n \r\n this.handleFormChange(key, e)}\r\n onBlur={(e) => this.handleOnBlurValidateQty(key, e)}\r\n >\r\n \r\n {this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n onBlur={(e) => this.ValidatePrice(e, key)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.fields.cost[key]}{\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.fields.discount[key]}{\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n onBlur={(e) => this.handleOnBlurValidateString(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n onBlur={(e) => this.handleOnBlurValidateDate(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n {this.state.fields.flag[key] ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n } else {\r\n if (\r\n fields[\"productButton\"][key] !== \"wait.....\" &&\r\n this.state.fields.artist[key] === \"\"\r\n ) {\r\n fields[\"productButton\"][key] = \"Search\";\r\n }\r\n return (\r\n \r\n \r\n this.handleModalShow(key, e)}\r\n >\r\n {this.state.fields.productButton[key]}\r\n \r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n \r\n \r\n {\" \"}\r\n {this.state.fields.config[key]}{\" \"}\r\n \r\n \r\n \r\n \r\n {this.state.fields.unitsPerSet[key]}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {this.state.fields.rlsDate[key]}{\" \"}\r\n \r\n \r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n {this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.fields.cost[key]}{\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.fields.discount[key]}{\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.fields.orderType === GlobalVar.TB ? (\r\n \r\n this.handleFormChange(key, e)}\r\n >\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {(this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB) &&\r\n this.state.fields.cleanBI ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n }\r\n this.setState({ fields });\r\n };\r\n salesType = () => {\r\n if (this.state.fields.orderType === GlobalVar.FG) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.radioCleanPrompt()}\r\n
\r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.NT) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.radioCleanPrompt()}\r\n \r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.BI) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.radioCleanPrompt()}\r\n \r\n \r\n \r\n {this.radioCleanPrompt_56()}\r\n \r\n \r\n \r\n {this.radioCleanPrompt_59()}\r\n \r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.TB) {\r\n return (\r\n \r\n \r\n {this.radioCleanPrompt()}\r\n \r\n \r\n \r\n );\r\n } else if (this.state.fields.orderType === GlobalVar.S89) {\r\n return (\r\n \r\n \r\n {this.radioCleanPrompt()}\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n orderComplete = () => {\r\n const {\r\n loadingOrderComplete,\r\n loadingSubmitOrder,\r\n loadingSubmitandPrintOrder,\r\n } = this.state.loading;\r\n if (this.state.fields.action === \"copy\") {\r\n return (\r\n \r\n this.handleOnSubmitOrder(e)}\r\n >\r\n {loadingSubmitandPrintOrder && (\r\n \r\n )}\r\n {loadingSubmitandPrintOrder && (\r\n wait...\r\n )}\r\n {!loadingSubmitandPrintOrder && Submit and Print Order}\r\n \r\n \r\n );\r\n } else if (this.state.orderComplete) {\r\n return (\r\n \r\n {\r\n this.props.history.push(\"/admin/home\");\r\n }}\r\n >\r\n Cancel Order\r\n \r\n this.handleOnSubmitOrder(e)}\r\n >\r\n {loadingSubmitOrder && (\r\n \r\n )}\r\n {loadingSubmitOrder && (\r\n wait...\r\n )}\r\n {!loadingSubmitOrder && Submit Order}\r\n \r\n this.handleOnSubmitOrder(e)}\r\n >\r\n {loadingSubmitandPrintOrder && (\r\n \r\n )}\r\n {loadingSubmitandPrintOrder && (\r\n wait...\r\n )}\r\n {!loadingSubmitandPrintOrder && Submit and Print Order}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {loadingOrderComplete && (\r\n \r\n )}\r\n {loadingOrderComplete && (\r\n wait...\r\n )}\r\n {!loadingOrderComplete && Order Complete}\r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n formatReleaseDate = (release_date: string) => {\r\n var result =\r\n release_date.substring(0, 2) +\r\n \"/\" +\r\n release_date.substring(4, 2) +\r\n \"/\" +\r\n release_date.substring(8, 4);\r\n return result;\r\n };\r\n RemoveLeadingZeros = (data: string) => {\r\n var result = data.replace(/^0+/, \"\");\r\n return result;\r\n };\r\n handleSelectRow = (prop, e: any) => {\r\n let fields = this.state.fields;\r\n let optionfields = this.state.optionfields;\r\n let modal = this.state.modal;\r\n let { key } = this.state;\r\n fields[\"artist\"][key] = prop[\"artist\"];\r\n fields[\"title\"][key] = prop[\"title\"];\r\n fields[\"selection\"][key] = prop[\"selectionId\"];\r\n fields[\"UPC\"][key] = prop[\"upc\"];\r\n fields[\"config\"][key] = prop[\"configuration\"];\r\n fields[\"unitsPerSet\"][key] = this.RemoveLeadingZeros(prop[\"unitsToSet\"]);\r\n fields[\"rlsDate\"][key] = this.formatReleaseDate(prop[\"releaseDate\"]);\r\n fields[\"qty\"][key] = \"1\";\r\n fields[\"cost\"][key] = e.currentTarget.cells[0].children[\"hidCost\"].value;\r\n fields[\"prodCount\"] = fields[\"prodCount\"] + 1;\r\n //to set maximum selected/filled Row\r\n if (fields[\"maxKey\"] === 0 || key > fields[\"maxKey\"]) {\r\n fields[\"maxKey\"] = key;\r\n this.setState({ key: key, fields });\r\n } else {\r\n this.setState({ key: key });\r\n }\r\n //if (this.state.fields.orderType==='TB'){\r\n // this.bCleanOrderFldsDisplayTB(key);\r\n //}\r\n\r\n //var hidValue = e.currentTarget.cells[0].children['hidMoratorium'].value;\r\n //if(hidValue === \"Y\"){\r\n //alert(\"SORRY! This is an exclusive title allowing only specific accounts to order. Please check with the Label Production team to ensure your account is set up and approved to order. If approved, the selection will be available to order the next business day in this system.\\nThe below Moratorium product is.\\n\" + prop[\"selectionId\"] + '-' + prop[\"upc\"])\r\n //}\r\n\r\n //Billable Order\r\n if (\r\n this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB\r\n ) {\r\n this.populateRow(\r\n key,\r\n e.currentTarget.cells[0].children[\"hidCost\"].value,\r\n fields\r\n );\r\n }\r\n\r\n //alert(hidValue);\r\n modal[\"modalShow\"] = false;\r\n this.setState({\r\n fields,\r\n modal,\r\n });\r\n this.setState({ startKey: false });\r\n };\r\n\r\n handleMultipleSelectRow = (e: any) => {\r\n let { key } = this.state;\r\n let fields = this.state.fields;\r\n TableMultiSelect.handleTableRowClick(e);\r\n fields[\"multipleRowSelect\"] = TableMultiSelect.getMultiArr();\r\n this.setState({ fields, key });\r\n //var hidValue = e.currentTarget.cells[0].children['hidMoratorium'].value\r\n };\r\n\r\n selectProduct = (prop, key) => {\r\n if (sessionStorage.getItem(\"multiple_select\") === \"0\") {\r\n return (\r\n this.handleSelectRow(prop, e)}\r\n >\r\n \r\n \r\n \r\n {prop[\"artist\"]}\r\n \r\n {prop[\"title\"]}\r\n {prop[\"selectionId\"]}\r\n {prop[\"upc\"]}\r\n {prop[\"configuration\"]}\r\n {this.RemoveLeadingZeros(prop[\"unitsToSet\"])}\r\n {this.formatReleaseDate(prop[\"releaseDate\"])}\r\n {prop[\"RecordLabel_ID\"]}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {prop[\"artist\"]}\r\n \r\n {prop[\"title\"]}\r\n {prop[\"selectionId\"]}\r\n {prop[\"upc\"]}\r\n {prop[\"configuration\"]}\r\n {this.RemoveLeadingZeros(prop[\"unitsToSet\"])}\r\n {this.formatReleaseDate(prop[\"releaseDate\"])}\r\n {prop[\"RecordLabel_ID\"]}\r\n \r\n );\r\n }\r\n };\r\n\r\n showModalBody = () => {\r\n if (this.state.modal.modalBody) {\r\n return (\r\n \r\n \r\n \r\n {this.selectAddress()}\r\n {this.displayAddress()}\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.ProductsErr.length !== 0 ? (\r\n \r\n ) : ''} \r\n {this.state.ProductsErr.length !== 0 ? (\r\n \r\n {this.state.ProductsErr.map((prop, key) =>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ): ('')} \r\n
Invalid UPCs in the uploaded file are listed below:
\r\n {prop[\"upc\"]}\r\n
\r\n \r\n \r\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.Products.length === 0 ? (\r\n \r\n \r\n \r\n No match for {this.state.fields.noProductMatch} on\r\n this label. Please try again.\r\n \r\n \r\n \r\n ) : (\r\n \r\n {this.state.Products.map((prop, key) =>\r\n this.selectProduct(prop, key)\r\n )}\r\n \r\n )}\r\n
ArtistTitleSelection_idUPCConfigurationUnitsToSetRelease_DateRecordLabel_ID
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n selectAddress = () => {\r\n if (\r\n this.state.modal.modalAction === \"E\" &&\r\n this.state.modal.modalDisplayAddr === false\r\n ) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n Select\r\n \r\n \r\n {this.state.PersonalContact.map((prop, key) => {\r\n return (\r\n \r\n {prop[\"name\"] +\r\n \".......................................\" +\r\n prop[\"shipToName\"]}\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 (\r\n this.state.modal.modalAction === \"D\" &&\r\n this.state.modal.modalDisplayAddr === false\r\n ) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n Select\r\n \r\n \r\n {this.state.PersonalContact.map((prop, key) => {\r\n return (\r\n \r\n {prop[\"name\"] +\r\n \".......................................\" +\r\n prop[\"shipToName\"]}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return <>;\r\n }\r\n };\r\n\r\n displayAddress = () => {\r\n if (this.state.modal.modalDisplayAddr) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Is this contact located inside the United States?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No P.O. Boxes allowed for address. Only english and numeric\r\n values allowed.\r\n
\r\n \r\n
\r\n \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 a reference PO# is needed for billing or paperwork purposes,\r\n please include on this name line.\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.domesticContact()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n };\r\n\r\n domesticContact = () => {\r\n if (this.state.optionfields.locatedYes) {\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 } else {\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 handleModalAlertShow = () => {\r\n let modal = this.state.modal;\r\n modal[\"modalAlertShow\"] = true;\r\n modal[\"modalAlertTitle\"] = \"Enter Value\";\r\n modal[\"modalAlertErrorMsg\"] = \"Value is missing\";\r\n this.setState({ modal });\r\n };\r\n\r\n handleModalAlertClose = (e: any) => {\r\n let modal = this.state.modal;\r\n modal[\"modalAlertShow\"] = false;\r\n this.setState({ modal });\r\n };\r\n\r\n handleOnSubmitAllSelect = (e: any) => {\r\n let { key } = this.state;\r\n let fields = this.state.fields;\r\n let upcLen = this.state.fields.upcLen; \r\n TableAllSelect.handleTableAllRowClick(e,upcLen);\r\n fields[\"multipleRowSelect\"] = TableAllSelect.getMultiArr(); \r\n this.setState({ fields, key });\r\n\r\n\r\n }\r\n handleOnSubmitMultipleSelect = (e: any) => {\r\n \r\n var hidValue = \"N\";\r\n var moratoriumProduct = \"\";\r\n let fields = this.state.fields;\r\n let iRow = this.state.key;\r\n let maxLimit = 0;\r\n fields[\"multipleRowSelect\"].map((target) => {\r\n maxLimit = iRow;\r\n iRow += 1;\r\n });\r\n\r\n if (maxLimit > 99) {\r\n alert(\"Product selection exceeds maximum limit\");\r\n return false;\r\n } //Reset the Key\r\n iRow = this.state.key;\r\n\r\n let optionfields = this.state.optionfields;\r\n let modal = this.state.modal;\r\n let { key } = this.state;\r\n let maxSelectedRow = 0;\r\n\r\n this.setState({ startKey: false });\r\n fields[\"multipleRowSelect\"].map((target) => {\r\n fields[\"artist\"][iRow] = target.cells[0].innerText;\r\n fields[\"title\"][iRow] = target.cells[1].innerText;\r\n fields[\"selection\"][iRow] = target.cells[2].innerText;\r\n fields[\"UPC\"][iRow] = target.cells[3].innerText;\r\n fields[\"config\"][iRow] = target.cells[4].innerText;\r\n fields[\"unitsPerSet\"][iRow] = target.cells[5].innerText;\r\n fields[\"rlsDate\"][iRow] = target.cells[6].innerText;\r\n fields[\"qty\"][iRow] = 1;\r\n fields[\"cost\"][iRow] = target.cells[0].children[\"hidCost\"].value;\r\n //if(target.cells[0].children['hidMoratorium'].value === \"Y\"){\r\n //hidValue = \"Y\";\r\n //if (moratoriumProduct === ''){\r\n //moratoriumProduct = target.cells[2].innerText + '-' + target.cells[3].innerText;\r\n //}else{\r\n //moratoriumProduct = moratoriumProduct + \",\\n\" + target.cells[2].innerText + '-' + target.cells[3].innerText;\r\n //}\r\n //}\r\n //if (this.state.fields.orderType==='TB'){\r\n // this.bCleanOrderFldsDisplayTB(iRow);\r\n //}\r\n //Billable Order\r\n if (\r\n this.state.fields.orderType === GlobalVar.BI ||\r\n this.state.fields.orderType === GlobalVar.TB\r\n ) {\r\n this.populateRow(\r\n iRow,\r\n target.cells[0].children[\"hidCost\"].value,\r\n fields\r\n );\r\n }\r\n\r\n maxSelectedRow = iRow;\r\n iRow += 1;\r\n fields[\"prodCount\"] = iRow;\r\n });\r\n //to set maximum selected/filled Row\r\n if (fields[\"maxKey\"] === 0 || maxSelectedRow > fields[\"maxKey\"]) {\r\n fields[\"maxKey\"] = maxSelectedRow;\r\n this.setState({ key: maxSelectedRow, fields });\r\n } else {\r\n this.setState({ key: maxSelectedRow });\r\n }\r\n\r\n //if(hidValue === \"Y\"){\r\n //alert(\"SORRY! This is an exclusive title allowing only specific accounts to order. Please check with the Label Production team to ensure your account is set up and approved to order. If approved, the selection will be available to order the next business day in this system.\\nThe below Moratorium product are.\\n\" + moratoriumProduct)\r\n //}\r\n\r\n modal[\"modalShow\"] = false;\r\n\r\n this.setState({ fields, modal, startKey: false });\r\n };\r\n //Billable order Populate Row\r\n populateRow = (row, targetCost, fields) => {\r\n if (fields[\"price\"][row] !== null) {\r\n let float_cost;\r\n let cost;\r\n let salesType;\r\n let float_price;\r\n let price_format;\r\n if (targetCost !== null) {\r\n float_cost = parseFloat(targetCost);\r\n fields[\"cost\"][row] = float_cost.toFixed(2);\r\n cost = float_cost.toFixed(2);\r\n salesType = this.CheckSaleType();\r\n if (\r\n salesType == 1 ||\r\n salesType == 3 ||\r\n salesType == 5 ||\r\n salesType == 9\r\n ) {\r\n float_price = parseFloat(\r\n BillableScript.CalculatedDiscountPrice(\r\n float_cost.toFixed(3),\r\n salesType\r\n )\r\n );\r\n price_format = float_price.toFixed(3);\r\n if (parseFloat(price_format) > 0) {\r\n if (parseFloat(price_format) > 0.01) {\r\n if (parseFloat(float_cost) > 1) {\r\n fields[\"price\"][row] = float_price.toFixed(2);\r\n } else {\r\n fields[\"price\"][row].value = price_format;\r\n }\r\n } else {\r\n fields[\"price\"][row] = \"0.010\";\r\n float_price = parseFloat(\"0.010\");\r\n price_format = float_price.toFixed(3);\r\n }\r\n } else {\r\n fields[\"price\"][row] = \"\";\r\n }\r\n\r\n if (cost !== \"NaN\" && parseFloat(price_format) > 0.0) {\r\n let float_cost = parseFloat(cost).toFixed(3);\r\n\r\n if (parseFloat(float_cost) > 0) {\r\n if (parseFloat(price_format) <= parseFloat(float_cost)) {\r\n this.dispDiscountPerc(float_price, row, fields);\r\n } else {\r\n fields[\"discount\"][row] = \"\";\r\n fields[\"flag\"][row] = true;\r\n //document.all('td_apprvlRqrd'+row).style.display='block';\r\n }\r\n } else {\r\n fields[\"discount\"][row] = \"\";\r\n fields[\"flag\"][row] = false;\r\n //document.all('td_apprvlRqrd'+row).style.display='none';\r\n }\r\n }\r\n } else {\r\n fields[\"price\"][row] = \"1.00\";\r\n }\r\n } else {\r\n fields[\"price\"][row] = \"1.00\";\r\n }\r\n }\r\n };\r\n handleOnSubmitAddress = (e: any) => {\r\n let loading = this.state.loading;\r\n loading[\"loading\"] = true;\r\n this.setState({ loading });\r\n\r\n if (this.state.modal.modalAddrButton === \"Disable Contact\") {\r\n this.InsertEditDisableContact();\r\n } else {\r\n if (this.ValidateAddress()) {\r\n let optionfields = this.state.optionfields;\r\n let selectfields = this.state.selectfields;\r\n let contactfields = this.state.contactfields;\r\n\r\n //Address Validation\r\n\r\n if (optionfields[\"locatedYes\"]) {\r\n var addrRetval;\r\n var data = {\r\n zip: contactfields[\"zip\"],\r\n city: contactfields[\"city\"],\r\n state: selectfields[\"state\"],\r\n };\r\n\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .getAddressValidation(data)\r\n .then((response) => {\r\n addrRetval = response.dbAddress;\r\n //alert(addrRetval);\r\n \r\n \r\n if (\r\n addrRetval == \"city/state/zip valid\" ||\r\n addrRetval == \"ignore\"\r\n ) {\r\n this.InsertEditDisableContact();\r\n //alert(\"city/state/zip valid\")\r\n } else {\r\n if (addrRetval == \"city/state/zip not valid\") {\r\n alert(\r\n \"The city/state/zip combination you entered is not valid\"\r\n );\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n } else {\r\n if (addrRetval != undefined) {\r\n var address;\r\n address = addrRetval.split(\"/\");\r\n if (\r\n window.confirm(\r\n \"Did you mean \" +\r\n address[0].trim() +\r\n \", \" +\r\n address[1].trim() +\r\n \" \" +\r\n address[2] +\r\n \"?\"\r\n ) == true\r\n ) {\r\n contactfields[\"city\"] = address[0].trim();\r\n selectfields[\"state\"] = address[1].trim();\r\n contactfields[\"zip\"] = address[2];\r\n this.setState({ contactfields, selectfields });\r\n }\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n }\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n console.error(\r\n \"There was an error loading operating company..., \" + error\r\n );\r\n });\r\n } else {\r\n this.InsertEditDisableContact();\r\n }\r\n }\r\n }\r\n };\r\n InsertEditDisableContact = () => {\r\n let loading = this.state.loading;\r\n var contactType = \"\";\r\n var domesticContact = \"0\";\r\n var country = \"\";\r\n var type = \"\";\r\n var provinceOrstate = \"\";\r\n var postalOrzip = \"\";\r\n if (this.state.optionfields.private) {\r\n contactType = \"C\";\r\n } else {\r\n contactType = \"P\";\r\n }\r\n if (this.state.optionfields.locatedYes) {\r\n domesticContact = \"1\";\r\n provinceOrstate = this.state.selectfields.state;\r\n postalOrzip = this.state.contactfields.zip;\r\n } else {\r\n provinceOrstate = this.state.contactfields.province;\r\n postalOrzip = this.state.contactfields.postal;\r\n }\r\n if (domesticContact === \"1\") {\r\n country = \"USA\";\r\n } else {\r\n country = this.state.contactfields.country;\r\n }\r\n if (this.state.modal.modalAddrButton === \"Add New Contact\") {\r\n type = \"add\";\r\n } else if (this.state.modal.modalAddrButton === \"Edit Contact\") {\r\n type = \"edit\";\r\n } else if (this.state.modal.modalAddrButton === \"Disable Contact\") {\r\n if (window.confirm(\"Are you sure?\") == true) {\r\n type = \"delete\";\r\n } else {\r\n type = \"nodelete\";\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n }\r\n }\r\n\r\n if (type === \"add\" || type === \"edit\" || type === \"delete\") {\r\n var data = {\r\n type: type,\r\n username: this.state.fields.uid,\r\n name: this.state.contactfields.name,\r\n shipToName: this.state.contactfields.company,\r\n addressLineOne: this.state.contactfields.address1,\r\n addressLineTwo: this.state.contactfields.address2,\r\n city: this.state.contactfields.city,\r\n state: provinceOrstate,\r\n zip: postalOrzip,\r\n country: country,\r\n phone: this.state.contactfields.phone,\r\n contactType: contactType,\r\n recordLabelId: this.state.fields.labelId,\r\n domesticContact: domesticContact,\r\n attentionId: this.state.contactfields.contactattentionId,\r\n };\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .privateContact(data)\r\n .then((response) => {\r\n if (response.success) {\r\n //alert(\"Record\")\r\n loading[\"loading\"] = false;\r\n let modal = this.state.modal;\r\n modal[\"modalShow\"] = false;\r\n this.setState({ modal, loading });\r\n //Reload the current record\r\n createOrderController\r\n .selectPersonalContact(\r\n sessionStorage.getItem(\"uid\")!,\r\n sessionStorage.getItem(\"label_id\")!,\r\n this.state.fields.orderType\r\n )\r\n .then((jsonPersonalContact) => {\r\n this.setState({\r\n PersonalContact: JSON.parse(\r\n JSON.stringify(jsonPersonalContact)\r\n ),\r\n });\r\n })\r\n .catch((error) => {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n console.error(\r\n \"There was an error loading operating company..., \" + error\r\n );\r\n });\r\n } else {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n }\r\n })\r\n .catch((error) => {\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n console.error(\"There is an error,...\" + error);\r\n });\r\n }\r\n };\r\n checkOrder = () => {\r\n let errors = this.state.errors;\r\n let fields = this.state.fields;\r\n let contactfields = this.state.contactfields;\r\n let loading = this.state.loading;\r\n errors[\"reason\"] = \"\";\r\n errors[\"shipToAddr\"] = \"\";\r\n\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB ||\r\n fields[\"orderType\"] === GlobalVar.NT\r\n ) {\r\n errors[\"accountNo\"] = \"\";\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB\r\n ) {\r\n errors[\"bill_to_name\"] = \"\";\r\n errors[\"bill_to_address\"] = \"\";\r\n errors[\"bill_to_city_state_zip\"] = \"\";\r\n }\r\n }\r\n\r\n this.setState({ errors });\r\n\r\n let formIsValid = true;\r\n\r\n if (!fields[\"reason\"]) {\r\n formIsValid = false;\r\n errors[\"reason\"] =\r\n \"You must give a reason for your order. Please fill in your reason for ordering the merchandise in the 'Reason for Order' blank.\";\r\n }\r\n if (!contactfields[\"shipName\"]) {\r\n formIsValid = false;\r\n errors[\"shipToAddr\"] =\r\n \"You must give ship address for your order. Please select personal contact\";\r\n }\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB ||\r\n fields[\"orderType\"] === GlobalVar.NT\r\n ) {\r\n if (!fields[\"accountNo\"]) {\r\n formIsValid = false;\r\n errors[\"accountNo\"] = \"Account Number is required!\";\r\n }\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB\r\n ) {\r\n if (!fields[\"bill_to_name\"]) {\r\n formIsValid = false;\r\n errors[\"bill_to_name\"] = \"Bill To Name/Company is required!\";\r\n }\r\n if (!fields[\"bill_to_address\"]) {\r\n formIsValid = false;\r\n errors[\"bill_to_address\"] = \"Bill To Address is required!\";\r\n }\r\n if (!fields[\"bill_to_city_state_zip\"]) {\r\n formIsValid = false;\r\n errors[\"bill_to_city_state_zip\"] =\r\n \"Bill To City, State, Zip is required!\";\r\n }\r\n }\r\n }\r\n if (\r\n this.state.selectfields.shipping_method !== \"Standard Ground\" &&\r\n fields[\"businessunit\"].trim() === \"\"\r\n ) {\r\n alert(\r\n \"Business Unit is required if 'Overnight' or '2nd Day' is selected!\"\r\n );\r\n formIsValid = false;\r\n }\r\n if (\r\n (fields[\"orderType\"] === GlobalVar.NT ||\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB ||\r\n fields[\"orderType\"] === GlobalVar.FG) &&\r\n formIsValid\r\n ) {\r\n if (fields[\"accountNo\"].length < 5) {\r\n alert(\r\n \"Account Numbers must be 5 characters in length. No spaces allowed\"\r\n );\r\n formIsValid = false;\r\n }\r\n }\r\n //Approvar is not assigned show error message in bottom of the product\r\n if (errors[\"errmsg\"] !== \"\") {\r\n formIsValid = false;\r\n }\r\n if (formIsValid) {\r\n var data;\r\n var totalQty = 0;\r\n var totalPrice = 0;\r\n var pricedata;\r\n var iPos = -1;\r\n var price = \"\";\r\n var regexPrice = new RegExp(\"^[0-9]*.?[0-9]*$\");\r\n var regexQty = new RegExp(\"^[0-9]*$\");\r\n var regexDate = new RegExp(\r\n \"^(0?[1-9]|1[0-2])/(0?[1-9]|1[0-9]|2[0-9]|3[0-1])/([0-9]{4})$\"\r\n );\r\n var regexStoreName = new RegExp(\"^[a-zA-Z0-9 /,.\\\\\\\\s]*$\");\r\n\r\n for (var i = 0; i <= fields[\"maxKey\"]; i++) {\r\n if (\r\n fields[\"productButton\"][i] === \"Search\" &&\r\n this.state.fields.action !== \"copy\"\r\n ) {\r\n alert(\"You must order missing row before you can complete an order.\");\r\n formIsValid = false;\r\n break;\r\n }\r\n data = parseInt(fields[\"qty\"][i]);\r\n if (isNaN(data) && this.state.fields.action !== \"copy\") {\r\n alert(\r\n \"You must enter the quantity before you can complete an order.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n if (!regexQty.test(data) && this.state.fields.action !== \"copy\") {\r\n alert(\r\n \"You have entered an invalid quantity. Please enter valid quantity\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n if (parseInt(data) < 1 && this.state.fields.action !== \"copy\") {\r\n alert(\r\n \"You must enter a quantity greater than 0 before you can complete an order.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n if (parseInt(data) < 1 && this.state.fields.action === \"copy\") {\r\n let indexKey = fields[\"qty\"].reduce(function (a, e, i) {\r\n if (e === \"0\") a.push(i);\r\n return a;\r\n }, []);\r\n for (var i = 0; i <= indexKey.length; i++) {\r\n this.handleDelete(indexKey[i], \"\");\r\n }\r\n }\r\n\r\n if (!isNaN(data)) {\r\n totalQty = totalQty + data;\r\n }\r\n\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB\r\n ) {\r\n if (!isNaN(data)) {\r\n pricedata = parseFloat(fields[\"price\"][i]);\r\n price = fields[\"price\"][i];\r\n if (!regexPrice.test(pricedata) && this.state.fields.action !== \"copy\") {\r\n alert(\r\n \"You have entered an invalid price. Please enter valid price\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n if (isNaN(pricedata) && this.state.fields.action !== \"copy\") {\r\n alert(\r\n \"You must enter the price before you can complete an order.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n } else if (pricedata < 0.01 && this.state.fields.action !== \"copy\") {\r\n alert(\r\n \"Please enter the price not less than $.01 before you can complete an order.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n iPos = price.indexOf(\".\");\r\n if (iPos > -1) {\r\n price = price.substring(iPos, price.length);\r\n if (price.length > 4) {\r\n alert(\r\n \"You have entered an invalid price. Please enter up to 3 digits after the decimal.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n data = parseFloat(fields[\"price\"][i]);\r\n if (!isNaN(data)) {\r\n totalPrice = totalPrice + data;\r\n }\r\n }\r\n if (fields[\"orderType\"] === GlobalVar.TB) {\r\n if (\r\n fields[\"artistStoreName\"][i] === undefined ||\r\n fields[\"artistStoreName\"][i] === \"\"\r\n ) {\r\n alert(\r\n \"You must enter the Artist Store Name before you can complete an order.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n if (!regexStoreName.test(fields[\"artistStoreName\"][i])) {\r\n //alert(\"You have entered an invalid Artist Store Name. Please enter valid Artist Store Name.\");\r\n alert(\r\n \"You have entered an invalid special characters such as \" +\r\n regexStoreName +\r\n \". Please enter valid Artist Store Name\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n //validation formated date MM/dd/yyyy.\r\n if (\r\n fields[\"tourDate\"][i] === undefined ||\r\n fields[\"tourDate\"][i] === \"\"\r\n ) {\r\n alert(\r\n \"You must enter the tour date before you can complete an order.\"\r\n );\r\n formIsValid = false;\r\n break;\r\n }\r\n if (!regexDate.test(fields[\"tourDate\"][i])) {\r\n alert(\"You have entered an invalid date. Please enter valid date.\");\r\n formIsValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (totalQty == 0 && formIsValid && this.state.fields.action !== \"copy\") {\r\n alert(\"You must order something before you can complete an order.\");\r\n formIsValid = false;\r\n }\r\n\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB\r\n ) {\r\n if (\r\n totalPrice == 0 &&\r\n formIsValid &&\r\n this.state.fields.action !== \"copy\"\r\n ) {\r\n alert(\"You must order something before you can complete an order.\");\r\n formIsValid = false;\r\n }\r\n if (fields[\"orderType\"] === GlobalVar.BI) {\r\n //Need to write code for Billalbe Order\r\n if (\r\n !this.state.optionfields.clean &&\r\n !this.state.optionfields.marked &&\r\n !this.state.optionfields.clean_56 &&\r\n !this.state.optionfields.marked_56 &&\r\n !this.state.optionfields.clean_59 &&\r\n !this.state.optionfields.marked_59\r\n ) {\r\n alert(\"You must select a 'Sales Type'\");\r\n formIsValid = false;\r\n }\r\n }\r\n if (fields[\"orderType\"] === GlobalVar.TB) {\r\n //Need to write code for Billalbe Order\r\n if (!this.state.optionfields.clean) {\r\n alert(\"You must select a 'Sales Type'\");\r\n formIsValid = false;\r\n }\r\n }\r\n //confimation alert Billable order for ApprovalRequired flag.\r\n if (\r\n (fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB) &&\r\n formIsValid\r\n ) {\r\n var isConfirmed = this.confirmation(fields);\r\n if (!isConfirmed) {\r\n formIsValid = false;\r\n }\r\n }\r\n } else {\r\n if (!this.state.optionfields.clean && !this.state.optionfields.marked) {\r\n alert(\"You must select a 'Sales Type'\");\r\n formIsValid = false;\r\n }\r\n }\r\n }\r\n\r\n if (!formIsValid) {\r\n loading[\"loadingOrderComplete\"] = false;\r\n this.setState({ loading });\r\n }\r\n this.setState({ fields, errors });\r\n return formIsValid;\r\n };\r\n approvalRequired = (fields) => {\r\n var isApprovalRequired = false;\r\n var MAX_PRODUCTS = fields[\"maxKey\"];\r\n for (var i = 0; i <= MAX_PRODUCTS; i++) {\r\n if (fields[\"flag\"][i]) {\r\n isApprovalRequired = true;\r\n break;\r\n }\r\n }\r\n return isApprovalRequired;\r\n };\r\n confirmation = (fields) => {\r\n var isFlagApproved = this.approvalRequired(fields);\r\n var isConfirmed = true;\r\n if (isFlagApproved) {\r\n var salesType = this.CheckSaleType();\r\n switch (salesType) {\r\n case 1:\r\n isConfirmed = window.confirm(\r\n \"Discount does not equal 40%, your order will be forwarded to EVP\" +\r\n String.fromCharCode(10) +\r\n \"& CFO of North America for Approval.\" +\r\n String.fromCharCode(10) +\r\n \"Please check the prices you have entered for Clean Product.\"\r\n );\r\n break;\r\n case 9:\r\n case 3:\r\n isConfirmed = window.confirm(\r\n \"Discount is greater than 15%, your order will be forwarded to EVP\" +\r\n String.fromCharCode(10) +\r\n \"& CFO of North America for Approval.\" +\r\n String.fromCharCode(10) +\r\n \"Please check the prices you have entered for Clean Product.\"\r\n );\r\n break;\r\n case 5:\r\n isConfirmed = window.confirm(\r\n \"Discount does not equal 30%, your order will be forwarded to EVP\" +\r\n String.fromCharCode(10) +\r\n \"& CFO of North America for Approval.\" +\r\n String.fromCharCode(10) +\r\n \"Please check the prices you have entered for Clean Product.\"\r\n );\r\n break;\r\n }\r\n }\r\n return isConfirmed;\r\n };\r\n handleOnSubmitOrderComplete = (e: any) => {\r\n let loading = this.state.loading;\r\n loading[\"loadingOrderComplete\"] = true;\r\n this.setState({ loading });\r\n e.preventDefault();\r\n if (e.currentTarget.innerText === \"Order Complete\") {\r\n //Enable submit Order and print\r\n if (this.checkOrder()) {\r\n loading[\"loadingOrderComplete\"] = false;\r\n this.setState({ loading, orderComplete: true });\r\n }\r\n }\r\n };\r\n handleOnSubmitOrder = (e: any) => {\r\n let loading = this.state.loading;\r\n let userfields = this.state.userfields;\r\n var userType = sessionStorage.getItem(\"usertype_id\");\r\n var currentTargetName = e.currentTarget.name;\r\n if (this.checkOrder()) {\r\n if (currentTargetName === \"submitOrder\") {\r\n loading[\"loadingSubmitOrder\"] = true;\r\n this.setState({ isPrint: false });\r\n } //submi order print\r\n else {\r\n loading[\"loadingSubmitandPrintOrder\"] = true;\r\n this.setState({ isPrint: true });\r\n }\r\n this.setState({ loading });\r\n\r\n if (\r\n userType === \"A\" &&\r\n sessionStorage.getItem(\"user_label_id\") === userfields[\"sOrderLabelID\"]\r\n ) {\r\n // if it's an approver with inbox-weight and throw-weight of 77....\r\n // now we know they are an approver based on their user record in the user table\r\n // now we look in the process_lookup table to determine what approval role they\r\n // play in approving this particular order\r\n let commonController = new CommonController();\r\n commonController\r\n .getProcessLookupUserType(\r\n this.state.fields.Process_Name,\r\n sessionStorage.getItem(\"uid\")!\r\n )\r\n .then((resProcessLookupUserType) => {\r\n if (resProcessLookupUserType.success) {\r\n this.create_order(\r\n resProcessLookupUserType.User_Type,\r\n currentTargetName,\r\n loading,\r\n userfields,\r\n \"true\"\r\n );\r\n } else {\r\n \r\n this.create_order(\r\n \"R\",\r\n currentTargetName,\r\n loading,\r\n userfields,\r\n \"false\"\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n if (currentTargetName === \"submitOrder\") {\r\n loading[\"loadingSubmitOrder\"] = false;\r\n } //submi order print\r\n else {\r\n loading[\"loadingSubmitandPrintOrder\"] = false;\r\n }\r\n this.setState({ loading });\r\n });\r\n } else {\r\n this.create_order(\"R\", currentTargetName, loading, userfields, \"false\");\r\n }\r\n } else {\r\n if (currentTargetName === \"submitOrder\") {\r\n loading[\"loadingSubmitOrder\"] = false;\r\n } //submi order print\r\n else {\r\n loading[\"loadingSubmitandPrintOrder\"] = false;\r\n }\r\n this.setState({ loading });\r\n }\r\n /*if len(iMaxApprovers)=0 or _\r\n\t\t\tlen(trim(sProcessName))=0 or _\r\n\t\t len(trim(request(\"shipping_method\")))=0 or _\r\n\t\t len(trim(request(\"business_unit\")))=0 then\r\n\t\t\tResponse.Write(\"There was an error processing your order. Please try again.
\")\r\n\t\t\tResponse.Write(\"\")\r\n Response.End\r\n */\r\n //let backorder = Request.Form(\"backorder\")\r\n };\r\n create_order = (\r\n userType,\r\n currentTargetName,\r\n loading,\r\n userfields,\r\n adjustMaxApprover\r\n ) => {\r\n let fields = this.state.fields;\r\n let contactfields = this.state.contactfields;\r\n let selectfields = this.state.selectfields;\r\n let iMaterial = 0;\r\n let sSalesType = \"\";\r\n let isCleanedSalesType = false;\r\n let orderType = fields[\"orderType\"];\r\n if (orderType === GlobalVar.FG) {\r\n iMaterial = this.state.optionfields.marked ? 0 : 1;\r\n sSalesType = this.state.optionfields.marked\r\n ? GlobalVar.MARKED_53\r\n : GlobalVar.CLEAN_51;\r\n } else if (orderType === GlobalVar.BI) {\r\n //Billable order\r\n if (this.state.optionfields.marked) {\r\n sSalesType = GlobalVar.MARKED_54;\r\n isCleanedSalesType = false;\r\n iMaterial = 0;\r\n } else if (this.state.optionfields.clean) {\r\n sSalesType = GlobalVar.CLEAN_54;\r\n isCleanedSalesType = true;\r\n iMaterial = 1;\r\n } else if (this.state.optionfields.marked_56) {\r\n sSalesType = GlobalVar.MARKED_56;\r\n isCleanedSalesType = false;\r\n iMaterial = 0;\r\n } else if (this.state.optionfields.clean_56) {\r\n sSalesType = GlobalVar.CLEAN_56;\r\n isCleanedSalesType = true;\r\n iMaterial = 1;\r\n } else if (this.state.optionfields.marked_59) {\r\n sSalesType = GlobalVar.MARKED_59;\r\n isCleanedSalesType = false;\r\n iMaterial = 0;\r\n } else if (this.state.optionfields.clean_59) {\r\n sSalesType = GlobalVar.CLEAN_59;\r\n isCleanedSalesType = true;\r\n iMaterial = 1;\r\n }\r\n } else if (orderType === GlobalVar.TB) {\r\n if (this.state.optionfields.clean) {\r\n sSalesType = GlobalVar.CLEAN_66;\r\n isCleanedSalesType = true;\r\n iMaterial = 1;\r\n }\r\n } else if (orderType === GlobalVar.S89) {\r\n // if(this.state.optionfields.clean){\r\n sSalesType = GlobalVar.MARKED_89;\r\n // isCleanedSalesType=true;\r\n iMaterial = 0;\r\n // }\r\n } else if (orderType === GlobalVar.NT) {\r\n iMaterial = this.state.optionfields.marked ? 0 : 1;\r\n sSalesType = this.state.optionfields.marked\r\n ? GlobalVar.MARKED_91\r\n : GlobalVar.CLEAN_91;\r\n }\r\n var sProcessName = fields[\"Process_Name\"]; //sessionStorage.getItem(\"process_name\")!;\r\n let sRequestorWeight;\r\n let new_order_id;\r\n var iMaxApprovers = \"\";\r\n\r\n let commonController = new CommonController();\r\n commonController\r\n .getApprovalProcess(sProcessName)\r\n .then((resApprovalProcess) => {\r\n iMaxApprovers =\r\n adjustMaxApprover === \"true\"\r\n ? resApprovalProcess.Max_Approvers - 1\r\n : resApprovalProcess.Max_Approvers;\r\n if (\r\n fields[\"orderType\"] === GlobalVar.BI ||\r\n fields[\"orderType\"] === GlobalVar.TB\r\n ) {\r\n //Billable\r\n if (\r\n iMaxApprovers.length === 0 ||\r\n sProcessName.trim().length === 0 ||\r\n selectfields[\"shipping_method\"].length === 0 ||\r\n fields[\"accountNo\"].length === 0 ||\r\n fields[\"businessunit\"].length === 0 ||\r\n fields[\"bill_to_name\"].length === 0 ||\r\n fields[\"bill_to_address\"].length === 0 ||\r\n fields[\"bill_to_city_state_zip\"].length === 0\r\n ) {\r\n //Response.Write(\"There was an error processing your order. Please try again.
\")\r\n alert(\r\n \"There was an error processing your order. Please try again.\"\r\n );\r\n //Response.Write(\"\")\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n return false;\r\n }\r\n } else {\r\n if (\r\n iMaxApprovers.length === 0 ||\r\n sProcessName.trim().length === 0 ||\r\n selectfields[\"shipping_method\"].length === 0 ||\r\n fields[\"businessunit\"].length === 0\r\n ) {\r\n //Response.Write(\"There was an error processing your order. Please try again.
\")\r\n alert(\r\n \"There was an error processing your order. Please try again.\"\r\n );\r\n //Response.Write(\"\")\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n return false;\r\n }\r\n }\r\n var backorder = \"0\";\r\n let createOrderController = new CreateOrderController();\r\n createOrderController\r\n .getPrivateContact(this.state.contactfields.attentionId)\r\n .then((resPrivateContact) => {\r\n if (resPrivateContact.success) {\r\n var insertOrderSummary = {\r\n alias: sessionStorage.getItem(\"uid\"),\r\n processName: sProcessName,\r\n arriveBy: null,\r\n businessUnit: fields[\"businessunit\"],\r\n //accountNo : (orderType !== GlobalVar.FG)?fields[\"accountNo\"]:'',\r\n accountNo: fields[\"accountNo\"],\r\n freightBillingInfo: fields[\"freightBillingInfo\"],\r\n prepaid: this.state.checkfields.prepaid ? 1 : 0,\r\n specialInstructions: fields[\"specialIns\"],\r\n overnight:\r\n selectfields[\"shipping_method\"] !== \"Standard Ground\" ||\r\n selectfields[\"shipping_method\"] !== \"Pick-Up\"\r\n ? 1\r\n : 0,\r\n statusId: 1,\r\n legacyOrder: null,\r\n name: resPrivateContact.Name,\r\n shipToName: resPrivateContact.ShipToName,\r\n addressLineOne: resPrivateContact.AddressLineOne,\r\n addressLineTwo: resPrivateContact.AddressLineTwo,\r\n city: resPrivateContact.City,\r\n state: resPrivateContact.State,\r\n zip: resPrivateContact.Zip,\r\n country: resPrivateContact.Country,\r\n phone: resPrivateContact.Phone,\r\n requestorWeight: iMaxApprovers,\r\n approverId: null,\r\n approverDate: null,\r\n approveByClean: null,\r\n approveByOvernight: null,\r\n labelId: this.state.userfields.sOrderLabelID,\r\n superLabelId: sessionStorage.getItem(\"user_label_id\"),\r\n ipAddress: fields[\"ipAddress\"],\r\n material: iMaterial,\r\n reason: fields[\"reason\"].substring(0, 100),\r\n department: sessionStorage.getItem(\"user_department\"),\r\n customerNumber: sessionStorage.getItem(\"CustomerNumber\"),\r\n shipMethod: selectfields[\"shipping_method\"],\r\n billable:\r\n orderType === GlobalVar.BI || orderType === GlobalVar.TB\r\n ? 1\r\n : 0,\r\n salesType: sSalesType,\r\n billToName:\r\n orderType !== GlobalVar.FG ? fields[\"bill_to_name\"] : \"\",\r\n billToAddress:\r\n orderType !== GlobalVar.FG ? fields[\"bill_to_address\"] : \"\",\r\n billToCityStateZip:\r\n orderType !== GlobalVar.FG\r\n ? fields[\"bill_to_city_state_zip\"]\r\n : \"\",\r\n backorder: backorder,\r\n deliveryDate: null,\r\n ntBillableT: orderType === GlobalVar.NT ? 1 : 0,\r\n };\r\n \r\n\r\n /*var data = {}\r\n sRequestorWeight = \"0\";\r\n for (let s=0;s<=fields['maxKey'];s++) \r\n { \r\n console.log(\"I:\" + s);\r\n\r\n data = {\r\n newOrderId:parseInt(\"111111\"),\r\n selectionId:fields['selection'][s],\r\n quantityApproved:(sRequestorWeight===\"0\")?parseInt(fields['qty'][s]):\"0\",\r\n quantityRequested:(sRequestorWeight===\"0\")?parseInt(fields['qty'][s]):\"0\",\r\n orderType:fields['orderType'],\r\n isCleanedSalesType:(isCleanedSalesType)?1:0,\r\n price:(orderType==='BI')?fields['price'][s]:0,\r\n }\r\n console.log(\"insertOrderSummary\",data)\r\n }*/\r\n\r\n createOrderController\r\n .insertOrderSummary(insertOrderSummary)\r\n .then((response) => {\r\n if (response !== undefined) {\r\n sRequestorWeight = \"0\";\r\n let newOrderId = response.newOrderId;\r\n\r\n var data = {};\r\n for (let s = 0; s <= fields[\"maxKey\"]; s++) {\r\n data = {\r\n newOrderId: parseInt(newOrderId),\r\n selectionId: fields[\"selection\"][s],\r\n quantityApproved:\r\n sRequestorWeight === \"0\"\r\n ? parseInt(fields[\"qty\"][s])\r\n : \"0\",\r\n quantityRequested:\r\n sRequestorWeight === \"0\"\r\n ? parseInt(fields[\"qty\"][s])\r\n : \"0\",\r\n orderType: fields[\"orderType\"],\r\n isCleanedSalesType: isCleanedSalesType ? 1 : 0,\r\n price:\r\n orderType === GlobalVar.BI ||\r\n orderType === GlobalVar.TB\r\n ? fields[\"price\"][s]\r\n : 0,\r\n artistStoreName:\r\n orderType === GlobalVar.TB\r\n ? fields[\"artistStoreName\"][s]\r\n : \"\",\r\n tourDate:\r\n orderType === GlobalVar.TB\r\n ? fields[\"tourDate\"][s]\r\n : \"\",\r\n };\r\n createOrderController\r\n .updateInsertOrderItems(data)\r\n .then((response) => {\r\n \r\n if (response !== undefined) {\r\n //alert('Response: ' + response.success);\r\n \r\n\r\n if (s === fields[\"maxKey\"]) {\r\n \r\n //Need to check if self requester in order_new.asp line no.55\r\n createOrderController\r\n .checkSelfApprover(\r\n sessionStorage.getItem(\"uid\")!,\r\n sProcessName\r\n )\r\n .then((response) => {\r\n if (response.value > 0) {\r\n let orderController = new OrderController(\r\n newOrderId,\r\n sessionStorage.getItem(\"uid\")!\r\n );\r\n orderController\r\n .routeNewOrder(true)\r\n .then((response) => {\r\n this.stopSubmitLoading(\r\n currentTargetName,\r\n loading\r\n );\r\n\r\n if (!this.state.isPrint) {\r\n alert(\r\n \"Your Order has been Submitted\"\r\n );\r\n this.props.history.push(\r\n \"/admin/home\"\r\n );\r\n } else {\r\n \r\n this.props.history.push({\r\n pathname: \"/admin/viewOrderDetails\",\r\n state: {\r\n Order_id: newOrderId,\r\n task_For: \"P\",\r\n },\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n \r\n });\r\n } else {\r\n let orderController = new OrderController(\r\n newOrderId,\r\n sessionStorage.getItem(\"uid\")!\r\n );\r\n orderController\r\n .routeNewOrder(false)\r\n .then((response) => {\r\n this.stopSubmitLoading(\r\n currentTargetName,\r\n loading\r\n );\r\n\r\n if (!this.state.isPrint) {\r\n alert(\r\n \"Your Order has been Submitted\"\r\n );\r\n this.props.history.push(\r\n \"/admin/home\"\r\n );\r\n } else {\r\n \r\n \r\n this.props.history.push({\r\n pathname: \"/admin/viewOrderDetails\",\r\n state: {\r\n Order_id: newOrderId,\r\n task_For: \"P\",\r\n },\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n \r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n });\r\n }\r\n } else {\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n \r\n }\r\n })\r\n .catch((error) => {\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n });\r\n }\r\n } else {\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n \r\n }\r\n })\r\n .catch((error) => {\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n });\r\n } else {\r\n alert(\r\n \"Nice Try. No Recipient is specified for this order. Page redirecting to 'Home', and start from the beginning.\"\r\n );\r\n this.props.history.push(\"/admin/home\");\r\n }\r\n })\r\n .catch((error) => {\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n });\r\n })\r\n .catch((error) => {\r\n this.stopSubmitLoading(currentTargetName, loading);\r\n });\r\n };\r\n\r\n stopSubmitLoading = (currentTargetName, loading) => {\r\n if (currentTargetName === \"submitOrder\") {\r\n loading[\"loadingSubmitOrder\"] = false;\r\n } //submi order print\r\n else {\r\n loading[\"loadingSubmitandPrintOrder\"] = false;\r\n }\r\n this.setState({ loading });\r\n };\r\n\r\n showModalFooterButton = (loading) => {\r\n if (this.state.modal.modalDisplayAddr && this.state.modal.modalBody) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n if (sessionStorage.getItem(\"multiple_select\") === \"1\") {\r\n if (this.state.Products.length > 0) {\r\n return (\r\n
\r\n \r\n {loading && (\r\n \r\n )}\r\n {loading && wait...}\r\n {!loading && Select Choice(s)}\r\n \r\n \r\n Cancel Search\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n Close\r\n \r\n
\r\n );\r\n }\r\n } else {\r\n return (\r\n
\r\n \r\n Close\r\n \r\n
\r\n );\r\n }\r\n }\r\n };\r\n\r\n clearError() {\r\n let errors = this.state.errors;\r\n errors[\"company\"] = \"\";\r\n errors[\"name\"] = \"\";\r\n errors[\"address1\"] = \"\";\r\n errors[\"city\"] = \"\";\r\n errors[\"postal\"] = \"\";\r\n errors[\"country\"] = \"\";\r\n errors[\"state\"] = \"\";\r\n errors[\"zip\"] = \"\";\r\n this.setState({ errors });\r\n }\r\n\r\n clearfields() {\r\n let selectfields = this.state.selectfields;\r\n let optionfields = this.state.optionfields;\r\n let contactfields = this.state.contactfields;\r\n contactfields[\"company\"] = \"\";\r\n contactfields[\"name\"] = \"\";\r\n contactfields[\"address1\"] = \"\";\r\n contactfields[\"address2\"] = \"\";\r\n contactfields[\"city\"] = \"\";\r\n contactfields[\"postal\"] = \"\";\r\n contactfields[\"country\"] = \"\";\r\n contactfields[\"state\"] = \"\";\r\n selectfields[\"state\"] = \"\";\r\n contactfields[\"zip\"] = \"\";\r\n contactfields[\"phone\"] = \"\";\r\n optionfields[\"private\"] = true;\r\n optionfields[\"public\"] = false;\r\n this.setState({ contactfields, selectfields, optionfields });\r\n }\r\n\r\n ValidateAddress() {\r\n this.clearError();\r\n //company:'',name:'',address1:'',city:'',state:'',zip:'',postal:'',country:''\r\n let contactfields = this.state.contactfields;\r\n let optionfields = this.state.optionfields;\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n\r\n let Tcompany = contactfields[\"company\"];\r\n let TName = contactfields[\"name\"];\r\n let Taddress1 = contactfields[\"address1\"];\r\n let Taddress2 = contactfields[\"address2\"];\r\n let TCity = contactfields[\"city\"];\r\n let TProvince = contactfields[\"province\"];\r\n let TPostal = contactfields[\"postal\"];\r\n let TCountry = contactfields[\"country\"];\r\n let TPhone = contactfields[\"phone\"];\r\n\r\n if (!Tcompany) {\r\n formIsValid = false;\r\n errors[\"company\"] = \"Company is required!\";\r\n }\r\n if (!TName) {\r\n formIsValid = false;\r\n errors[\"name\"] = \"Name is required!\";\r\n }\r\n if (!Taddress1) {\r\n formIsValid = false;\r\n errors[\"address1\"] = \"Address 1 is required!\";\r\n }\r\n if (!TCity) {\r\n formIsValid = false;\r\n errors[\"city\"] = \"City is required!\";\r\n }\r\n if (optionfields[\"locatedNo\"]) {\r\n if (!TPostal) {\r\n formIsValid = false;\r\n errors[\"postal\"] = \"Postal is required!\";\r\n }\r\n if (!TCountry) {\r\n formIsValid = false;\r\n errors[\"country\"] = \"Country is required!\";\r\n }\r\n }\r\n if (optionfields[\"locatedYes\"]) {\r\n if (!selectfields[\"state\"]) {\r\n formIsValid = false;\r\n errors[\"state\"] = \"State is required!\";\r\n }\r\n\r\n if (!contactfields[\"zip\"]) {\r\n formIsValid = false;\r\n errors[\"zip\"] = \"Zip is required!\";\r\n } else {\r\n if (\r\n contactfields[\"zip\"].length != 5 &&\r\n contactfields[\"zip\"].length != 10\r\n ) {\r\n alert(\"Please enter your 5 digit or 5+4 digit zip code.\");\r\n formIsValid = false;\r\n }\r\n }\r\n }\r\n\r\n var regex = new RegExp(\"^[ A-Za-z0-9,)(./-]+$\");\r\n var retval = \"\";\r\n if (Tcompany.length > 0 && TName.length > 0 && Taddress1.length > 0) {\r\n //alert(\"length\");\r\n if (!regex.test(Tcompany)) {\r\n //modal['modalAlertShow'] = true;\r\n //modal['modalAlertErrorMsg'] = 'Special/Non-English Characters Not Allowed';\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('company').focus();\r\n Tcompany.focus();\r\n formIsValid = false;\r\n }\r\n if (!regex.test(TName)) {\r\n //modal['modalAlertShow'] = true;\r\n //modal['modalAlertErrorMsg'] = 'Special/Non-English Characters Not Allowed';\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('name').focus();\r\n //this.nameInput.current.focus();\r\n formIsValid = false;\r\n }\r\n if (!regex.test(Taddress1)) {\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('address1').focus();\r\n formIsValid = false;\r\n }\r\n if (Taddress2.length > 0) {\r\n if (!regex.test(Taddress2)) {\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('address2').focus();\r\n formIsValid = false;\r\n }\r\n }\r\n if (TCity.length > 0) {\r\n if (!regex.test(TCity)) {\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('city').focus();\r\n formIsValid = false;\r\n }\r\n }\r\n if (TProvince.length > 0) {\r\n if (!regex.test(TProvince)) {\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('province').focus();\r\n formIsValid = false;\r\n }\r\n }\r\n if (TPostal.length > 0) {\r\n if (!regex.test(TPostal)) {\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('postal').focus();\r\n formIsValid = false;\r\n }\r\n }\r\n // if (TCountry.length > 0) {\r\n // if (!regex.test(TCountry)) {\r\n // alert(\"Special/Non-English Characters Not Allowed\");\r\n // //document.getElementById('country').focus();\r\n // formIsValid = false;\r\n // }\r\n // }\r\n if (TPhone.length > 0) {\r\n if (!regex.test(TPhone)) {\r\n alert(\"Special/Non-English Characters Not Allowed\");\r\n //document.getElementById('phone').focus();\r\n formIsValid = false;\r\n }\r\n }\r\n }\r\n\r\n if (!formIsValid) {\r\n let loading = this.state.loading;\r\n loading[\"loading\"] = false;\r\n this.setState({ loading });\r\n }\r\n this.setState({\r\n errors,\r\n contactfields,\r\n });\r\n\r\n return formIsValid;\r\n }\r\n\r\n checkAlphaNumericInput(element: any) {\r\n let contactfields = this.state.contactfields;\r\n contactfields[element.currentTarget.name] =\r\n element.currentTarget.value.replace(\r\n /[!@#$%^&*_+\\-=\\`~[\\]{}'\\\\|<>\\?]/g,\r\n \"\"\r\n );\r\n this.setState({ contactfields });\r\n }\r\n checkAlphaNumericInputCity(element: any) {\r\n let contactfields = this.state.contactfields;\r\n contactfields[element.currentTarget.name] =\r\n element.currentTarget.value.replace(\r\n /[!@#$%^&*_+\\-=\\`~[\\]{}();:\"/,.'\\\\|<>\\?]/g,\r\n \"\"\r\n );\r\n this.setState({ contactfields });\r\n }\r\n checkNumericInput(element: any) {\r\n let contactfields = this.state.contactfields;\r\n let optionfields = this.state.optionfields;\r\n if (optionfields[\"locatedNo\"]) {\r\n contactfields[element.currentTarget.name] =\r\n element.currentTarget.value.replace(\r\n /[().!@#$%^&*_+\\-=\\`~[\\]{}'\\\\|<>\\/,?\";:]/g,\r\n \"\"\r\n );\r\n } else {\r\n contactfields[element.currentTarget.name] =\r\n element.currentTarget.value.replace(/[^0-9]/g, \"\");\r\n }\r\n this.setState({ contactfields });\r\n }\r\n\r\n checkNumericInputcheckLengh(element: any) {\r\n let contactfields = this.state.contactfields;\r\n let modal = this.state.modal;\r\n let optionfields = this.state.optionfields;\r\n const target = element.currentTarget;\r\n if (optionfields[\"locatedYes\"]) {\r\n contactfields[element.currentTarget.name] =\r\n element.currentTarget.value.replace(\r\n /[().!@#$%^&*_+\\-=\\`~[\\]{}'\\\\|<>\\/,?\";:]/g,\r\n \"\"\r\n );\r\n if (contactfields[\"zip\"].length > 5) {\r\n //modal['modalAlertShow']=true;\r\n //modal['modalAlertErrorMsg']=\"Zip length must be five\";\r\n alert(\"Zip length must be five\");\r\n contactfields[\"zip\"] = \"\";\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n this.setState({ contactfields, modal });\r\n return false;\r\n } else {\r\n target.style.border = this.defaultBorder;\r\n this.setState({ contactfields });\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n setFocus(target: any) {\r\n //setTimeout(function () { target.focus(); },5);\r\n }\r\n\r\n checkNumericInputSearchProduct(i, element: any) {\r\n let fields = this.state.fields;\r\n //contactfields[element.currentTarget.name] = element.currentTarget.value.replace(/[().!@#$%^&*_+\\-=\\`~[\\]{}'\\\\|<>\\/,?\";:]/g,'');\r\n fields[element.currentTarget.name][i] = element.currentTarget.value.replace(\r\n /[^0-9]/g,\r\n \"\"\r\n );\r\n this.setState({ fields });\r\n }\r\n radioCleanPrompt = () => {\r\n let cleanLabel = \"\";\r\n let sValue = \"\";\r\n if (this.state.fields.orderType === GlobalVar.FG) {\r\n cleanLabel = GlobalVar.CLEAN_51;\r\n sValue = \"1\";\r\n } else if (this.state.fields.orderType === GlobalVar.NT) {\r\n cleanLabel = GlobalVar.CLEAN_91;\r\n sValue = \"7\";\r\n } else if (this.state.fields.orderType === GlobalVar.BI) {\r\n cleanLabel = GlobalVar.CLEAN_54;\r\n sValue = \"1\";\r\n } else if (this.state.fields.orderType === GlobalVar.TB) {\r\n cleanLabel = GlobalVar.CLEAN_66;\r\n sValue = \"9\";\r\n } else if (this.state.fields.orderType === GlobalVar.S89) {\r\n cleanLabel = GlobalVar.MARKED_89;\r\n sValue = \"11\";\r\n }\r\n if (this.state.userfields.bCleanPrompt) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n radioCleanPrompt_56 = () => {\r\n if (this.state.userfields.bCleanPrompt) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n radioCleanPrompt_59 = () => {\r\n if (this.state.userfields.bCleanPrompt) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n isOvernightShipping = () => {\r\n let fields = this.state.fields;\r\n if (fields[\"isOvernight\"]) {\r\n return (\r\n \r\n \r\n Shipping \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n render() {\r\n if (this.state.loggedIn === false) {\r\n return ;\r\n }\r\n const { loading } = this.state;\r\n const navStyle = {\r\n backgroundColor: \"rgba(0,0,0,.03)\",\r\n border: \"0px solid\",\r\n borderBottom: \"1px solid rgba(0,0,0,.125)\",\r\n height: \"40px\",\r\n width: \"100%\",\r\n marginBottom: \"0\",\r\n };\r\n const instructionFontColor = {\r\n color: \"#dc3545!important\",\r\n };\r\n const displayShiptoNavTB = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n Ship To\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const displayShiptoNav = () => {\r\n if (this.state.fields.shipName !== \"\") {\r\n return (\r\n \r\n \r\n \r\n \r\n Ship To\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n Ship To\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n const displayShipTo = () => {\r\n if (this.state.contactfields.shipName !== \"\") {\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 } else {\r\n return (\r\n
\r\n {this.state.errors.shipToAddr}\r\n
\r\n );\r\n }\r\n };\r\n const selectPersonalContact = () => {\r\n return (\r\n \r\n \r\n {this.state.PersonalContact.map((prop, key) => {\r\n return (\r\n \r\n {prop[\"name\"] +\r\n \"...\" +\r\n prop[\"shipToName\"] +\r\n \"...\" +\r\n prop[\"city\"] +\r\n \"...\" +\r\n prop[\"state\"]}\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n const displayHeader = () => {\r\n if (this.state.fields.orderType === GlobalVar.FG) {\r\n return \"Create Free Goods Order\"; // + this.state.fields.orderType\r\n } else if (this.state.fields.orderType === GlobalVar.NT) {\r\n return \"Non-Billable Transfer Order\"; // + this.state.fields.orderType\r\n } else if (this.state.fields.orderType === GlobalVar.BI) {\r\n //BILLABLE:BI\r\n return \"Billable Order\"; // + this.state.fields.orderType\r\n } else if (this.state.fields.orderType === GlobalVar.TB) {\r\n return \"Ticket Bundling\";\r\n } else if (this.state.fields.orderType === GlobalVar.S89) {\r\n return \"D2C Order\";\r\n }\r\n };\r\n const displayBusinessunitNote = () => {\r\n if (this.state.fields.orderType === GlobalVar.FG) {\r\n //FREE GOOD and NT BILLABLE ORDER\r\n return \"Once approved, please allow up to 3 business days for your order to be picked and shipped. This does not include actual shipping time to reach your destination. Any Approved orders after 10:30 am EST will be processed the following business day.\";\r\n } else {\r\n //BILLABLE:BI and TICKET BUNDLING\r\n return \"Once approved, please allow up to 3 business days for your order to be picked and shipped. This does not include actual shipping time to reach your destination.\";\r\n }\r\n };\r\n\r\n let country = \"\";\r\n return (\r\n
\r\n \r\n {this.state.modal.modalTitle}\r\n \r\n {this.showModalBody()}\r\n \r\n \r\n {this.showModalFooterButton(this.state.loading.loading)}\r\n \r\n \r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Instructions: Select Ship To contact\r\n \r\n \r\n
\r\n Select Personal Contact - The drop down menu provides\r\n a list of all contacts you have entered, both personal and\r\n public.\r\n
\r\n
\r\n Search All Contacts - This section allows you to\r\n search through all public contacts for your specific\r\n oganization, in addition to your personal contacts. Personal\r\n contacts are denoted by an (*).\r\n
\r\n
\r\n Add - This link allows you to add personal and public\r\n contacts.\r\n
\r\n
\r\n Edit - This link allows you to edit contacts you have\r\n entered, both personal and public.\r\n
\r\n
\r\n Delete - This link allows you to delete a personal\r\n contact only.{\" \"}\r\n
\r\n
\r\n Multiple Select - Use CTRL + Mouse click to select\r\n multiple products.{\" \"}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

{displayHeader()}

\r\n

\r\n
\r\n \r\n \r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n From\r\n \r\n \r\n \r\n \r\n \r\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.fields.orderType !== GlobalVar.TB &&\r\n this.state.fields.orderType !== GlobalVar.S89\r\n ? displayShiptoNav()\r\n : displayShiptoNavTB()}\r\n {displayShipTo()}\r\n \r\n \r\n \r\n \r\n \r\n Select Personal Contact:\r\n {selectPersonalContact()}\r\n \r\n \r\n {this.state.fields.orderType !== GlobalVar.TB &&\r\n this.state.fields.orderType !== GlobalVar.S89 ? (\r\n \r\n \r\n Search All Contacts\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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.fields.orderType !== GlobalVar.TB &&\r\n this.state.fields.orderType !== GlobalVar.S89 ? (\r\n \r\n {this.SelectAllContact()}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {this.searchResult()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Required\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.isOvernightShipping()}\r\n \r\n \r\n \r\n \r\n
\r\n {displayBusinessunitNote()}\r\n
\r\n \r\n
\r\n {this.displayAccountNumberFG()}\r\n {this.displayFreightNTAndBIBillable()}\r\n {this.displayFreightTB()}\r\n {this.displayFreightS89()}\r\n \r\n {this.build_label_list()}\r\n\r\n {this.exportTextChange()}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.state.errors.errmsg}\r\n
\r\n \r\n
\r\n \r\n \r\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.fields.action === \"copy\" ? (\r\n \r\n \r\n Copying Order {this.props.location.state.orderId}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n Products to Order\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {this.state.fields.action === \"copy\" ? (\r\n
\r\n \r\n \r\n \r\n {this.state.fields.orderType !== GlobalVar.BI\r\n ? this.state.fields.orderType ===\r\n GlobalVar.TB\r\n ? new Variables().thArrayCopyTicketBundlingClean.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )\r\n : new Variables().thArrayCopy.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )\r\n : this.state.fields.cleanBI\r\n ? new Variables().thArrayCopyBillableClean.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )\r\n : new Variables().thArrayCopyBillable.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )}\r\n \r\n \r\n \r\n {this.state.fields.orderType !== GlobalVar.BI &&\r\n this.state.fields.orderType != GlobalVar.TB\r\n ? this.state.OrderItems.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n {this.state.fields.artist[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.title[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.selection[key]}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.fields.config[key]\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n this.handleFormChange(key, e)\r\n }\r\n onBlur={(e) =>\r\n this.handleOnBlurValidateQty(\r\n key,\r\n e\r\n )\r\n }\r\n >\r\n \r\n \r\n );\r\n })\r\n : this.state.OrderItems.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n {this.state.fields.artist[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.title[key]}\r\n \r\n \r\n \r\n \r\n {this.state.fields.selection[key]}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.fields.config[key]\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n this.handleFormChange(key, e)\r\n }\r\n onBlur={(e) =>\r\n this.handleOnBlurValidateQty(\r\n key,\r\n e\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n this.handleFormChange(key, e)\r\n }\r\n onBlur={(e) =>\r\n this.ValidatePrice(e, key)\r\n }\r\n >\r\n \r\n {this.state.fields.cleanBI ? (\r\n <>\r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.fields.cost[key]\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.fields.discount[\r\n key\r\n ]\r\n }{\" \"}\r\n \r\n \r\n {this.state.fields.orderType ===\r\n GlobalVar.TB ? (\r\n <>\r\n \r\n \r\n this.handleFormChange(\r\n key,\r\n e\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n this.handleFormChange(\r\n key,\r\n e\r\n )\r\n }\r\n onBlur={(e) =>\r\n this.handleOnBlurValidateDate(\r\n key,\r\n e\r\n )\r\n }\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {this.state.fields.flag[key] ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n })}\r\n \r\n
{prop}{prop}{prop}{prop}
\r\n
\r\n ) : (\r\n
\r\n \r\n \r\n \r\n {this.state.fields.orderType !== GlobalVar.BI\r\n ? this.state.fields.orderType ===\r\n GlobalVar.TB\r\n ? new Variables().thArrayTicketBundlingClean.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )\r\n : new Variables().thArray.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )\r\n : this.state.fields.cleanBI\r\n ? new Variables().thArrayBillableClean.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )\r\n : new Variables().thArrayBillable.map(\r\n (prop, key) => {\r\n return ;\r\n }\r\n )}\r\n \r\n \r\n \r\n {[...Array(100)].map((prop, key) =>\r\n this.formControl(key)\r\n )}\r\n \r\n
{prop}{prop}{prop}{prop}
\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Order Complete\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Depot does not see these comments\r\n
\r\n \r\n \r\n
\r\n \r\n {this.salesType()}\r\n \r\n \r\n \r\n {this.orderComplete()}\r\n \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 {FormGroup} from \"../../../node_modules/react-bootstrap\";\r\nimport React,{ Component } from 'react';\r\n\r\nexport class FormCheckBox extends Component {\r\n\r\n render() { \r\n const {id, label} = this.props.properties\r\n return(
\r\n \r\n
\r\n \r\n {label}\r\n
\r\n
\r\n
)\r\n }\r\n }\r\n\r\n interface IFormCheckBox\r\n {\r\n properties:IProperties;\r\n }\r\n\r\n interface IProperties\r\n {\r\n id:string;\r\n label:string;\r\n type:any;\r\n name:string;\r\n className?:string;\r\n onChange:any;\r\n defaultChecked?:boolean;\r\n checked?:boolean;\r\n }\r\n interface Istate\r\n {\r\n\r\n }","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class EditUserController {\r\n response : any;\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n constructor(){\r\n this.response = { msg : '', success : true }\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n }\r\n\r\n getUser(alias : string){\r\n var url = this.variables.Url + this.variables.Controller.editUser + this.variables.editUserService.getUser;\r\n var data = {\r\n \"username\":alias\r\n }\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n if(response.success){\r\n return JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n \r\n getUserType(){\r\n var url = this.variables.Url + this.variables.Controller.editUser + this.variables.editUserService.getUserType;\r\n var jsonUserType : Array<{\"id\" : string, \"name\" : string}> = [];\r\n return this.serviceProxy.get(url,{})\r\n .then(response => {\r\n if(response.success){\r\n response.recordset.forEach(userType);\r\n function userType(item: { Usertype_Id: any; TypeDesc: any; }, index: number){\r\n jsonUserType.push({\"id\":item.Usertype_Id, \"name\": item.TypeDesc})\r\n }\r\n return JSON.parse(JSON.stringify(jsonUserType).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonUserType).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getProcessName(label : string){\r\n var url = this.variables.Url + this.variables.Controller.editUser + this.variables.editUserService.getProcessName;\r\n var data = {\r\n \"recordLabelId\": label\r\n }\r\n var jsonProcessName : Array<{\"id\" : string, \"name\" : string }> = [];\r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n if(response.success){\r\n response.recordset.forEach(process);\r\n function process(item: { Process_Name: string; }, index: number){\r\n jsonProcessName.push({\"id\":item.Process_Name, \"name\": item.Process_Name})\r\n }\r\n return JSON.parse(JSON.stringify(jsonProcessName).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonProcessName).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n UpdateUser(userInfo : any){\r\n var url : string = this.variables.Url + this.variables.Controller.editUser + this.variables.editUserService.updateUser;\r\n var data : any = userInfo;\r\n return this.serviceProxy.put(url,data)\r\n .then(response => {\r\n return response;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n });\r\n }\r\n// -----\r\ngetDeptProcessInfo(data){\r\n var url : string = this.variables.Url + this.variables.Controller.register + this.variables.registerService.getDeptProcessInfo;\r\n var data : any = {\r\n recordLabelId : data.recordLabelId,\r\n department : data.department\r\n };\r\n return this.serviceProxy.get(url, data)\r\n .then(response => {\r\n \r\n if(response.success)\r\n {\r\n var res = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n \r\n }\r\n return res\r\n }).catch(error => {\r\n return error;\r\n });\r\n}\r\n///=------\r\n UpdateSysopUser(userInfo : any){\r\n var url : string = this.variables.Url + this.variables.Controller.editUser + this.variables.editUserService.updateSysopUser;\r\n var data : any = userInfo;\r\n return this.serviceProxy.put(url,data)\r\n .then(response => {\r\n return response;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n });\r\n }\r\n\r\n DeleteUser(alias : string){\r\n var url : string = this.variables.Url + this.variables.Controller.editUser + this.variables.editUserService.deleteUser;\r\n var data = {\r\n alias : alias \r\n }\r\n return this.serviceProxy.put(url,data)\r\n .then(response => {\r\n return response;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n });\r\n }\r\n \r\n}\r\n\r\n","import React, { Component } from \"react\";\r\nimport { History, LocationState } from \"History\";\r\nimport {\r\n Container,\r\n Card,\r\n Row,\r\n Col,\r\n Form,\r\n Alert,\r\n Button,\r\n} from \"react-bootstrap\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport \"../../../assets/css/AdminLayout.css\";\r\nimport { FormInputs } from \"../../CustomComponents/FormInput\";\r\nimport { FormSelect } from \"../../CustomComponents/FormSelect\";\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\";\r\nimport { FormLabelField } from \"../../CustomComponents/FormLabelField\";\r\nimport jsonState from \"../../../json/State.json\";\r\nimport { CommonController } from \"../../../Controllers/CommonController\";\r\nimport { EditUserController } from \"../../../Controllers/EditUserController\";\r\nimport { RegisterParameter, Istate } from \"../../../Model/Register\";\r\nimport \"../../../assets/css/Style.css\";\r\nimport { faGripLinesVertical } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FormModalSpinner } from \"../../CustomComponents/FormModalSpinner\";\r\nimport { alert } from \"react-bootstrap-confirmation\";\r\n\r\nexport class EditUser extends Component {\r\n redBorder: string;\r\n defaultBorder: string;\r\n constructor(props: RegisterParameter) {\r\n super(props);\r\n const userLogin = sessionStorage.getItem(\"userLogin\");\r\n let loggedIn = true;\r\n if (userLogin == null) {\r\n loggedIn = false;\r\n }\r\n //Change Border color Red, if alert triggered in onBlur Event\r\n this.redBorder = \"1px solid #DC3545\";\r\n this.defaultBorder = \"1px solid #E3E3E3\";\r\n this.state = {\r\n fields: {\r\n uid: \"\",\r\n user_full_name: \"\",\r\n user_first_name: \"\",\r\n user_last_name: \"\",\r\n password: \"\",\r\n confirm: \"\",\r\n AddressLineOne: \"\",\r\n AddressLinetwo: \"\",\r\n city: \"\",\r\n zip: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n customerNumber: \"\",\r\n BusUnit: \"\",\r\n OS: \"\",\r\n Browser: \"\",\r\n labelName: \"\",\r\n },\r\n selectfields: {\r\n recordLabelId: \"\",\r\n recordLabelName: \"\",\r\n userTypeId: \"\",\r\n userTypeName: \"\",\r\n department: \"\",\r\n departmentName: \"\",\r\n process: \"\",\r\n processName: \"\",\r\n state: \"\",\r\n stateName: \"\",\r\n },\r\n checkfields: {\r\n multiple_select: false,\r\n super_user: false,\r\n executive: false,\r\n },\r\n errors: {\r\n user_first_name: \"\",\r\n user_last_name: \"\",\r\n AddressLineOne: \"\",\r\n city: \"\",\r\n zip: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n processName: \"\",\r\n UserTypeName: \"\",\r\n recordLabelName: \"\",\r\n department: \"\",\r\n stateName: \"\",\r\n Name: \"\",\r\n },\r\n Department: [],\r\n Process: [],\r\n Recordlabel: [],\r\n UserType: [],\r\n State: [],\r\n errMsg: \"\",\r\n loginFailed: 0,\r\n loading: false,\r\n loggedIn,\r\n modal: { modalSpinnerShow: false },\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleCheckChange = this.handleCheckChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleDeleteClick = this.handleDeleteClick.bind(this);\r\n }\r\n componentWillMount() {\r\n let modal = this.state.modal;\r\n modal[\"modalSpinnerShow\"] = true;\r\n this.setState({ modal });\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let checkfields = this.state.checkfields;\r\n let editUserController = new EditUserController();\r\n let uid = \"\";\r\n if (this.props.location.state.orgin === \"V\") {\r\n uid = this.props.location.state.vuid;\r\n } else {\r\n uid = this.props.location.state.uid;\r\n }\r\n editUserController\r\n .getUser(uid)\r\n .then((response) => {\r\n var splitName = response.Name.split(\" \");\r\n fields[\"uid\"] = response.Alias;\r\n fields[\"user_first_name\"] = splitName[0];\r\n fields[\"user_last_name\"] = splitName[1];\r\n fields[\"password\"] = response.password || \"\";\r\n fields[\"confirm\"] = response.password || \"\";\r\n fields[\"AddressLineOne\"] = response.AddressLineOne || \"\";\r\n fields[\"AddressLinetwo\"] = response.AddressLineTwo || \"\";\r\n fields[\"city\"] = response.City || \"\";\r\n fields[\"zip\"] = response.Zip || \"\";\r\n fields[\"email\"] = response.Email || \"\";\r\n fields[\"phone\"] = response.Phone || \"\";\r\n fields[\"customerNumber\"] = response.CustomerNumber || \"\";\r\n fields[\"BusUnit\"] = response.BusinessUnit || \"\";\r\n fields[\"Browser\"] = response.Browser || \"\";\r\n fields[\"OS\"] = response.OS || \"\";\r\n fields[\"labelName\"] = response.LabelName || \"\";\r\n selectfields[\"recordLabelId\"] = response.RecordLabel_Id.trim() || \"\";\r\n selectfields[\"department\"] = response.Department.trim() || \"\";\r\n selectfields[\"userTypeId\"] = response.UserType_Id.trim() || \"\";\r\n selectfields[\"process\"] = response.Process_Name.trim() || \"\";\r\n selectfields[\"state\"] = response.State.trim() || \"\";\r\n checkfields[\"multiple_select\"] = Boolean(\r\n Number(response.Multiple_Select)\r\n );\r\n checkfields[\"super_user\"] = Boolean(Number(response.Is_Super_User));\r\n checkfields[\"executive\"] = Boolean(Number(response.Is_Executive));\r\n\r\n this.setState({\r\n fields,\r\n selectfields,\r\n checkfields,\r\n });\r\n let commonController = new CommonController();\r\n commonController\r\n .getAllLabel()\r\n .then((jsonLabel) => {\r\n this.setState({\r\n Recordlabel: JSON.parse(JSON.stringify(jsonLabel)),\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading operating company\");\r\n });\r\n editUserController\r\n .getUserType()\r\n .then((jsonUserType) => {\r\n this.setState({\r\n UserType: JSON.parse(JSON.stringify(jsonUserType)),\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading user type\");\r\n });\r\n commonController\r\n .getAllDeptForLabel(this.state.selectfields.recordLabelId)\r\n .then((jsonDept) => {\r\n this.setState({\r\n Department: JSON.parse(JSON.stringify(jsonDept)),\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading department\");\r\n });\r\n editUserController\r\n .getProcessName(this.state.selectfields.recordLabelId)\r\n .then((jsonProcessName) => {\r\n this.setState({\r\n Process: JSON.parse(JSON.stringify(jsonProcessName)),\r\n });\r\n modal[\"modalSpinnerShow\"] = false;\r\n this.setState({ modal });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading process\");\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error\");\r\n });\r\n\r\n this.setState({\r\n State: JSON.parse(JSON.stringify(jsonState.result)),\r\n });\r\n }\r\n\r\n handleChange = (e: any) => {\r\n let fields = this.state.fields;\r\n if (e.currentTarget.value.trim().length > 0) {\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n } else {\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n }\r\n this.setState({\r\n fields,\r\n });\r\n };\r\n\r\n handleDeleteClick = () => {\r\n let editUserController = new EditUserController();\r\n editUserController\r\n .DeleteUser(this.state.fields.uid)\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ loading: false });\r\n alert(\"User Profile Deleted.\");\r\n this.props.history.push(\"/admin/home\");\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n errMsg: \"Update failed\",\r\n loading: false,\r\n });\r\n });\r\n };\r\n\r\n handleBlur(e: any) {\r\n e.preventDefault();\r\n const target = e.currentTarget;\r\n target.style.border = this.defaultBorder;\r\n if (\r\n e.currentTarget.name === \"password\" &&\r\n e.currentTarget.value.length > 0\r\n ) {\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if (e.currentTarget.value.length < 8) {\r\n alert(\"Password should contain atleast 8 character\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n } else if (!regexUpper.test(e.currentTarget.value)) {\r\n alert(\"Password should contain atleast one upper case\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n } else if (!regexLower.test(e.currentTarget.value)) {\r\n alert(\"Password should contain atleast one lower case\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n } else if (!regexNum.test(e.currentTarget.value)) {\r\n alert(\"Password should contain atleast one number\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n } else if (!regexSpl.test(e.currentTarget.value)) {\r\n alert(\"Password should contain atleast one special character\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n if (\r\n e.currentTarget.name === \"confirm\" &&\r\n e.currentTarget.value.length > 0\r\n ) {\r\n if (e.currentTarget.value !== this.state.fields.password) {\r\n alert(\"Password do not match\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n\r\n if (e.currentTarget.name === \"zip\" && e.currentTarget.value.length > 0) {\r\n var valid = \"0123456789-\";\r\n var hyphencount = 0;\r\n var field = e.currentTarget.value;\r\n\r\n if (field.length !== 5 && field.length !== 10) {\r\n alert(\"Please enter your 5 digit or 5+4 digit zip code.\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n }\r\n for (var i = 0; i < field.length; i++) {\r\n var temp = \"\" + field.substring(i, i + 1);\r\n if (temp == \"-\") hyphencount++;\r\n if (valid.indexOf(temp) == -1) {\r\n alert(\"Invalid characters in your zip code. Please try again.\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n return false;\r\n }\r\n if (\r\n hyphencount > 1 ||\r\n (field.length == 10 && \"\" + field.charAt(5) != \"-\")\r\n ) {\r\n alert(\r\n \"The hyphen character should be used with a properly formatted 5 digit+four zip code; example: 12345-6789. Please try again.\"\r\n );\r\n this.setFocus(target);\r\n target.style.border = this.redBorder;\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (e.currentTarget.name === \"email\" && e.currentTarget.value.length > 0) {\r\n var regexEmail = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (!regexEmail.test(e.currentTarget.value)) {\r\n alert(\"Plesae enter the valid email address\");\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n\r\n if (e.currentTarget.name === \"phone\" && e.currentTarget.value.length > 0) {\r\n var regexPhone =\r\n /^[(][1-9][0-9][0-9][)][ ][1-9][0-9][0-9][-][0-9][0-9][0-9][0-9]$/;\r\n if (!regexPhone.test(e.currentTarget.value)) {\r\n alert(\r\n \"Please enter phone number in the following format:(123) 456-7890\"\r\n );\r\n target.style.border = this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n }\r\n\r\n setFocus(target: any) {\r\n //setTimeout(function () { target.focus(); },5);\r\n }\r\n handleSelectChange = (e: any) => {\r\n let selectfields = this.state.selectfields;\r\n \r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n if (e.currentTarget.name === \"recordLabelId\") {\r\n selectfields[\"recordlabelName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n this.setState({\r\n Department: [],\r\n Process: [],\r\n });\r\n let commonController = new CommonController();\r\n commonController\r\n .getAllDeptForLabel(\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value\r\n )\r\n .then((jsonDept) => {\r\n this.setState({\r\n Department: JSON.parse(JSON.stringify(jsonDept)),\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading department\");\r\n });\r\n let editUserController = new EditUserController();\r\n editUserController\r\n .getProcessName(\r\n e.currentTarget.options[e.currentTarget.selectedIndex].value\r\n )\r\n .then((jsonProcessName) => {\r\n this.setState({\r\n Process: JSON.parse(JSON.stringify(jsonProcessName)),\r\n });\r\n \r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading process\");\r\n });\r\n }\r\n\r\n if (e.currentTarget.name === \"department\") {\r\n let editUserController = new EditUserController();\r\n\r\n selectfields[\"departmentName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n\r\n var data = {\r\n recordLabelId: selectfields.recordLabelId,\r\n department: selectfields.department,\r\n };\r\n\r\n editUserController\r\n .getDeptProcessInfo(data)\r\n .then((res) => {\r\n let fields = this.state.fields;\r\n selectfields[\"process\"] = res.processName;\r\n fields[\"customerNumber\"] = res.customerNumber;\r\n fields[\"BusUnit\"] = res.businessUnit;\r\n this.setState({ fields, selectfields });\r\n })\r\n .catch((error) => {\r\n console.error(\"There was an error loading department\");\r\n });\r\n }\r\n\r\n if (e.currentTarget.name === \"userTypeId\") {\r\n selectfields[\"userTypeName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n if (e.currentTarget.name === \"process\") {\r\n selectfields[\"processName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n if (e.currentTarget.name === \"state\") {\r\n selectfields[\"stateName\"] =\r\n e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n this.setState({\r\n selectfields,\r\n });\r\n };\r\n handleCheckChange = (e: any) => {\r\n let checkfields = this.state.checkfields;\r\n if (e.currentTarget.name === \"multiple_select\") {\r\n checkfields[e.currentTarget.name] =\r\n !this.state.checkfields.multiple_select;\r\n } else if (e.currentTarget.name === \"super_user\") {\r\n checkfields[e.currentTarget.name] = !this.state.checkfields.super_user;\r\n } else if (e.currentTarget.name === \"executive\") {\r\n checkfields[e.currentTarget.name] = !this.state.checkfields.executive;\r\n } else {\r\n checkfields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({\r\n checkfields,\r\n });\r\n };\r\n clearError() {\r\n let errors = this.state.errors;\r\n errors[\"UserTypeName\"] = \"\";\r\n errors[\"user_first_name\"] = \"\";\r\n errors[\"user_last_name\"] = \"\";\r\n errors[\"Name\"] = \"\";\r\n errors[\"password\"] = \"\";\r\n errors[\"confirm\"] = \"\";\r\n errors[\"AddressLineOne\"] = \"\";\r\n errors[\"city\"] = \"\";\r\n errors[\"zip\"] = \"\";\r\n errors[\"email\"] = \"\";\r\n errors[\"phone\"] = \"\";\r\n errors[\"recordLabelName\"] = \"\";\r\n errors[\"department\"] = \"\";\r\n errors[\"processName\"] = \"\";\r\n errors[\"state\"] = \"\";\r\n errors[\"stateName\"] = \"\";\r\n this.setState({\r\n errors,\r\n });\r\n }\r\n onSubmit = (e: any) => {\r\n \r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if (this.ValidateProfile()) {\r\n if (sessionStorage.getItem(\"usertype_id\") === \"S\") {\r\n var updateSysopUserData = {\r\n username: this.state.fields.uid,\r\n userTypeId: this.state.selectfields.userTypeId,\r\n processName: this.state.selectfields.process,\r\n firstName: this.state.fields.user_first_name,\r\n lastName: this.state.fields.user_last_name,\r\n email: this.state.fields.email,\r\n recordLabelId: this.state.selectfields.recordLabelId,\r\n department: this.state.selectfields.department,\r\n addressLineOne: this.state.fields.AddressLineOne,\r\n addressLineTwo: this.state.fields.AddressLinetwo,\r\n city: this.state.fields.city,\r\n state: this.state.selectfields.state,\r\n zip: this.state.fields.zip,\r\n phone: this.state.fields.phone,\r\n customerNumber: this.state.fields.customerNumber,\r\n businessUnit: this.state.fields.BusUnit,\r\n multipleSelect: this.state.checkfields.multiple_select,\r\n isExecutiveUser: this.state.checkfields.executive,\r\n isSuperUser: this.state.checkfields.super_user,\r\n };\r\n let editUserController = new EditUserController();\r\n editUserController\r\n .UpdateSysopUser(updateSysopUserData)\r\n .then((response) => {\r\n if (this.props.location.state.orgin != \"V\") {\r\n sessionStorage.setItem(\"uid\", this.state.fields.uid);\r\n sessionStorage.setItem(\r\n \"usertype_id\",\r\n this.state.selectfields.userTypeId\r\n );\r\n sessionStorage.setItem(\r\n \"user_full_name\",\r\n this.state.fields.user_first_name +\r\n \" \" +\r\n this.state.fields.user_last_name\r\n );\r\n sessionStorage.setItem(\r\n \"addressLineOne\",\r\n this.state.fields.AddressLineOne\r\n );\r\n sessionStorage.setItem(\r\n \"addressLineTwo\",\r\n this.state.fields.AddressLinetwo\r\n );\r\n sessionStorage.setItem(\"city\", this.state.fields.city);\r\n sessionStorage.setItem(\"state\", this.state.selectfields.state);\r\n sessionStorage.setItem(\"zip\", this.state.fields.zip);\r\n sessionStorage.setItem(\"phone\", this.state.fields.phone);\r\n sessionStorage.setItem(\"email\", this.state.fields.email);\r\n sessionStorage.setItem(\"label_name\", this.state.fields.labelName);\r\n sessionStorage.setItem(\r\n \"process_name\",\r\n this.state.selectfields.process\r\n );\r\n sessionStorage.setItem(\r\n \"label_id\",\r\n this.state.selectfields.recordLabelId\r\n );\r\n sessionStorage.setItem(\r\n \"department\",\r\n this.state.selectfields.department\r\n );\r\n sessionStorage.setItem(\r\n \"user_label_id\",\r\n this.state.selectfields.recordLabelId\r\n );\r\n sessionStorage.setItem(\r\n \"user_department\",\r\n this.state.selectfields.department\r\n );\r\n sessionStorage.setItem(\r\n \"business_unit\",\r\n this.state.fields.BusUnit\r\n );\r\n sessionStorage.setItem(\r\n \"CustomerNumber\",\r\n this.state.fields.customerNumber\r\n );\r\n sessionStorage.setItem(\r\n \"is_super_user\",\r\n this.state.checkfields.super_user ? \"1\" : \"0\"\r\n );\r\n sessionStorage.setItem(\r\n \"is_executive\",\r\n this.state.checkfields.executive ? \"1\" : \"0\"\r\n );\r\n sessionStorage.setItem(\r\n \"multiple_select\",\r\n this.state.checkfields.multiple_select ? \"1\" : \"0\"\r\n );\r\n }\r\n this.setState({ loading: false });\r\n alert(\"User Profile Updated.\");\r\n this.props.history.push(\"/admin/home\");\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n errMsg: \"Update failed\",\r\n loading: false,\r\n });\r\n });\r\n } else {\r\n var updateUserData: any = {\r\n username: this.state.fields.uid,\r\n firstName: this.state.fields.user_first_name,\r\n lastName: this.state.fields.user_last_name,\r\n email: this.state.fields.email,\r\n addressLineOne: this.state.fields.AddressLineOne,\r\n addressLineTwo: this.state.fields.AddressLinetwo,\r\n city: this.state.fields.city,\r\n state: this.state.selectfields.state,\r\n zip: this.state.fields.zip,\r\n phone: this.state.fields.phone,\r\n multipleSelect: this.state.checkfields.multiple_select,\r\n };\r\n let editUserController = new EditUserController();\r\n editUserController\r\n .UpdateUser(updateUserData)\r\n .then((response) => {\r\n if (this.props.location.state.orgin != \"V\") {\r\n sessionStorage.setItem(\"uid\", this.state.fields.uid);\r\n sessionStorage.setItem(\r\n \"user_full_name\",\r\n this.state.fields.user_first_name +\r\n \" \" +\r\n this.state.fields.user_last_name\r\n );\r\n sessionStorage.setItem(\r\n \"addressLineOne\",\r\n this.state.fields.AddressLineOne\r\n );\r\n sessionStorage.setItem(\r\n \"addressLineTwo\",\r\n this.state.fields.AddressLinetwo\r\n );\r\n sessionStorage.setItem(\"city\", this.state.fields.city);\r\n sessionStorage.setItem(\"state\", this.state.selectfields.state);\r\n sessionStorage.setItem(\"zip\", this.state.fields.zip);\r\n sessionStorage.setItem(\"phone\", this.state.fields.phone);\r\n sessionStorage.setItem(\"email\", this.state.fields.email);\r\n sessionStorage.setItem(\r\n \"multiple_select\",\r\n this.state.checkfields.multiple_select ? \"1\" : \"0\"\r\n );\r\n }\r\n this.setState({ loading: false });\r\n alert(\"User Profile Updated.\");\r\n this.props.history.push(\"/admin/home\");\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n errMsg: \"Update failed\",\r\n loading: false,\r\n });\r\n });\r\n }\r\n }\r\n //this.setState({ loading: false });\r\n };\r\n\r\n ValidateProfile() {\r\n this.clearError();\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"user_first_name\"]) {\r\n formIsValid = false;\r\n errors[\"user_first_name\"] = \"The First Name field is empty.\";\r\n }\r\n if (!fields[\"user_last_name\"]) {\r\n formIsValid = false;\r\n errors[\"user_last_name\"] = \"The Last Name field is empty.\";\r\n }\r\n if (!fields[\"AddressLineOne\"]) {\r\n formIsValid = false;\r\n errors[\"AddressLineOne\"] = \"The Address Line One field is empty.\";\r\n }\r\n if (!fields[\"city\"]) {\r\n formIsValid = false;\r\n errors[\"city\"] = \"The City field is empty.\";\r\n }\r\n if (!fields[\"zip\"]) {\r\n formIsValid = false;\r\n errors[\"zip\"] = \"The Zip field is empty.\";\r\n }\r\n if (!fields[\"email\"]) {\r\n formIsValid = false;\r\n errors[\"email\"] = \"The Work Email field is empty.\";\r\n }\r\n if (!fields[\"phone\"]) {\r\n formIsValid = false;\r\n errors[\"phone\"] = \"The Work Phone field is empty.\";\r\n }\r\n if (fields[\"recordLabelName\"] === \"Select Your Operating Company\") {\r\n formIsValid = false;\r\n errors[\"recordLabelName\"] = \"You must select an Operating Company.\";\r\n }\r\n if (selectfields[\"departmentName\"] === \"Select Department\") {\r\n formIsValid = false;\r\n errors[\"departmentName\"] = \"You must select a Department.\";\r\n }\r\n if (selectfields[\"state\"] === \"Select A State\") {\r\n formIsValid = false;\r\n errors[\"state\"] = \"You must select a State.\";\r\n }\r\n if (sessionStorage.getItem(\"usertype_id\") === \"S\") {\r\n if (selectfields[\"processName\"] === \"Select Process\") {\r\n formIsValid = false;\r\n errors[\"processName\"] = \"You must select a Process Name.\";\r\n }\r\n if (selectfields[\"userTypeName\"] === \"Select User Type\") {\r\n formIsValid = false;\r\n errors[\"userTypeName\"] = \"You must select User Type.\";\r\n }\r\n }\r\n\r\n if (formIsValid && fields[\"zip\"].length > 0) {\r\n var valid = \"0123456789-\";\r\n var hyphencount = 0;\r\n var field = fields[\"zip\"];\r\n\r\n if (field.length !== 5 && field.length !== 10) {\r\n alert(\"Please enter your 5 digit or 5+4 digit zip code.\");\r\n formIsValid = false;\r\n }\r\n for (var i = 0; i < field.length; i++) {\r\n var temp = \"\" + field.substring(i, i + 1);\r\n if (temp == \"-\") hyphencount++;\r\n if (valid.indexOf(temp) == -1) {\r\n alert(\"Invalid characters in your zip code. Please try again.\");\r\n formIsValid = false;\r\n return false;\r\n }\r\n if (\r\n hyphencount > 1 ||\r\n (field.length == 10 && \"\" + field.charAt(5) != \"-\")\r\n ) {\r\n alert(\r\n \"The hyphen character should be used with a properly formatted 5 digit+four zip code; example: 12345-6789. Please try again.\"\r\n );\r\n formIsValid = false;\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (formIsValid && fields[\"email\"].length > 0) {\r\n var regexEmail = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (!regexEmail.test(fields[\"email\"])) {\r\n alert(\"Plesae enter the valid email address\");\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n if (formIsValid && fields[\"phone\"].length > 0) {\r\n var regexPhone =\r\n /^[(][1-9][0-9][0-9][)][ ][1-9][0-9][0-9][-][0-9][0-9][0-9][0-9]$/;\r\n if (!regexPhone.test(fields[\"phone\"])) {\r\n alert(\r\n \"Please enter phone number in the following format:(123) 456-7890\"\r\n );\r\n formIsValid = false;\r\n }\r\n }\r\n if (formIsValid && this.props.location.state.orgin != \"V\") {\r\n //Password Validation\r\n var errMsgPassword =\r\n \"Your Current password is not adhere to UMG Password Policy. Please change your password first before edit the profile\";\r\n if (fields[\"password\"].length > 0 && formIsValid) {\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if (fields[\"password\"].length < 8) {\r\n //alert(\"Password should contain atleast 8 character\")\r\n formIsValid = false;\r\n this.setState({ errMsg: errMsgPassword });\r\n } else if (!regexUpper.test(fields[\"password\"])) {\r\n //alert(\"Password should contain atleast one upper case\")\r\n formIsValid = false;\r\n this.setState({ errMsg: errMsgPassword });\r\n } else if (!regexLower.test(fields[\"password\"])) {\r\n //alert(\"Password should contain atleast one lower case\")\r\n formIsValid = false;\r\n this.setState({ errMsg: errMsgPassword });\r\n } else if (!regexNum.test(fields[\"password\"])) {\r\n //alert(\"Password should contain atleast one number\")\r\n formIsValid = false;\r\n this.setState({ errMsg: errMsgPassword });\r\n } else if (!regexSpl.test(fields[\"password\"])) {\r\n //alert(\"Password should contain atleast one special character\")\r\n formIsValid = false;\r\n this.setState({ errMsg: errMsgPassword });\r\n }\r\n }\r\n if (fields[\"confirm\"].length > 0) {\r\n if (fields[\"confirm\"] !== fields[\"password\"]) {\r\n //\r\n formIsValid = false;\r\n this.setState({ errMsg: errMsgPassword });\r\n }\r\n }\r\n }\r\n\r\n if (!formIsValid) {\r\n this.setState({ loading: false });\r\n }\r\n this.setState({\r\n errors,\r\n });\r\n return formIsValid;\r\n }\r\n\r\n displayDeleteButton = () => {\r\n if (sessionStorage.getItem(\"usertype_id\") === \"S\") {\r\n return (\r\n \r\n Delete\r\n \r\n );\r\n }\r\n };\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const bottonAlignCenter = {\r\n \"text-align\": \"-webkit-center\",\r\n };\r\n if (this.state.loggedIn === false) {\r\n return ;\r\n }\r\n const displayOperatingCompanyOptionforUserTypeS = () => {\r\n if (sessionStorage.getItem(\"usertype_id\") === \"S\") {\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 } else {\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 const displayUserTypeS = () => {\r\n if (sessionStorage.getItem(\"usertype_id\") === \"S\") {\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 {this.props.location.state.orgin === \"V\" ? (\r\n \r\n \r\n
\r\n When deactivating a User, change password to 'removed',\r\n delete email address, change Customer Number to 'Del' and\r\n Business Unit to 0\r\n
\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n );\r\n } else {\r\n return ;\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

Edit Profile

\r\n
\r\n
\r\n \r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Password Policy: Minimum of 8 character and max of\r\n 15. At least one Upper case and small case. At\r\n least one number. At least one special character\r\n (~, `, !, @, #, $, %, ^, &, *, (, ), +, =, \\).\r\n
\r\n \r\n
*/}\r\n {displayOperatingCompanyOptionforUserTypeS()}\r\n {/*{displayDepartmentOptionforUserTypeS()}*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Please note that field is limited to 30 characters\r\n to prevent address from not displaying properly on\r\n address labels.{\" \"}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n example: (123) 456-7890\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {displayUserTypeS()}\r\n \r\n
\r\n \r\n \r\n \r\n {this.props.location.state.orgin === \"V\" ? (\r\n \r\n Delete\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class PasswordResetController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n userInfo : any;\r\n dateTimeFormat : DateTimeFormat;\r\n response: { msg: string; success: boolean;};\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n this.userInfo = {username:'',npwd:'',opwd:''}\r\n this.response = { msg : '', success : true}\r\n }\r\n\r\n\r\n updateUserPassword(userId : string , password : string){\r\n \r\n var url = this.variables.Url + this.variables.Controller.passwordReset + this.variables.passwordResetService.updateUserPassword;\r\n var data = {\r\n username : userId,\r\n newPassword : password, \r\n }\r\n return this.serviceProxy.put(url,data).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n checkUserPreviousPassword(userId : string , password : string){\r\n \r\n var url = this.variables.Url + this.variables.Controller.passwordReset + this.variables.passwordResetService.checkPreviousPassword;\r\n var data = {\r\n username : userId,\r\n newPassword : password, \r\n }\r\n return this.serviceProxy.get(url,data).then(response => { \r\n if(response.success){\r\n if(response.IsAvailable === 0 || response.IsAvailable === '0'){\r\n return this.updateUserPassword(userId,password);\r\n }\r\n else{\r\n this.response.msg = 'Hi \"'+ userId +'\", your password should not be similar to the last 13 passwords';\r\n this.response.success = false;\r\n return this.response;\r\n } \r\n \r\n }\r\n \r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n}","import React, { Component ,useState, useEffect, useRef} from \"react\";\r\nimport {Row,Col,Container, Card,Button, NavLink, Form, Alert} from \"../../../../node_modules/react-bootstrap\";\r\n/*import {LoginNavBar} from '../../CustomComponents/NabvBar/LoginNavBar'*/\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport {History, LocationState} from \"History\";\r\nimport {PasswordResetController} from \"../../../Controllers/PasswordResetController\"\r\nimport {LogoutController} from \"../../../Controllers/LogoutController\";\r\nimport { ResetPasswordParameter, Istate } from \"../../../Model/PasswordReset\"; \r\nimport '../../../assets/css/Style.css'\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class ResetPassword extends Component {\r\n oPwdRef:any;\r\n nPwdRef:any;\r\n cPwdRef:any;\r\n redBorder:string;\r\n defaultBorder:string;\r\n constructor(props:ResetPasswordParameter){\r\n super(props)\r\n //Change Border color Red, if alert triggered in onBlur Event\r\n this.redBorder = \"1px solid #DC3545\";\r\n this.defaultBorder = \"1px solid #E3E3E3\";\r\n this.state={\r\n fields: { opwd:'',npwd:'',cpwd:''},\r\n errors: { opwd:'',npwd:'',cpwd:'',fRef:'' },\r\n errMsg:\"\",\r\n loginFailed: 0,\r\n loading: false,\r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this); \r\n this.oPwdRef = React.createRef(); \r\n this.nPwdRef = React.createRef();\r\n this.cPwdRef = React.createRef();\r\n }\r\n\r\n componentDidMount(){\r\n //this.oPwdRef.current.focus();\r\n }\r\n\r\n handleChange (e:any) {\r\n \r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n handleBlur (e:any) { \r\n \r\n const target = e.currentTarget;\r\n target.style.border=this.defaultBorder;\r\n if(e.currentTarget.name === \"opwd\"){\r\n if(e.currentTarget.value != sessionStorage.getItem(\"Password\")){\r\n alert(\"Old password Incorrect\") \r\n target.style.border=this.redBorder;\r\n }\r\n }\r\n if(e.currentTarget.name === \"npwd\"){\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if((e.currentTarget.value).length < 8){\r\n alert(\"Password should contain atleast 8 character\") \r\n target.style.border=this.redBorder;\r\n }\r\n else if(!regexUpper.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one upper case\") \r\n target.style.border=this.redBorder;\r\n }\r\n else if(!regexLower.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one lower case\") \r\n target.style.border=this.redBorder;\r\n }\r\n else if(!regexNum.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one number\") \r\n target.style.border=this.redBorder;\r\n }\r\n else if(!regexSpl.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one special character\") \r\n target.style.border=this.redBorder;\r\n } \r\n else if(e.currentTarget.value === sessionStorage.getItem(\"Password\"))\r\n {\r\n alert(\"Old and New Password are need to be Different\");\r\n target.style.border=this.redBorder;\r\n } \r\n } \r\n if(e.currentTarget.name === \"cpwd\"){\r\n if(e.currentTarget.value != this.state.fields.npwd){\r\n alert(\"Confirm Password Not matched with New Password\") \r\n target.style.border=this.redBorder;\r\n }\r\n }\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n \r\n let errors = this.state.errors;\r\n errors[\"opwd\"] = \"\";\r\n errors[\"npwd\"] = \"\";\r\n errors[\"cpwd\"] = \"\";\r\n errors[\"fRef\"] = \"\";\r\n this.setState({ errors });\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if (this.validateForm()) {\r\n //if(this.state.fields.opwd === sessionStorage.getItem(\"Password\"))\r\n //{\r\n let passwordResetController = new PasswordResetController();\r\n passwordResetController.checkUserPreviousPassword(sessionStorage.getItem(\"uid\")!,this.state.fields.npwd)\r\n .then((response : any) => {\r\n if (response.success){\r\n alert(\"Password has been changed successfully\")\r\n this.props.history.push('/login'); \r\n }\r\n else {\r\n this.setState({\r\n errMsg : response.msg, \r\n loading: false\r\n });\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n //}\r\n //else\r\n //{\r\n // this.setState({errMsg : \"Old Password Incorrect\"})\r\n // this.setState({ loading: false });\r\n //} \r\n }\r\n /*else\r\n {\r\n if (errors[\"fRef\"] !=\"\")\r\n {\r\n if(errors[\"fRef\"] == \"npwd\")\r\n {\r\n this.nPwdRef.current.focus();\r\n }\r\n else if(errors[\"fRef\"] == \"cpwd\")\r\n {\r\n this.cPwdRef.current.focus();\r\n }\r\n }\r\n } */\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"opwd\"] = \"\";\r\n errors[\"npwd\"] = \"\";\r\n errors[\"cpwd\"] = \"\"; \r\n errors[\"state\"] = \"\";\r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n validateForm(){\r\n this.clearError();\r\n \r\n let fields = this.state.fields; \r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"opwd\"]) {\r\n formIsValid = false;\r\n errors[\"opwd\"] = \"Please Enter Old Password\"; \r\n }\r\n if (!fields[\"npwd\"]) {\r\n formIsValid = false;\r\n errors[\"npwd\"] = \"Please Enter New Password\"; \r\n }\r\n if (!fields[\"cpwd\"]) {\r\n formIsValid = false;\r\n errors[\"cpwd\"] = \"Please Enter Confirm Password\"; \r\n }\r\n if (formIsValid && fields[\"opwd\"] !== \"\") \r\n {\r\n if(fields[\"opwd\"] != sessionStorage.getItem(\"Password\")){\r\n alert(\"Old password Incorrect\")\r\n formIsValid = false; \r\n }\r\n }\r\n if(formIsValid && fields[\"npwd\"] !== \"\"){\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if((fields[\"npwd\"]).length < 8){\r\n //errors[\"npwd\"] = \"Password should contain atleast 8 character\" \r\n alert(\"Password should contain atleast 8 character\");\r\n formIsValid = false; \r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexUpper.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one upper case\" \r\n alert(\"Password should contain atleast one upper case\");\r\n formIsValid = false; \r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexLower.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one lower case\"\r\n alert(\"Password should contain atleast one lower case\");\r\n formIsValid = false;\r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexNum.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one number\" \r\n alert(\"Password should contain atleast one number\");\r\n formIsValid = false;\r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexSpl.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one special character\" \r\n alert(\"Password should contain atleast one special character\");\r\n formIsValid = false;\r\n //errors[\"fRef\"] = \"npwd\" \r\n } \r\n }\r\n if(formIsValid && fields[\"npwd\"] !== fields[\"cpwd\"])\r\n {\r\n alert(\"Confirm Password Not matched with New Password\");\r\n formIsValid = false;\r\n //errors[\"cpwd\"] = \"Confirm Password Not matched with New Password\"; \r\n //errors[\"fRef\"] = \"cpwd\" \r\n }\r\n if(formIsValid && fields[\"npwd\"] === sessionStorage.getItem(\"Password\"))\r\n {\r\n alert(\"Old and New Password are need to be Different\");\r\n formIsValid = false;\r\n /*errors[\"cpwd\"] = \"Old and New Password are need to be Different\"; */\r\n //this.setState({errMsg : \"Old and New Password are need to be Different\"})\r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n \r\n if(!formIsValid)\r\n {\r\n this.setState({ loading: false });\r\n }\r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n ChkPreviousPassword()\r\n {\r\n let formIsValid = true;\r\n let fields = this.state.fields; \r\n let errors = this.state.errors;\r\n let passwordResetController = new PasswordResetController();\r\n return passwordResetController.checkUserPreviousPassword(sessionStorage.getItem(\"uid\")!,this.state.fields.npwd)\r\n .then((response : any) => {\r\n const parsedResponse = JSON.parse(response);\r\n if (response.success){\r\n formIsValid = true;\r\n return formIsValid;\r\n }\r\n else {\r\n this.setState({ loading: false });\r\n this.setState({errMsg : \"Password should not be similar to the last 13 passwords\"})\r\n formIsValid = false;\r\n return formIsValid;\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n }) \r\n }\r\n\r\n DisplayChangePasswordButton =()=> {\r\n const {loading} = this.state; \r\n return \r\n }\r\n\r\nrender(){\r\n const { loading } = this.state;\r\n return ( \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Change Password

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Password Policy:
Minimum of 8 character and max of 15.
At least one upper case, one lower case and one number.
At least one special character (~, `, !, @, #, $, %, ^, &, *, (, ), +, =, \\).
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n}","import React, { Component } from \"react\";\r\nimport {Container,Card,Row,Col,Form,Alert,Button} from \"../../../../node_modules/react-bootstrap\";\r\nimport Faq from \"react-faq-component\";\r\nimport { Redirect } from 'react-router-dom';\r\nimport '../../../assets/css/faqPage.css';\r\n\r\nconst data = {\r\n rows: [\r\n {\r\n title: 'My order status says \"Pending\". How can I tell which Approver has my order?',\r\n content: `On the Main Menu, click on “View Order Status”. Then select the order in \r\n question. Once opened, on the banner at the top you will see the name(s) of the Approver(s) for the order.`,\r\n },\r\n {\r\n title: 'How do I change a mailing address in eGratis?',\r\n content: `From the Main Menu select “Create Free Goods Request.” From here, on the top \r\n right of the screen select “Edit.” Using the drop-down menu, select the contact profile \r\n you wish to update. Update the desired fields and click “Edit Contact” to save.
\r\n
Note: changing your own information on the Edit User page will not change the mailing \r\n address used to deliver your order.`,\r\n },\r\n {\r\n title: 'The item I am trying to order does not come up when I do the search on the Selection screen.',\r\n content: `Try typing in part of the artist or title instead of searching for the whole \r\n name. (For example, instead of typing in \"Marvin Gaye\", try \"marvin\" or \"marv\").
\r\n
Available items for Free Goods Requests are limited to only products within your \r\n label. If you wish to check what label an item belongs to, you can use the “Quick Product \r\n Search” from the Main Menu. The label code is listed in the search results.

Certain titles \r\n are not available for Free Goods orders, including New Release titles without a release date.`,\r\n },\r\n {\r\n title: 'I need to send the same items on one order to a different person. How can I do that in eGratis? Can I select multiple contacts?',\r\n content: `You are not able to select multiple contacts on a single order. However, you \r\n can use the COPY feature to quickly duplicate an order and change the ship to contact. \r\n After entering the first order, from the Main Menu select “View Order Status.” Find the \r\n order you wish to copy and click the “Copy” icon to the left of it. This will take you \r\n to the Ship To screen of the order entry. From here you can enter in the new contact \r\n information, or auto-populate using the drop-down menu for existing contacts. After the \r\n contact is selected you can add special instructions and change the service level for the \r\n new order. The product selection screen for all copied orders will have the items already \r\n selected.

Note: The only change you can make on the product screen is the \r\n quantity ordered, and if it is clean/marked product. If you want to add/remove items \r\n from the order you cannot use the COPY function.`,\r\n },\r\n {\r\n title: \"What's the difference between Marked and Clean? Does this refer to the lyrics?\",\r\n content: `No, it does not refer to the lyrics. Selections with explicit lyrics are \r\n indicated with an \"EX\" in the title. Selections with edited lyrics have an \"ED\" in the \r\n title. “Marked” and “Clean” refer to the product itself. Marked has an indication on \r\n the product that denotes it is promotional product.

Note: Orders requesting \r\n clean product will also require the approval of Jason Gallien, UMG North America CFO.`,\r\n },\r\n {\r\n title: 'How do I change the Quantity? I can not see the Quantity field.',\r\n content: `Try adjusting the eGratis window on your computer screen. The Quantity field \r\n may have been pushed off the screen to the far right if the configuration description \r\n is lengthy.`,\r\n },\r\n ],\r\n};\r\n \r\nconst styles = {\r\n // bgColor: 'white',\r\n titleTextColor: \"blue\",\r\n rowTitleColor: \"blue\",\r\n // rowContentColor: 'grey',\r\n // arrowColor: \"red\",\r\n};\r\n\r\nconst config = {\r\n animate: true,\r\n};\r\n\r\nexport class EgratisFAQ extends Component {\r\n constructor(props){ \r\n super(props)\r\n     const userLogin = sessionStorage.getItem(\"userLogin\")\r\n \r\n     let loggedIn = true;\r\n     if (userLogin == null){\r\n         loggedIn = false;\r\n     }\r\n     this.state = {\r\n         loggedIn\r\n     }\r\n   } \r\n render() {\r\n if (this.state.loggedIn === false){\r\n return \r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Frequently Asked Questions (FAQ's)

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

\r\n
\r\n \r\n \r\n
For additional questions or concerns, please email the UMG Customer Service Team at UMGLabelRequests@umusic.com or call one of the Customer Service Team Members.
\r\n \r\n
\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n
Alison Loyka, Customer Service Manager
\r\n \r\n
\r\n \r\n \r\n \r\n
(818) 286-4375
\r\n \r\n
\r\n \r\n

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

\r\n
\r\n \r\n \r\n \r\n
Jacob Vega, Customer Service Analyst
\r\n \r\n
\r\n \r\n \r\n \r\n
(818) 286-4384
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n}\r\n\r\ninterface Istate{\r\n loggedIn:boolean;\r\n}\r\n \r\ninterface IFaq{\r\n Faq:string;\r\n}","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class QuickProductSearchController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n searchInfo : any;\r\n dateTimeFormat : DateTimeFormat;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n this.searchInfo = {recordLabelId:'',title:'',artist:'',selection:'',upc:'', exceptions:false}\r\n }\r\n\r\n getSearchProductInfo(data){ \r\n \r\n this.searchInfo.recordLabelId = data.recordLabelId;\r\n this.searchInfo.title = data.title;\r\n this.searchInfo.artist = data.artist;\r\n this.searchInfo.selection = data.selection;\r\n this.searchInfo.upc = data.upc;\r\n\r\n var url = this.variables.Url + this.variables.Controller.quickProductSearch + this.variables.quickProductSearchService.quickProductSearch; \r\n var data1 : any = {\r\n recordLabelId : this.searchInfo.recordLabelId,\r\n artist : this.searchInfo.artist,\r\n title : this.searchInfo.title, \r\n selection : this.searchInfo.selection,\r\n upc : this.searchInfo.upc\r\n };\r\n\r\n return this.serviceProxy.get(url,data1) \r\n .then(response => { \r\n var jsonProductSearch : Array<{\"item1\" : string; \"item2\" : string; \"item3\" : string; \"item4\" : string; \"item5\" : string; \"item6\" : string; \"item7\" : string; \"item8\" : string; }> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(process);\r\n function process(item: { Artist : string, Title : string, Selection : string, UPC : string, Configuration : string, Release : string, Label : string, Cat : string}, _index: number){\r\n jsonProductSearch.push({\"item1\": item.Artist, \"item2\": item.Title, \"item3\": item.Selection, \"item4\": item.UPC, \"item5\": item.Configuration, \"item6\": item.Release, \"item7\" : item.Label, \"item8\" : item.Cat}) \r\n }\r\n return JSON.parse(JSON.stringify(jsonProductSearch).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonProductSearch).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport { History, LocationState } from \"History\";\r\nimport { Container,Navbar, Nav, Card, Row, Col, Table, Form, Alert, Button, FormGroup, FormControl, Modal } from \"react-bootstrap\";\r\n//import { Container, Row, Col, Form, Alert, Button, ProgressBar } from \"../../../../node_modules/react-bootstrap\";\r\nimport '../../../assets/css/AdminLayout.css'\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { FormCheckBox } from '../../CustomComponents/FormCheckBox';\r\nimport { FormLabelField } from '../../CustomComponents/FormLabelField';\r\nimport jsonState from '../../../json/State.json';\r\nimport { CommonController } from '../../../Controllers/CommonController';\r\nimport { QuickProductSearchController } from '../../../Controllers/QuickProductSearchController';\r\n//import Table from 'react-bootstrap/Table'\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/Style.css'\r\nimport { RegisterParameter, Istate } from \"../../../Model/QuickProductSearch\"; \r\n\r\nexport class QuickProductSearch extends Component {\r\n\r\n constructor(props: RegisterParameter) {\r\n\r\n super(props)\r\n this.state = {\r\n fields: { artist: '', title: '', selection: '', upc: '' },\r\n selectfields: { recordLabelId: '',recordLabelName:'' },\r\n checkfields: { multipleSelect: false },\r\n errors: { title: '', artist: '', selection: '', upc: '' },\r\n Recordlabel: [],\r\n tdArray: [],\r\n errMsg: '',\r\n loading: false,\r\n thArray: [],\r\n SearchGrid: [],\r\n hidediv: true,\r\n isAvl:false,\r\n isAvlMsg:'List is Empty...Please search for the needs'\r\n }\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n\r\n }\r\n\r\n componentWillMount() {\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({\r\n Recordlabel: JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n });\r\n\r\n this.setState({\r\n hidediv: true\r\n });\r\n\r\n }\r\n\r\n handleSelectChange(e: any) {\r\n\r\n let selectfields = this.state.selectfields;\r\n if (e.currentTarget.name === 'recordLabelId')\r\n {\r\n if (e.currentTarget.value === \"All Companies\")\r\n {\r\n selectfields['recordLabelName'] = \"\"\r\n }\r\n else\r\n {\r\n selectfields['recordLabelName'] = e.currentTarget.value;\r\n }\r\n }\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n\r\n this.setState({\r\n selectfields\r\n });\r\n\r\n }\r\n\r\n handleChange(e: any) {\r\n let fields = this.state.fields;\r\n if (e.currentTarget.value.trim().length > 0)\r\n {\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n else\r\n {\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n }\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n handleClick(e: any) {\r\n let fields = this.state.fields;\r\n fields['artist'] = \"\";\r\n fields['title'] = \"\";\r\n fields['selection'] = \"\";\r\n fields['upc'] = \"\"; \r\n this.setState({\r\n hidediv: true, fields, SearchGrid: [], isAvlMsg:\"List is Empty...Please search for the needs\", isAvl:false\r\n });\r\n }\r\n\r\n\r\n onSubmit = (e: any) => {\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n \r\n var data = {\r\n recordLabelId: this.state.selectfields.recordLabelName,\r\n artist: this.state.fields.artist,\r\n title: this.state.fields.title,\r\n selection: this.state.fields.selection,\r\n upc: this.state.fields.upc\r\n }\r\n let quickproductSearchController = new QuickProductSearchController();\r\n quickproductSearchController.getSearchProductInfo(data).then(jsonProductSearch => {\r\n this.setState({\r\n SearchGrid: JSON.parse(JSON.stringify(jsonProductSearch)), loading: false\r\n });\r\n if(this.state.SearchGrid.length > 0)\r\n { \r\n this.setState({isAvl:true})\r\n this.setState({isAvlMsg:\"\"})\r\n this.setState({ loading: false });\r\n }\r\n else\r\n { \r\n this.setState({isAvl:false})\r\n this.setState({isAvlMsg:\"No record(s) found\"})\r\n this.setState({ loading: false });\r\n }\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading in search product\")\r\n });\r\n\r\n this.setState({\r\n hidediv: false\r\n });\r\n \r\n }\r\n \r\n displayTableRecord=()=>{\r\n let stateCnt:number = this.state.SearchGrid.length;\r\n \r\n if (this.state.isAvl)\r\n {\r\n return this.state.SearchGrid.map(function (prop, i) {\r\n return \r\n {prop[\"item1\"]}\r\n {prop[\"item2\"]}\r\n {prop[\"item3\"]}\r\n {prop[\"item4\"]}\r\n {prop[\"item5\"]}\r\n {prop[\"item6\"]}\r\n {prop[\"item7\"]}\r\n {prop[\"item8\"]}\r\n \r\n })\r\n }\r\n else\r\n {\r\n return {this.state.isAvlMsg}\r\n }\r\n }\r\n render() {\r\n const { loading } = this.state;\r\n const displayOperatingCompanyOptionforUserTypeS = () => {\r\n // if(sessionStorage.getItem(\"usertype_id\")===\"S\"){\r\n return \r\n \r\n \r\n \r\n \r\n // }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Quick Product Search

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n {displayOperatingCompanyOptionforUserTypeS()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Search Product\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thProdArray.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.displayTableRecord()}\r\n \r\n
{prop}
\r\n
\r\n \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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class UserViewController {\r\n response : any;\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n userInfo : any;\r\n dateTimeFormat : DateTimeFormat;\r\n constructor(){ \r\n this.response = { msg : '', success : true }\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat(); \r\n }\r\n\r\n getUserList(val : string,searchType : number){\r\n var url = this.variables.Url + this.variables.Controller.userView + this.variables.userViewService.getUserList;\r\n var data = {\r\n \"val\": val,\r\n \"searchBy\" : searchType \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonUserList : Array<{\"alias\": string; \"userType\": string;\"processName\":string; \"name\":string;\"email\":string;\"label\":string;\r\n \"department\": string;\"password\": string;\"customerNumber\": string;\"businessUnit\": string;\r\n \"executiveUser\":string;\"superUser\":string }> = [];\r\n if(response.success){\r\n response.recordset.forEach(list);\r\n\r\n function list(item: { alias:string;Usertype_id:string;Process_name:string;Name:string;Email:string;RecordLabel_id:string;\r\n Department:string;Password:string;CustomerNumber:string;BusinessUnit:any;ExecutiveUser:string;SuperUser:string }, _index: number){\r\n jsonUserList.push({\"alias\": item.alias, \"userType\": item.Usertype_id,\"processName\":item.Process_name,\r\n \"name\":item.Name,\"email\":item.Email,\"label\":item.RecordLabel_id,\"department\":item.Department,\"password\":item.Password, \r\n \"customerNumber\":item.CustomerNumber,\"businessUnit\":item.BusinessUnit,\"executiveUser\":item.ExecutiveUser,\"superUser\":item.SuperUser })\r\n }\r\n return JSON.parse(JSON.stringify(jsonUserList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return JSON.parse(JSON.stringify(jsonUserList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n\r\n getUserListByProcessName(val : string){\r\n var url = this.variables.Url + this.variables.Controller.userView + this.variables.userViewService.getUserListByProcessName;\r\n var data = {\r\n \"processname\": val \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonUserList : Array<{\"alias\": string; \"userType\": string;\"name\":string;\"password\": string }> = [];\r\n \r\n if(response.success){\r\n response.recordset.forEach(list);\r\n\r\n function list(item: { Alias:string;user_type:string;Name:string;password:string}, _index: number){\r\n jsonUserList.push({\"alias\": item.Alias, \"userType\": item.user_type,\"name\":item.Name,\"password\":item.password })\r\n }\r\n return JSON.parse(JSON.stringify(jsonUserList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return JSON.parse(JSON.stringify(jsonUserList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n}","import React, { Component, CSSProperties} from \"react\";\r\nimport {Container, Navbar, Nav, NavItem, Card, Row, Col,Table,Form,Alert,Button} from \"react-bootstrap\";\r\nimport {FormControl,Modal} from \"../../../../node_modules/react-bootstrap\";\r\nimport { NavLink,Link } from \"react-router-dom\";\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport {History, LocationState} from \"History\";\r\nimport{UserViewController} from \"../../../Controllers/UserViewController\"\r\nimport { UserViewParameter, Istate } from \"../../../Model/UserView\"; \r\nimport '../../../assets/css/Style.css'\r\nimport { Variables } from '../../../Variables/Variables';\r\n\r\nexport class UserView extends Component {\r\n constructor(props:UserViewParameter){\r\n super(props) \r\n this.state={\r\n fields: {find:'',searchType:'' },\r\n errors: {find:'',searchType:'' },\r\n selectfields: {searchBy:'0'},\r\n errMsg:\"\",\r\n loginFailed: 0,\r\n UserList:[],\r\n userListbyProcessName:[],\r\n loading: false,\r\n isUserAvl:false,\r\n isAprProcessUserAvl:false,\r\n modalShow: false,\r\n isUserAvlMsg:\"List is Empty...Please search for the needs\",\r\n isAprProcessUserAvlMsg:\"\", \r\n vuid:\"\",\r\n processName:\"\"\r\n }\r\n this.handleChange = this.handleChange.bind(this); \r\n this.handleTextChange = this.handleTextChange.bind(this);\r\n this.onSubmit=this.onSubmit.bind(this); \r\n this.setActiveTab=this.setActiveTab.bind(this); \r\n this.handleModalClose = this.handleModalClose.bind(this); \r\n this.handleRefreshPage = this.handleRefreshPage.bind(this);\r\n }\r\n\r\n handleChange (e:any) {\r\n let selectfields = this.state.selectfields;\r\n selectfields.searchBy= e.currentTarget.value;\r\n this.setState({\r\n selectfields\r\n })\r\n }\r\n\r\n handleTextChange (e:any) {\r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n handleModalClose = (e : any) => {\r\n this.setState({ modalShow: false })\r\n }\r\n\r\n handleRefreshPage=(e:any) => {\r\n window.location.reload(); \r\n }\r\n\r\n setActiveTab = (e) => {\r\n e.preventDefault();\r\n //console.log(e.target); \r\n\r\n this.setState({processName:e.target.text}) \r\n let userviewController = new UserViewController(); \r\n userviewController.getUserListByProcessName(e.target.text)\r\n .then(jsonUserList =>{\r\n this.setState({ \r\n userListbyProcessName : JSON.parse(JSON.stringify(jsonUserList)) \r\n });\r\n //console.log(this.state.userListbyProcessName) \r\n //console.log(this.state.userListbyProcessName.length) \r\n if(this.state.userListbyProcessName.length > 0)\r\n { \r\n this.setState({isAprProcessUserAvl:true})\r\n this.setState({modalShow:true})\r\n this.setState({isUserAvlMsg:\"\"})\r\n this.setState({isAprProcessUserAvlMsg:\"\"})\r\n }\r\n else\r\n { \r\n this.setState({modalShow:true})\r\n this.setState({isAprProcessUserAvl:false})\r\n this.setState({isAprProcessUserAvlMsg:\"No approvers available for this process.\"})\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n }\r\n \r\n\r\n onSubmit =(e:any)=>{\r\n \r\n e.preventDefault();\r\n if (this.ValidateProfile()) {\r\n let errors = this.state.errors;\r\n this.setState({ errors });\r\n errors[\"find\"] = \"\"; \r\n this.setState({ errors });\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n \r\n let userviewController = new UserViewController();\r\n userviewController.getUserList(this.state.fields.find,this.state.selectfields.searchBy)\r\n .then(jsonUserList =>{\r\n this.setState({ \r\n UserList : JSON.parse(JSON.stringify(jsonUserList)), loading: false\r\n });\r\n //console.log(this.state.UserList) \r\n //console.log(this.state.UserList.length) \r\n if(this.state.UserList.length > 0)\r\n { \r\n this.setState({isUserAvl:true})\r\n this.setState({isUserAvlMsg:\"\"})\r\n this.setState({ loading: false });\r\n }\r\n else\r\n { \r\n this.setState({isUserAvl:false})\r\n this.setState({isUserAvlMsg:\"No record(s) found\"})\r\n this.setState({ loading: false });\r\n }\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.log(error);\r\n })\r\n }\r\n else\r\n {\r\n\r\n } \r\n } \r\n\r\n ValidateProfile(){\r\n this.clearError();\r\n let formIsValid = true; \r\n let fields = this.state.fields; \r\n let select =this.state.selectfields.searchBy; \r\n let errors = this.state.errors;\r\n if (!fields[\"find\"]) {\r\n formIsValid = false;\r\n errors[\"find\"] = \"Please enter values to find\"; \r\n }\r\n if(select === \"0\"){\r\n formIsValid = false;\r\n errors[\"searchType\"] = \"Please select a value\";\r\n }\r\n return formIsValid;\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"find\"] = \"\"; \r\n errors[\"searchType\"]=\"\";\r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n\r\n render(){\r\n const { loading } = this.state;\r\n const { isUserAvl } = this.state;\r\n const { isAprProcessUserAvl } = this.state;\r\n const gridBoxStyle:CSSProperties = {\r\n fontSize: \"9px\",\r\n width:\"10%\" \r\n }; \r\n const popUpHeaderstyle:CSSProperties = {\r\n fontSize: \"9px\", \r\n fontWeight: 'bold' as 'bold', \r\n width:\"9%\", \r\n borderBottom: \"1px solid rgb(212, 212, 212)\" \r\n };\r\n return ( \r\n
\r\n \r\n \r\n Approvers for Process {this.state.processName}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NameAliasUser TypePassword
\r\n
\r\n
\r\n {isAprProcessUserAvl ?\r\n \r\n {this.state.userListbyProcessName.map((prop, key) => { \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) \r\n })} \r\n\r\n
{prop[\"name\"]}{prop[\"alias\"]}{prop[\"userType\"]}{prop[\"password\"]}
:\r\n \r\n \r\n \r\n \r\n
{this.state.isAprProcessUserAvlMsg}
} \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

User View

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n In\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.searchType}

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Search User\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n { isUserAvl ? \r\n \r\n \r\n \r\n {new Variables().thUserList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.UserList.map((prop, key) => { \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
{prop}
{prop[\"name\"]}\r\n {prop[\"alias\"]}{prop[\"userType\"]}{prop[\"processName\"]}{prop[\"label\"]}{prop[\"department\"]}{prop[\"businessUnit\"]}{prop[\"customerNumber\"]}{prop[\"executiveUser\"]}{prop[\"superUser\"]}
:\r\n \r\n \r\n \r\n {new Variables().thUserList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{prop}
{this.state.isUserAvlMsg}
} \r\n
\r\n \r\n \r\n
\r\n \r\n
\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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class ViewOrderController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response : any;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n getListViewOrder(alias : string,start_date : string,end_date : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getListViewOrder;\r\n var data = {\r\n \"alias\": alias, \r\n \"startDate\":start_date,\r\n \"endDate\": end_date \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var jsonviewOrderList : Array<{\"Order_Id\": string; \"billable\": boolean;\"material\":boolean;\"NTBillableT\":boolean;\"RequestDate\":Date;\"ShipToName\":string;\"Name\":string;\r\n \"Approver_Id\": string;\"StatusDesc\": string;\"Ship_method\":string; \"Sales_type\":string }> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { Order_Id:string;billable:boolean;material:boolean;NTBillableT:boolean;Request_Date:Date;ShipToName:string;\r\n Name:string;StatusDesc:string;Approver_Id:string;ship_method:string;sales_type:string }, _index: number){\r\n jsonviewOrderList.push({\"Order_Id\": item.Order_Id, \"billable\": item.billable,\"material\":item.material,\"NTBillableT\":item.NTBillableT,\r\n \"RequestDate\":item.Request_Date,\"ShipToName\":item.ShipToName,\"Name\":item.Name,\"StatusDesc\":item.StatusDesc,\"Approver_Id\":item.Approver_Id,\r\n \"Ship_method\" :item.ship_method, \"Sales_type\":item.sales_type})\r\n }\r\n return JSON.parse(JSON.stringify(jsonviewOrderList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.response.msg = response.message.toString(); \r\n this.response.success = false;\r\n return JSON.parse(JSON.stringify(jsonviewOrderList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getOrderSummary(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getOrderSummary;\r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var resOrderdata = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n return resOrderdata;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getNextApprover(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getNextApprover;\r\n var recordsetNextApprover= {\"recordset\" :[{\"alias\": \"\",\"Approver\":\"\"}]};\r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data) \r\n .then(response => {\r\n var jsonNxtApproverdata : Array<{\"alias\": string;\"Approver\":string}> = [];\r\n if(response.success) {\r\n response.recordset.forEach(list); \r\n function list(item: { alias:string;Approver:string;}, _index: number){\r\n jsonNxtApproverdata.push({\"alias\": item.alias, \"Approver\": item.Approver})\r\n } \r\n return JSON.parse(JSON.stringify(jsonNxtApproverdata).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else{\r\n recordsetNextApprover.recordset.forEach(list); \r\n function list(item: {alias:string;Approver:string;}, _index: number){\r\n jsonNxtApproverdata.push({\"alias\": item.alias, \"Approver\": item.Approver})\r\n } \r\n return JSON.parse(JSON.stringify(jsonNxtApproverdata).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getApprovalHistory(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getApprovalHistory;\r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var jsonAppHisList : Array<{\"Approver\": string;\"ApprovalDateTime\":string;\"ApproverEmail\":string;\"Notes\":string;\"ApproverType\":string;\"ApproverType_Id\":string }> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { Approver:string;ApprovalDateTime:string;ApproverEmail:string;Notes:string;ApproverType:string,ApproverType_Id:string}, _index: number){\r\n jsonAppHisList.push({\"Approver\": item.Approver, \"ApprovalDateTime\": item.ApprovalDateTime,\"ApproverEmail\":item.ApproverEmail,\r\n \"Notes\":item.Notes,\"ApproverType\":item.ApproverType,ApproverType_Id:item.ApproverType_Id})\r\n } \r\n return JSON.parse(JSON.stringify(jsonAppHisList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.variables.recordsetApprovalHistory.recordset.forEach(list); \r\n function list(item: { Approver:string;ApprovalDateTime:string;ApproverEmail:string;Notes:string;ApproverType:string,ApproverType_Id:string}, _index: number){\r\n jsonAppHisList.push({\"Approver\": item.Approver, \"ApprovalDateTime\": item.ApprovalDateTime,\"ApproverEmail\":item.ApproverEmail,\r\n \"Notes\":item.Notes,\"ApproverType\":item.ApproverType,ApproverType_Id:item.ApproverType_Id})\r\n } \r\n return JSON.parse(JSON.stringify(jsonAppHisList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getOrderDetails(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getOrderDetails;\r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var jsonOrdDetList : Array<{\"itemStatusDesc\":string;\"item_id\":string;\"label_id\":string;\"unitstoset\":string;\"billable\":string;\"Order_Id\":string;\"Selection_Id\":string;\r\n \"Configuration\":string;\"order_item_status_id\":string;\"Quantity_Approved\":string; \"Quantity_Requested\":string;\"ReqQty\":string;\"DeptQty\":string;\"DJCQty\":string;\r\n \"Price_Requested\":string;\"Price_Approved\":string;\"Approver_Id\":string;\"Approval_Date\":string;\"Artist\":string;\"Title\":string;\r\n \"ReleaseDate\":string; \"alias\":string;\"cost\":string;}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: {itemStatusDesc:string;item_id:string;label_id:string;unitstoset:string;billable:string;Order_Id:string;Selection_Id:string;\r\n Configuration:string;order_item_status_id:string;Quantity_Approved:string; Quantity_Requested:string;ReqQty:string;DeptQty:string;DJCQty:string;\r\n Price_Requested:string;Price_Approved:string;Approver_Id:string;Approval_Date:string;Artist:string;Title:string;\r\n ReleaseDate:string; alias:string;cost:string;}, _index: number){\r\n jsonOrdDetList.push({\"itemStatusDesc\":item.itemStatusDesc,\"item_id\":item.item_id,\"label_id\":item.label_id,\"unitstoset\":item.unitstoset,\"billable\":item.billable,\"Order_Id\":item.Order_Id,\"Selection_Id\":item.Selection_Id,\r\n \"Configuration\":item.Configuration,\"order_item_status_id\":item.order_item_status_id,\"Quantity_Approved\":item.Quantity_Approved, \"Quantity_Requested\":item.Quantity_Requested,\"ReqQty\":item.ReqQty,\"DeptQty\":item.DeptQty,\"DJCQty\":item.DJCQty,\r\n \"Price_Requested\":item.Price_Requested,\"Price_Approved\":item.Price_Approved,\"Approver_Id\":item.Approver_Id,\"Approval_Date\":item.Approval_Date,\"Artist\":item.Artist,\"Title\":item.Title,\r\n \"ReleaseDate\":item.ReleaseDate, \"alias\":item.alias,\"cost\":item.cost})\r\n }\r\n \r\n return JSON.parse(JSON.stringify(jsonOrdDetList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.response.msg = response.message.toString(); \r\n this.response.success = false;\r\n jsonOrdDetList.push({\"itemStatusDesc\":\"\",\"item_id\":\"\",\"label_id\":\"\",\"unitstoset\":\"\",\"billable\":\"\",\"Order_Id\":\"\",\"Selection_Id\":\"\",\r\n \"Configuration\":\"\",\"order_item_status_id\":\"\",\"Quantity_Approved\":\"\", \"Quantity_Requested\":\"\",\"ReqQty\":\"\",\"DeptQty\":\"\",\"DJCQty\":\"\",\r\n \"Price_Requested\":\"\",\"Price_Approved\":\"\",\"Approver_Id\":\"\",\"Approval_Date\":\"\",\"Artist\":\"\",\"Title\":\"\",\r\n \"ReleaseDate\":\"\", \"alias\":\"\",\"cost\":\"\"})\r\n return JSON.parse(JSON.stringify(jsonOrdDetList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getOrderDepotHistory(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getOrderDepotHistory;\r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var jsonDepotHisList : Array<{\"CreateDateTime\":string;\"Notes\":string;}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: {CreateDateTime:string;Notes:string;}, _index: number){\r\n jsonDepotHisList.push({\"CreateDateTime\":item.CreateDateTime,\"Notes\":item.Notes})\r\n }\r\n \r\n return JSON.parse(JSON.stringify(jsonDepotHisList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n \r\n this.variables.recordsetDepotHistory.recordset.forEach(list); \r\n function list(item: {CreateDateTime:string;Notes:string;}, _index: number){\r\n jsonDepotHisList.push({\"CreateDateTime\":item.CreateDateTime,\"Notes\":item.Notes})\r\n }\r\n \r\n return JSON.parse(JSON.stringify(jsonDepotHisList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getOrderDepotContact(labelID : string){\r\n var url = this.variables.Url + this.variables.Controller.ViewOrder + this.variables.viewOrderService.getOrderDepotContact;\r\n var data = {\r\n \"labelId\": labelID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var jsonDepotContact : Array<{\"name\":string;\"phone\":string;}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: {name:string;phone:string;}, _index: number){\r\n jsonDepotContact.push({\"name\":item.name,\"phone\":item.phone})\r\n }\r\n \r\n return JSON.parse(JSON.stringify(jsonDepotContact).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.response.msg = response.message.toString(); \r\n this.response.success = false; \r\n jsonDepotContact.push({\"name\":\"\",\"phone\":\"\"}) \r\n return JSON.parse(JSON.stringify(jsonDepotContact).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n}","import React, { Component} from \"react\";\r\nimport {Container,Card, Row, Col,Table,Form,Alert,Button,Navbar, Nav,FormText} from \"react-bootstrap\";\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport { NavLink } from 'react-router-dom'\r\nimport '../../../assets/css/Style.css'\r\nimport DatePicker from 'react-datepicker';\r\nimport { ViewOrderParameter, Istate } from \"../../../Model/ViewOrder\"; \r\nimport{ViewOrderController} from \"../../../Controllers/ViewOrderController\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport { convertToObject } from \"typescript\";\r\nimport { format } from 'date-fns'\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\nexport class ViewOrder extends Component {\r\n constructor(props:ViewOrderParameter){\r\n super(props) \r\n this.state={\r\n fields: {find:'', searchType:'', orderType:'' },\r\n errors: {find:'',searchType:'' }, \r\n errMsg:\"\",\r\n startDate:\"\",\r\n previousdate:\"\",\r\n Order_id:\"\",\r\n goodsReq:\"\",\r\n alias:\"\",\r\n displayListGrid:[],\r\n isListAvlMsg:\"\",\r\n isListAvl:false,\r\n todayDate:\"\",\r\n task_For:\"\",\r\n depotContactList:[],\r\n isContactAvl:false, \r\n endDate:\"\",\r\n loading: false,\r\n modalSpinnerShow:false\r\n }\r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this); \r\n }\r\n\r\n componentWillMount(){\r\n this.setState({modalSpinnerShow:true});\r\n\r\n var today =new Date(); \r\n var sD=new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000)); \r\n var curr_date = sD.getDate();\r\n var curr_month = sD.getMonth() + 1; //Months are zero based\r\n var curr_year = sD.getFullYear();\r\n var startDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n var eD = today;\r\n var curr_date = eD.getDate();\r\n var curr_month = eD.getMonth() + 1; //Months are zero based\r\n var curr_year = eD.getFullYear();\r\n var endDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n sessionStorage.setItem('SearchHistoryView', '0' )\r\n sessionStorage.setItem('SearchHistory','')\r\n let SH\r\n SH = sessionStorage.getItem(\"ViewOrderStatus\") \r\n sessionStorage.setItem('ViewOrderStatus', '0' ) \r\n \r\n var temparray = sessionStorage.getItem('ViewOrder') || \"\" \r\n var srhBk = sessionStorage.getItem('ViewOrderStatusSR') || \"\" \r\n\r\n if (SH==='1' && temparray != \"\")\r\n {\r\n this.setState({isListAvl:true})\r\n this.setState({ \r\n displayListGrid: JSON.parse(sessionStorage.getItem('ViewOrder') || \"\") \r\n });\r\n \r\n var sdate = Date.parse(sessionStorage.getItem('startDate') || \"\")\r\n var edate = Date.parse(sessionStorage.getItem('endDate') || \"\")\r\n \r\n this.setState({ startDate: \"\"}); \r\n this.setState({ endDate: \"\"}); \r\n\r\n //this.setState({ startDate: format(sdate, 'MM/dd/yyyy')}); \r\n //this.setState({ endDate: format(edate, 'MM/dd/yyyy')}); \r\n\r\n }\r\n else\r\n {\r\n this.setState({isListAvl:false}) \r\n\r\n this.setState({ startDate: sD}); \r\n this.setState({ endDate: today});\r\n\r\n }\r\n\r\n let viewOrderController = new ViewOrderController();\r\n viewOrderController.getOrderDepotContact(sessionStorage.getItem(\"label_id\")!)\r\n .then(jsonDepotContact=>{\r\n this.setState({ \r\n depotContactList : JSON.parse(JSON.stringify(jsonDepotContact))\r\n }); \r\n if(this.state.depotContactList.length > 0) \r\n { \r\n this.setState({isContactAvl:true})\r\n }\r\n\r\n }).catch(error => {\r\n console.error(\"There was an error loading Depot Contact\")\r\n })\r\n\r\n \r\n if (srhBk !=='1')\r\n {\r\n // sessionStorage.setItem('ViewOrderStatusSR', '0' ) \r\n\r\n viewOrderController.getListViewOrder(sessionStorage.getItem(\"uid\")!,startDate,endDate)\r\n .then(jsonviewOrderList =>{\r\n this.setState({ \r\n displayListGrid : JSON.parse(JSON.stringify(jsonviewOrderList))\r\n }); \r\n \r\n if(this.state.displayListGrid.length > 0)\r\n { \r\n this.setState({isListAvl:true})\r\n this.setState({isListAvlMsg:\"\"})\r\n }\r\n else\r\n { \r\n this.setState({isListAvlMsg:\"No record(s) found\"}) \r\n }\r\n this.setState({modalSpinnerShow:false})\r\n }).catch(error => { \r\n console.log(error);\r\n })\r\n \r\n }\r\n else\r\n {\r\n this.setState({modalSpinnerShow:false})\r\n }\r\n\r\n this.setState({modalSpinnerShow:false})\r\n \r\n\r\n }\r\n \r\n getItemInfo= (item) =>{\r\n const styleObj = {\r\n fontSize: 10,\r\n color: \"red\", \r\n } \r\n const styleBilObj = {\r\n fontSize: 10,\r\n color: \"#800000\", \r\n } \r\n \r\n if(item[\"material\"] === true)\r\n {\r\n return (Clean) \r\n }\r\n else{\r\n return \"\"\r\n } \r\n };\r\n\r\n getBillItemInfo= (item) =>{\r\n\r\n const styleBilObj = {\r\n fontSize: 10,\r\n color: \"#800000\", \r\n } \r\n if(item[\"billable\"] === true)\r\n {\r\n return (Billable) \r\n }\r\n else if(item[\"NTBillableT\"] === true)\r\n {\r\n return (Non Billable Transfer) \r\n }\r\n else{\r\n return \"\"\r\n } \r\n};\r\n getShipment=(item) =>{\r\n const styleObj = {\r\n fontSize: 10,\r\n color: \"red\", \r\n } \r\n\r\n if(item[\"Ship_method\"] !=\"Standard Ground\")\r\n { //return \"2nd Day Air\"\r\n if(!item[\"NTBillableT\"] && !item[\"billable\"])\r\n {\r\n return ({item[\"Ship_method\"]}) \r\n }\r\n\r\n } \r\n }\r\n \r\n getLinkWithPath= (item) =>{\r\n return ({item[\"Order_Id\"]}) \r\n };\r\n\r\n isDepotMsg =() =>{\r\n const styleObj = {\r\n fontSize: 13,\r\n color: \"red\", \r\n } \r\n var i =0;\r\n this.state.depotContactList.map((prop)=> { \r\n if(i === 0 && prop[\"name\"] != \"\")\r\n { \r\n i++;\r\n return (\r\n If you have any questions regarding a Depot Processed order, please contact: UMGLabelRequests@umusic.com\r\n )\r\n } \r\n }) \r\n };\r\n\r\n onSubmit =(e:any)=>{\r\n try{\r\n e.preventDefault();\r\n if (this.ValidateDate()) { \r\n \r\n this.setState({ loading: true });\r\n this.setState({isListAvl:false})\r\n\r\n //var temps = this.state.startDate\r\n\r\n var sD = this.state.startDate\r\n \r\n var curr_date = sD.getDate();\r\n var curr_month = sD.getMonth() + 1; //Months are zero based\r\n var curr_year = sD.getFullYear();\r\n var startDate = \"\"; \r\n\r\n startDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n \r\n\r\n var eD = this.state.endDate; \r\n var curr_date = eD.getDate();\r\n var curr_month = eD.getMonth() + 1; //Months are zero based\r\n var curr_year = eD.getFullYear();\r\n var endDate = \"\";\r\n \r\n endDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n \r\n let viewOrderController = new ViewOrderController();\r\n viewOrderController.getListViewOrder(sessionStorage.getItem(\"uid\")!,startDate,endDate)\r\n .then(jsonviewOrderList =>{\r\n this.setState({ \r\n displayListGrid : JSON.parse(JSON.stringify(jsonviewOrderList))\r\n }); \r\n sessionStorage.setItem('ViewOrder', JSON.stringify(jsonviewOrderList))\r\n sessionStorage.setItem('startDate',startDate)\r\n sessionStorage.setItem('endDate',endDate)\r\n sessionStorage.setItem('Bchk','1')\r\n\r\n if(this.state.displayListGrid.length > 0)\r\n { \r\n this.setState({isListAvl:true})\r\n this.setState({isListAvlMsg:\"\"})\r\n }\r\n else\r\n { \r\n this.setState({isListAvlMsg:\"No record(s) found\"}) \r\n }\r\n this.setState({ loading: false });\r\n }).catch(error => { \r\n console.log(error);\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n } \r\n }\r\n\r\n getUrlInfo= (item) =>{\r\n let fields= this.state.fields;\r\n if(item[\"Sales_type\"] === \"66 Ticket Bundling\"){\r\n fields['orderType'] = \"TB\"; \r\n this.setState({fields})\r\n return \"/admin/TicketBundling\"\r\n }\r\n else if(item[\"billable\"] === true){\r\n fields['orderType'] = \"BI\"; \r\n this.setState({fields})\r\n return \"/admin/CreateBillableOrder\"\r\n }\r\n else if(item[\"NTBillableT\"] === true){\r\n fields['orderType'] = \"NT\"; \r\n this.setState({fields})\r\n return \"/admin/TransferNonBillable\" \r\n }\r\n else{\r\n fields['orderType'] = \"FG\";\r\n this.setState({fields})\r\n return \"/admin/FreeGoodsOrder\";\r\n } \r\n \r\n};\r\n\r\n ValidateDate(){ \r\n let formIsValid = true;\r\n this.clearError();\r\n if(this.state.startDate === \"\" || this.state.startDate === null)\r\n {\r\n this.setState({errMsg : \"Please enter start date\"})\r\n formIsValid=false;\r\n }\r\n else if (this.state.endDate === \"\" || this.state.endDate === null)\r\n {\r\n this.setState({errMsg : \"Please enter end date\"})\r\n formIsValid=false;\r\n }\r\n \r\n return formIsValid\r\n}\r\n\r\nclearError()\r\n{\r\n let errors = this.state.errors;\r\n errors[\"startDate\"] = \"\"; \r\n errors[\"endDate\"]=\"\"; \r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n});\r\n}\r\n \r\n handleChangeStartDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n \r\n if (date === null) \r\n errors[\"startDate\"] = \"Please enter start date\"; \r\n else{\r\n if(today < date )\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"startDate\"] = \"\"; \r\n } \r\n this.setState({startDate: date,errors});\r\n };\r\n handleChangeEndDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n if(date === null)\r\n errors[\"endDate\"] = \"Please enter start date\";\r\n else \r\n {\r\n if(today < date )\r\n errors[\"endDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"endDate\"] = \"\"; \r\n }\r\n this.setState({endDate: date, errors});\r\n };\r\n\r\n render(){\r\n const { isListAvl } = this.state; \r\n const { loading } = this.state; \r\n const styleObj = {\r\n fontSize: 13,\r\n color: \"red\", \r\n } \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

View Order

\r\n
\r\n \r\n \r\n If you have any questions regarding a Depot Processed order, please contact: UMGLabelRequests@umusic.com\r\n \r\n \r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.startDate}

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

 {this.state.errors.endDate}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Export to Excel}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n {isListAvl ? \r\n \r\n \r\n \r\n {new Variables().thViewOrderList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayListGrid.map((prop, key) => { \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
{prop}
{prop[\"RequestDate\"]} {this.getShipment(prop)}{this.getLinkWithPath(prop)} {this.getBillItemInfo(prop)} {this.getItemInfo(prop)}{prop[\"ShipToName\"]}{prop[\"Name\"]}{prop[\"StatusDesc\"]}
:\r\n \r\n \r\n \r\n {new Variables().thFtpHistoryList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{prop}
{this.state.isListAvlMsg}
} \r\n
\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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class DepotOrdersController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n searchInfo : any;\r\n dateTimeFormat : DateTimeFormat;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n this.searchInfo = {userName: '', orderItem:'', nrecordLabelId:'',title:'',artist:'',selection:'',upc:'', exceptions:false}\r\n }\r\n\r\n getDepotPendingOrders(){ \r\n \r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getDepotPendingOrders; \r\n \r\n return this.serviceProxy.get(url,{}) \r\n .then(response => { \r\n var jsonDepotOrders : Array<{ \"Billable\" : string; \"Order_Id\" : string; \"Ship_Method\" : string; \"Request_Date\" : string; \"Material\" : string; \"ShipToName\" : string; \"Name\" : string; \"Status_Id\" : string; \"Approver_Id\" : string; \"StatusDesc\" : string; \"NTBillable\" : string;}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(deptorder);\r\n function deptorder(item: {Billable : string, Order_Id : string, Ship_Method : string, Request_Date: string,Material: string,ShipToName: string, Name: string, Status_Id: string, Approver_Id: string, StatusDesc: string, NTBillable: string} , _index: number)\r\n { \r\n jsonDepotOrders.push({\"Billable\": item.Billable, \"Order_Id\": item.Order_Id, \"Ship_Method\": item.Ship_Method,\"Request_Date\": item.Request_Date, \"Material\" : item.Material, \"ShipToName\": item.ShipToName, \"Name\" : item.Name, \"Status_Id\" : item.Status_Id, \"Approver_Id\" : item.Approver_Id, \"StatusDesc\": item.StatusDesc, \"NTBillable\" : item.NTBillable }) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonDepotOrders).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonDepotOrders).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n cancelPendingOrders(data1){\r\n \r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.cancelPendingOrders; \r\n var data2 : any = {\r\n username : data1.userName,\r\n orderItem : data1.orderItem \r\n }\r\n return this.serviceProxy.put(url,data2).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n }) \r\n\r\n }\r\n\r\n depotProcessOrder(data11){\r\n \r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.depotProcessOrder; \r\n var data22 : any = {\r\n OrderId : data11.OrderId,\r\n depotCmts : data11.depotCmts,\r\n legacyOrder : data11.legacyOrder \r\n }\r\n return this.serviceProxy.put(url,data22).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n }) \r\n\r\n }\r\n\r\n holdOrder(holddata){\r\n \r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.holdOrder; \r\n \r\n var Hdata : any = {\r\n orderId : holddata.orderId \r\n }\r\n\r\n return this.serviceProxy.put(url,Hdata).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n }) \r\n\r\n }\r\n\r\n getDepotHistory(data){ \r\n \r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getDepotHistory; \r\n var data2 : any = {\r\n search_field : data.search_field,\r\n filter :data.filter,\r\n startDate: data.startDate,\r\n endDate: data.endDate \r\n }\r\n return this.serviceProxy.get(url,data2) \r\n .then(response => { \r\n var jsonDepotHistory : Array<{ \"billable\" : string; \"Requestor\" : string; \"request_date\" : string; \"Order_Id\" : string; \"legacyorder\" : string; \"label_id\" : string; \"Name\" : string; \"ShipToName\" : string; \"ntbillablet\" : string;\"selection_id\" : string}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(depthistory);\r\n function depthistory(item: {billable : string, Requestor : string, request_date : string, Order_Id: string,legacyorder: string,label_id: string, Name: string, ShipToName: string, ntbillablet: string, selection_id: string} , _index: number)\r\n { \r\n jsonDepotHistory.push({\"billable\": item.billable, \"Requestor\": item.Requestor, \"request_date\": item.request_date,\"Order_Id\": item.Order_Id, \"legacyorder\" : item.legacyorder, \"label_id\": item.label_id, \"Name\" : item.Name, \"ShipToName\" : item.ShipToName, \"ntbillablet\" : item.ntbillablet, \"selection_id\" : item.selection_id}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonDepotHistory).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonDepotHistory).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getDepotHistoryExport(data){ \r\n \r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getDepotHistoryExport; \r\n var data2 : any = {\r\n search_field : data.search_field,\r\n filter :data.filter,\r\n startDate: data.startDate,\r\n endDate: data.endDate \r\n }\r\n return this.serviceProxy.get(url,data2) \r\n .then(response => { \r\n var jsonDepotHistoryExport : Array<{ \"billable\" : string; \"Requestor\" : string; \"request_date\" : string; \"Order_Id\" : string; \"legacyorder\" : string; \"label_id\" : string; \"Name\" : string; \"ShipToName\" : string; \"ntbillablet\" : string;\"selection_id\" : string;\"account_no\" : string; \"sales_type\" : string;\"Configuration\":string;\"Quantity_Approved\":string;\"price_approved\":string}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(depthistory);\r\n function depthistory(item: {billable : string, Requestor : string, request_date : string, Order_Id: string,legacyorder: string,label_id: string, Name: string, ShipToName: string, ntbillablet: string, selection_id: string, account_no: string, sales_type: string,Configuration: string,Quantity_Approved:string,price_approved:string} , _index: number)\r\n { \r\n jsonDepotHistoryExport.push({\"billable\": item.billable, \"Requestor\": item.Requestor, \"request_date\": item.request_date,\"Order_Id\": item.Order_Id, \"legacyorder\" : item.legacyorder, \"label_id\": item.label_id, \"Name\" : item.Name, \"ShipToName\" : item.ShipToName, \"ntbillablet\" : item.ntbillablet, \"selection_id\" : item.selection_id, \"account_no\" : item.account_no, \"sales_type\" : item.sales_type,\"Configuration\":item.Configuration,\"Quantity_Approved\":item.Quantity_Approved,\"price_approved\":item.price_approved}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonDepotHistoryExport).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonDepotHistoryExport).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getOrderSummarySale(OrdSumData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getOrderSummary; \r\n var data3 : any = { \r\n orderId : OrdSumData.Order_ID \r\n }\r\n return this.serviceProxy.get(url,data3) \r\n .then(response => { \r\n //console.log(response); \r\n var resOrderdata = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n // sessionStorage.setItem(\"Sale_Type\",resOrderdata.sales_type); \r\n return resOrderdata;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n getOrderDetailsSummary(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getOrderDetailsSummary;\r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n //console.log(response); \r\n var resOrderdata = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n return resOrderdata;\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n getOrderSummary(OrdSumData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getOrderSummary; \r\n var data3 : any = { \r\n orderId : OrdSumData.Order_ID \r\n }\r\n return this.serviceProxy.get(url,data3) \r\n .then(response => { \r\n var jsonOrdSum : Array<{ \"Order_Id\" : string; \"Label\" : string; \"Alias_name\" : string; \"Alias_department\" : string; \"addresslineone\" : string; \"addresslinetwo\" : string; \"Alias_city\" : string; \"Alias_state\" : string; \"Alias_zip\" : string; \"Alias_phone\" : string; \"Alias_email\" : string; \"Statusdesc\" : string; \"Status_Id\" : string; \"Recordlabel_Id\" : string; \"NTBillable\" : string; \"Delivery_date\" : string; \"LegacyOrder\" : string; \"Request_Date\" : string; \"sales_type\" : string; \"Ship_Method\" : string; \"Material\" : string; \"Billable\" : string; \"freight_billing_info\" : string; \"account_no\" : string; \"CustomerNumber\" : string; \"BusinessUnit\" : string; \"Department\" : string; \"SpecialInstructions\" : string; \"Reason\" : string; \"Addressline\" : string; \"ship_Name\":string; \"ship_ShipToName\":string; \"ship_AddressLineOne\":string; \"ship_AddressLineTwo\" :string; \"ship_City\":string; \"ship_State\":string; \"ship_Zip\":string; \"ship_Country\":string; \"ship_Phone\":string;}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(deptorderSum);\r\n function deptorderSum(item: {Order_Id : string, Label : string, Alias_name : string, Alias_department: string,addresslineone: string, addresslinetwo: string, Alias_city: string, Alias_state: string, Alias_zip: string, Alias_phone: string, Alias_email: string , Statusdesc: string , Status_Id: string , Recordlabel_Id: string , NTBillable: string, Delivery_date: string, LegacyOrder: string, Request_Date: string, sales_type : string, Ship_Method: string, Material: string, Billable : string, freight_billing_info:string, account_no:string, CustomerNumber:string, BusinessUnit:string, Department:string, SpecialInstructions:string,Reason:string, Addressline:string, ship_Name:string, ship_ShipToName:string, ship_AddressLineOne:string, ship_AddressLineTwo:string, ship_City:string, ship_State:string, ship_Zip:string, ship_Country:string, ship_Phone:string} , _index: number)\r\n { \r\n sessionStorage.setItem(\"Sales_Type\", item.sales_type);\r\n sessionStorage.setItem(\"Order_Id\", item.Order_Id); \r\n sessionStorage.setItem(\"Ship_Method\", item.Ship_Method);\r\n localStorage.setItem('Sale_Type', item.sales_type);\r\n\r\n jsonOrdSum.push({\"Order_Id\": item.Order_Id, \"Label\": item.Label, \"Alias_name\": item.Alias_name,\"Alias_department\": item.Alias_department, \"addresslineone\" : item.addresslineone, \"addresslinetwo\": item.addresslinetwo, \"Alias_city\" : item.Alias_city, \"Alias_state\" : item.Alias_state, \"Alias_zip\" : item.Alias_zip, \"Alias_phone\": item.Alias_phone, \"Alias_email\" : item.Alias_email,\"Statusdesc\" : item.Statusdesc, \"Status_Id\" : item.Status_Id, \"Recordlabel_Id\" : item.Recordlabel_Id, \"NTBillable\" : item.NTBillable, \"Delivery_date\" : item.Delivery_date, \"LegacyOrder\" : item.LegacyOrder, \"Request_Date\" : item.Request_Date, \"sales_type\" : item.sales_type, \"Ship_Method\" : item.Ship_Method, \"Material\" : item.Material, \"Billable\" : item.Billable, \"freight_billing_info\" : item.freight_billing_info, \"account_no\" : item.account_no, \"CustomerNumber\" : item.CustomerNumber, \"BusinessUnit\": item.BusinessUnit, \"Department\" : item.Department, \"SpecialInstructions\":item.SpecialInstructions, \"Reason\":item.Reason, \"Addressline\" : item.Addressline, \"ship_Name\":item.ship_Name,\"ship_ShipToName\":item.ship_ShipToName,\"ship_AddressLineOne\":item.ship_AddressLineOne,\"ship_AddressLineTwo\":item.ship_AddressLineTwo, \"ship_City\":item.ship_City, \"ship_State\":item.ship_State, \"ship_Zip\":item.ship_Zip, \"ship_Country\":item.ship_Country, \"ship_Phone\":item.ship_Phone}) \r\n }\r\n \r\n return JSON.parse(JSON.stringify(jsonOrdSum).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonOrdSum).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getNextApprover(ApprData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getNextApprover; \r\n var data4 : any = { \r\n sortBy: \"1\", \r\n orderId : ApprData.Order_ID \r\n }\r\n return this.serviceProxy.get(url,data4) \r\n .then(response => { \r\n var jsonNxtAppr : Array<{ \"Alias\" : string; \"Approver\" : string; }> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(deptAppr);\r\n function deptAppr(item: {Alias : string, Approver : string} , _index: number)\r\n { \r\n jsonNxtAppr.push({\"Alias\": item.Alias, \"Approver\": item.Approver}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonNxtAppr).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonNxtAppr).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n \r\n\r\n getOrderApprovalHistory(ApprHisData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getOrderApprovalHistory; \r\n var data4 : any = { \r\n orderId : ApprHisData.Order_ID,\r\n approverType :\"\"// ApprHisData.approverType \r\n }\r\n return this.serviceProxy.get(url,data4) \r\n .then(response => { \r\n var jsonApprHis : Array<{ \"Approver\" : string; \"ApproverEmail\" : string; \"ApprovalDateTime\" : string; \"Notes\" : string; \"ApproverType\" : string; \"ApproverDatetime\" : string;}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(ApprHis);\r\n function ApprHis(item: {Approver : string, ApproverEmail : string, ApprovalDateTime : string, Notes : string, ApproverType : string, ApproverDatetime : string} , _index: number)\r\n { \r\n jsonApprHis.push({\"Approver\": item.Approver, \"ApproverEmail\": item.ApproverEmail, \"ApprovalDateTime\": item.ApprovalDateTime, \"Notes\": item.Notes, \"ApproverType\": item.ApproverType, \"ApproverDatetime\" : item.ApproverDatetime}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonApprHis).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonApprHis).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getOrderDepotHistory(DepotHisData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getOrderDepotHistory; \r\n var data4 : any = { \r\n orderId : DepotHisData.Order_ID, \r\n }\r\n return this.serviceProxy.get(url,data4) \r\n .then(response => { \r\n var jsonDepotHis : Array<{ \"CreateDateTime\" : string; \"Notes\" : string;}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(DepotHis);\r\n function DepotHis(item: {CreateDateTime : string, Notes : string} , _index: number)\r\n { \r\n jsonDepotHis.push({\"CreateDateTime\": item.CreateDateTime, \"Notes\": item.Notes}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonDepotHis).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonDepotHis).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getOrderDetail(OrdSumData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getOrderDetail; \r\n var data4 : any = { \r\n orderId : '553974', \r\n Item_ID : '0' // OrdSumData.orderID \r\n }\r\n return this.serviceProxy.get(url,data4) \r\n .then(response => { \r\n var jsonOrdDetail : Array<{ \"itemStatusDesc\" : string; \"item_id\" : string; \"label_id\" : string; \"unitstoset\" : string; \"billable\" : string; \"Order_Id\" : string; \"Selection_Id\" : string; \"Configuration\" : string; \"order_item_status_id\" : string; \"Quantity_Approved\" : string; \"Quantity_Requested\" : string; \"ReqQty\" : string; \"DeptQty\" : string; \"DJCQty\" : string; \"Price_Requested\" : string; \"Price_Approved\" : string; \"Approval_Date\" : string; \"Artist\" : string; \"Title\" : string; \"ReleaseDate\" : string; \"alias\" : string; \"cost\" : string;}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(ordDetail);\r\n function ordDetail(item: {itemStatusDesc : string, item_id : string, label_id : string, unitstoset: string, billable: string, Order_Id: string, Selection_Id: string, Configuration: string, order_item_status_id: string, Quantity_Approved: string, Quantity_Requested: string , ReqQty: string , DeptQty: string , DJCQty: string , Price_Requested: string, Price_Approved: string, Approval_Date: string, Artist: string, Title : string, ReleaseDate: string, alias: string, cost : string} , _index: number)\r\n { \r\n jsonOrdDetail.push({\"itemStatusDesc\": item.itemStatusDesc, \"item_id\": item.item_id, \"label_id\": item.label_id,\"unitstoset\": item.unitstoset, \"billable\" : item.billable, \"Order_Id\": item.Order_Id, \"Selection_Id\" : item.Selection_Id, \"Configuration\" : item.Configuration, \"order_item_status_id\" : item.order_item_status_id, \"Quantity_Approved\": item.Quantity_Approved, \"Quantity_Requested\" : item.Quantity_Requested,\"ReqQty\" : item.ReqQty, \"DeptQty\" : item.DeptQty, \"DJCQty\" : item.DJCQty, \"Price_Requested\" : item.Price_Requested, \"Price_Approved\" : item.Price_Approved, \"Approval_Date\" : item.Approval_Date, \"Artist\" : item.Artist, \"Title\" : item.Title, \"ReleaseDate\" : item.ReleaseDate, \"alias\" : item.alias, \"cost\" : item.cost}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonOrdDetail).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonOrdDetail).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getFreeGoodsOrderDetail(OrdSumData){ \r\n\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getFreeGoodsOrderDetail; \r\n var data4 : any = { \r\n orderId :OrdSumData.Order_ID, \r\n Item_ID : '0' // OrdSumData.orderID \r\n }\r\n return this.serviceProxy.get(url,data4) \r\n .then(response => { \r\n var jsonFreeOrdDetail : Array<{ \"item_id\" : string; \"label_id\" : string; \"unitstoset\" : string; \"Order_Id\" : string; \"Selection_Id\" : string; \"Configuration\" : string; \"Quantity_Approved\" : string; \"ReqQty\" : string; \"DeptQty\" : string; \"DJCQty\" : string; \"Artist\" : string; \"Title\" : string; \"ReleaseDate\" : string; \"RejectItem\" : string; \"Price_Requested\" : string; \"Price_Approved\" : string; \"cost\" : string; \"discount\" : string}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(ordDetail);\r\n function ordDetail(item: {item_id : string, label_id : string, unitstoset: string, Order_Id: string, Selection_Id: string, Configuration: string, order_item_status_id: string, Quantity_Approved: string, ReqQty: string , DeptQty: string , DJCQty: string , Artist: string, Title : string, ReleaseDate: string, RejectItem: string, Price_Requested : string, Price_Approved : string, cost : string, discount : string} , _index: number)\r\n { \r\n jsonFreeOrdDetail.push({\"item_id\": item.item_id, \"label_id\": item.label_id,\"unitstoset\": item.unitstoset,\"Order_Id\": item.Order_Id, \"Selection_Id\" : item.Selection_Id, \"Configuration\" : item.Configuration,\"Quantity_Approved\": item.Quantity_Approved,\"ReqQty\" : item.ReqQty, \"DeptQty\" : item.DeptQty, \"DJCQty\" : item.DJCQty, \"Artist\" : item.Artist, \"Title\" : item.Title, \"ReleaseDate\" : item.ReleaseDate, \"RejectItem\" : item.RejectItem, \"Price_Requested\" : item.Price_Requested, \"Price_Approved\" : item.Price_Approved, \"cost\" : item.cost, \"discount\" : item.discount}) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonFreeOrdDetail).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonFreeOrdDetail).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getDepotOrderDetail(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.GetDepotOrderDetail; \r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => { \r\n var jsonOrdDetList : Array<{\"itemStatusDesc\":string;\"item_id\":string;\"label_id\":string;\"unitstoset\":string;\"billable\":string;\"Order_Id\":string;\"Selection_Id\":string;\r\n \"Configuration\":string;\"order_item_status_id\":string;\"Quantity_Approved\":string; \"Quantity_Requested\":string;\"ReqQty\":string;\"DeptQty\":string;\"DJCQty\":string;\r\n \"Price_Requested\":string;\"Price_Approved\":string;\"Approver_Id\":string;\"Approval_Date\":string;\"Artist\":string;\"Title\":string;\r\n \"ReleaseDate\":string; \"alias\":string;\"cost\":string; \"ItemException\":string;}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: {itemStatusDesc:string;item_id:string;label_id:string;unitstoset:string;billable:string;Order_Id:string;Selection_Id:string;\r\n Configuration:string;order_item_status_id:string;Quantity_Approved:string; Quantity_Requested:string;ReqQty:string;DeptQty:string;DJCQty:string;\r\n Price_Requested:string;Price_Approved:string;Approver_Id:string;Approval_Date:string;Artist:string;Title:string;\r\n ReleaseDate:string; alias:string;cost:string; ItemException:string}, _index: number){\r\n jsonOrdDetList.push({\"itemStatusDesc\":item.itemStatusDesc,\"item_id\":item.item_id,\"label_id\":item.label_id,\"unitstoset\":item.unitstoset,\"billable\":item.billable,\"Order_Id\":item.Order_Id,\"Selection_Id\":item.Selection_Id,\r\n \"Configuration\":item.Configuration,\"order_item_status_id\":item.order_item_status_id,\"Quantity_Approved\":item.Quantity_Approved, \"Quantity_Requested\":item.Quantity_Requested,\"ReqQty\":item.ReqQty,\"DeptQty\":item.DeptQty,\"DJCQty\":item.DJCQty,\r\n \"Price_Requested\":item.Price_Requested,\"Price_Approved\":item.Price_Approved,\"Approver_Id\":item.Approver_Id,\"Approval_Date\":item.Approval_Date,\"Artist\":item.Artist,\"Title\":item.Title,\r\n \"ReleaseDate\":item.ReleaseDate, \"alias\":item.alias,\"cost\":item.cost, \"ItemException\":item.ItemException})\r\n }\r\n \r\n return JSON.parse(JSON.stringify(jsonOrdDetList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n \r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n getDepotOrderItemDetail(depdata) {\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getDepotOrderItemDetail; \r\n var data : any = {\r\n OrderId: depdata.OrderId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n var resOrderDetail = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resOrderDetail;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n\r\n sendEmail(from: string, to: string, subject: string, html: string) {\r\n var url = this.variables.Url+ this.variables.Controller.createOrder + this.variables.createOrderService.sendEmail;\r\n var data = {\r\n from: from,\r\n to: to,\r\n subject: subject,\r\n html: html\r\n }\r\n return this.serviceProxy.post(url,data).then(response => {\r\n if(response.success){\r\n return ;\r\n }\r\n else{\r\n console.error(\"Error in sending email...,\" + response.message)\r\n return;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n });\r\n }\r\n\r\n\r\n getDepotNextApprover(orderID : string){\r\n var url = this.variables.Url + this.variables.Controller.depotOrders + this.variables.depotOrderService.getDepotNextApprover; \r\n var data = {\r\n \"orderID\": orderID \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n if(response.success) {\r\n var resNxtApproverdata = JSON.parse(JSON.stringify(response.recordset[0]).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n return resNxtApproverdata;\r\n }\r\n else{\r\n var res = {\"alias\": \"\",\"Approver\": \"\"}\r\n var resNxtApproverdata = JSON.parse(JSON.stringify(res).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n return resNxtApproverdata;\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n \r\n\r\n \r\n}","import React, { Component, CSSProperties } from \"react\";\r\nimport { FormLabel, FormGroup, Container, Row, Col, Form, Navbar, Nav, Alert, Button, Card, CardGroup, FormControl, Modal, Table } from \"../../../../node_modules/react-bootstrap\";\r\n//import {Card} from '../../CustomComponents/Card';\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\nimport { FormInputSearch } from '../../CustomComponents/FormInputSearch';\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { FormSelectSearch } from '../../CustomComponents/FormSelectSearch';\r\nimport { FormLabelField } from '../../CustomComponents/FormLabelField';\r\nimport jsonState from '../../../json/State.json';\r\nimport { CommonController } from '../../../Controllers/CommonController';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/CreateOrder.css'\r\nimport { FormCheckBox } from '../../CustomComponents/FormCheckBox';\r\nimport { Redirect, NavLink } from 'react-router-dom';\r\nimport { OrderApprovalParameter, Istate } from \"../../../Model/OrderApproval\";\r\nimport { DepotOrdersController } from \"../../../Controllers/DepotOrdersController\";\r\nimport { OrderController } from \"../../../Controllers/OrderController\"\r\nimport * as BillableScript from \"../../../js/BillableScript.js\"\r\nimport flag from \"../../../assets/img/redflag.gif\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class FreeGoodsReqForm extends Component{\r\n constructor(props: OrderApprovalParameter) {\r\n super(props)\r\n const userLogin = sessionStorage.getItem(\"userLogin\")\r\n let loggedIn = true;\r\n if (userLogin == null) {\r\n loggedIn = false;\r\n }\r\n this.state = {\r\n fields: { NextAppr: [], discount: [], apprFlag: [], nextStep: '', depot: '', approvers: '', legacyOrder: '', requestDate: '', customerPO: '', salesType: '', shipmentMethod: '', orderBy: '', accountNo: '', customerNumber: '', businessUnit: '', department: '', uid: '', pwd: '', lblSearchContact: '', businessunit: '', orderType: '', billTo: '', shipTo: '', specialIns: '', orderId: '', label: '', reason: '', qtyReq: [], rejectItem: [], comments: '' },\r\n selectfields: { shipmentMethod: '' },\r\n lblFields: {\r\n Order_Id: '', Alias: '', Process_Name: '', ArriveBy: '', BusinessUnit: '', SpecialInstructions: '', Reason: '', DepotComments: '', LegacyOrder: '',\r\n Status_Id: '', DateShipped: '', ShipTrackNo: '', Name: '', ShipToName: '', AddressLineOne: '', AddressLineTwo: '', City: '', State: '',\r\n Zip: '', Country: '', Phone: '', Requestor_Weight: '', Approver_Id: '', Approval_Date: '', Request_Date: '', ApproverComments: '',\r\n Label_Id: '', Super_Label_Id: '', IP_Address: '', Material: false, Date_Processed: '', Depot_Id: '', Department: '', ApproveBy_Clean: '', ApproveBy_Overnight: '',\r\n Overnight: '', CustomerNumber: '', RecordLock: '', Depot_Printer: '', Depot_Printer_Date: '', Ship_Method: '', Billable: false, Created: '',\r\n account_no: '', freight_billing_info: '', alias_Email: '', StatusDesc: '', status_id: '', Recordlabel_Id: '', ntbillablet: false\r\n },\r\n optionfields: { clean54: false, marked54: false, clean56: false, marked56: false, clean59: false, marked59: false },\r\n errMsg: \"\",\r\n items: [],\r\n approvers: [],\r\n key: 0,\r\n loggedIn,\r\n loading: false,\r\n NextAppr: [],\r\n OrdSum: [],\r\n DepotHis: [],\r\n ApprovalHis: [],\r\n OrdDetail: [],\r\n OrderID: \"\",\r\n SalesType: \"\",\r\n Title: \"\",\r\n holdLoading: false,\r\n rejectLoading: false,\r\n isClean: \"\",\r\n modal: {modalSpinnerShow: false}\r\n }\r\n\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.onRejectSubmit = this.onRejectSubmit.bind(this);\r\n this.onHoldSubmit = this.onHoldSubmit.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handletextChange = this.handletextChange.bind(this);\r\n this.handlecheckChange = this.handlecheckChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleOptionChange = this.handleOptionChange.bind(this);\r\n }\r\n\r\n loadOrderSummaryData() {\r\n \r\n let ordersController = new DepotOrdersController();\r\n let lblFields = this.state.lblFields;\r\n let fields = this.state.fields;\r\n // let optionfields = this.state.optionfields;\r\n ordersController.getOrderDetailsSummary(this.props.location.state.Order_id).then(resOrderdata => {\r\n lblFields[\"Order_Id\"] = resOrderdata.Order_Id || \"\";\r\n lblFields[\"Alias\"] = resOrderdata.Alias || \"\";\r\n lblFields[\"Process_Name\"] = resOrderdata.Process_Name || \"\";\r\n lblFields[\"ArriveBy\"] = resOrderdata.ArriveBy || \"\";\r\n lblFields[\"BusinessUnit\"] = resOrderdata.BusinessUnit || \"\";\r\n lblFields[\"SpecialInstructions\"] = resOrderdata.SpecialInstructions || \"\";\r\n lblFields[\"Reason\"] = resOrderdata.Reason || \"\";\r\n lblFields[\"DepotComments\"] = resOrderdata.DepotComments || \"\";\r\n lblFields[\"LegacyOrder\"] = resOrderdata.LegacyOrder || \"\";\r\n lblFields[\"Status_Id\"] = resOrderdata.Status_Id || \"\";\r\n lblFields[\"DateShipped\"] = resOrderdata.DateShipped || \"\";\r\n lblFields[\"ShipTrackNo\"] = resOrderdata.ShipTrackNo || \"\";\r\n lblFields[\"Name\"] = resOrderdata.Name || \"\";\r\n lblFields[\"ShipToName\"] = resOrderdata.ShipToName || \"\";\r\n lblFields[\"AddressLineOne\"] = resOrderdata.AddressLineOne || \"\";\r\n lblFields[\"AddressLineTwo\"] = resOrderdata.AddressLineTwo || \"\";\r\n lblFields[\"City\"] = resOrderdata.City || \"\";\r\n lblFields[\"State\"] = resOrderdata.State || \"\";\r\n lblFields[\"Zip\"] = resOrderdata.Zip || \"\";\r\n lblFields[\"Country\"] = resOrderdata.Country || \"\";\r\n lblFields[\"Phone\"] = resOrderdata.Phone || \"\";\r\n lblFields[\"Requestor_Weight\"] = resOrderdata.Requestor_Weight || \"\";\r\n lblFields[\"Approver_Id\"] = resOrderdata.Approver_Id || \"\";\r\n lblFields[\"Approval_Date\"] = resOrderdata.Approval_Date || \"\";\r\n lblFields[\"Request_Date\"] = resOrderdata.Request_Date || \"\";\r\n lblFields[\"ApproverComments\"] = resOrderdata.ApproverComments || \"\";\r\n lblFields[\"Label_Id\"] = resOrderdata.Label_Id || \"\";\r\n lblFields[\"Super_Label_Id\"] = resOrderdata.Super_Label_Id || \"\";\r\n lblFields[\"IP_Address\"] = resOrderdata.IP_Address || \"\";\r\n lblFields[\"Material\"] = Boolean(Number(resOrderdata.Material));\r\n lblFields[\"Date_Processed\"] = resOrderdata.Date_Processed || \"\";\r\n lblFields[\"Depot_Id\"] = resOrderdata.Depot_Id || \"\";\r\n lblFields[\"Department\"] = resOrderdata.Department || \"\";\r\n lblFields[\"ApproveBy_Clean\"] = resOrderdata.ApproveBy_Clean || \"\";\r\n lblFields[\"ApproveBy_Overnight\"] = resOrderdata.ApproveBy_Overnight || \"\";\r\n lblFields[\"Overnight\"] = resOrderdata.Overnight || \"\";\r\n lblFields[\"CustomerNumber\"] = resOrderdata.CustomerNumber || \"\";\r\n lblFields[\"RecordLock\"] = resOrderdata.RecordLock || \"\";\r\n lblFields[\"Depot_Printer\"] = resOrderdata.Depot_Printer || \"\";\r\n lblFields[\"Depot_Printer_Date\"] = resOrderdata.Depot_Printer_Date || \"\";\r\n lblFields[\"Ship_Method\"] = resOrderdata.Ship_Method || \"\";\r\n lblFields[\"Billable\"] = Boolean(Number(resOrderdata.Billable));\r\n lblFields[\"Created\"] = resOrderdata.Created || \"\";\r\n lblFields[\"account_no\"] = resOrderdata.account_no || \"\";\r\n lblFields[\"freight_billing_info\"] = resOrderdata.freight_billing_info || \"\";\r\n lblFields[\"alias_Email\"] = resOrderdata.alias_Email || \"\";\r\n lblFields[\"alias_Name\"] = resOrderdata.alias_Name || \"\";\r\n lblFields[\"StatusDesc\"] = resOrderdata.StatusDesc || \"\";\r\n lblFields[\"status_id\"] = resOrderdata.status_id || \"\";\r\n lblFields[\"Recordlabel_Id\"] = resOrderdata.Recordlabel_Id || \"\";\r\n lblFields[\"ntbillablet\"] = Boolean(Number(resOrderdata.ntbillablet));\r\n lblFields[\"sales_type\"] = resOrderdata.sales_type || \"\";\r\n lblFields[\"bill_to_name\"] = resOrderdata.bill_to_name || \"\";\r\n lblFields[\"bill_to_address\"] = resOrderdata.bill_to_address || \"\";\r\n lblFields[\"bill_to_city_state_zip\"] = resOrderdata.bill_to_city_state_zip || \"\";\r\n this.setState({ lblFields });\r\n\r\n //this.bindSalesType();\r\n this.bindSalesTypeList();\r\n\r\n this.loadOrderDetailSummary();\r\n\r\n }).catch(error => {\r\n\r\n })\r\n }\r\n\r\n componentWillMount() {\r\n\r\n let modal = this.state.modal;\r\n //Load Spinner\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n\r\n var regex = new RegExp(\"^[0-9]*\\.?[0-9]*$\");\r\n\r\n let ordersController = new DepotOrdersController();\r\n\r\n var data = {\r\n Order_ID: this.props.location.state.Order_id\r\n }\r\n ordersController.getNextApprover(data).then(jsonNxtAppr => {\r\n this.setState({\r\n NextAppr: JSON.parse(JSON.stringify(jsonNxtAppr)), loading: false\r\n });\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading\")\r\n });\r\n\r\n\r\n var data = {\r\n Order_ID: this.props.location.state.Order_id\r\n }\r\n ordersController.getOrderSummary(data).then(jsonOrdSum => {\r\n this.setState({\r\n OrdSum: JSON.parse(JSON.stringify(jsonOrdSum)), loading: false\r\n });\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading\")\r\n });\r\n\r\n var data1 = {\r\n Order_ID: this.props.location.state.Order_id,\r\n approverType: \"\"\r\n }\r\n ordersController.getOrderApprovalHistory(data1).then(jsonApprHis => {\r\n this.setState({\r\n ApprovalHis: JSON.parse(JSON.stringify(jsonApprHis)), loading: false\r\n });\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading\")\r\n });\r\n\r\n var data2 = {\r\n Order_ID: this.props.location.state.Order_id\r\n }\r\n ordersController.getOrderDepotHistory(data2).then(jsonDepotHis => {\r\n this.setState({\r\n DepotHis: JSON.parse(JSON.stringify(jsonDepotHis)), loading: false\r\n });\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading\")\r\n });\r\n\r\n this.loadOrderSummaryData();\r\n\r\n\r\n }\r\n\r\n \r\n loadOrderDetailSummary() {\r\n \r\n let ordersController = new DepotOrdersController();\r\n\r\n var data3 = {\r\n Order_ID: this.props.location.state.Order_id\r\n }\r\n ordersController.getFreeGoodsOrderDetail(data3).then(jsonFreeOrdDetail => {\r\n this.setState({\r\n OrdDetail: JSON.parse(JSON.stringify(jsonFreeOrdDetail)), loading: false\r\n\r\n });\r\n\r\n this.state.OrdDetail.map((prop, key) => {\r\n var cost\r\n var price\r\n var percentvalue: any\r\n var percent\r\n var salestype\r\n var flag\r\n\r\n salestype = this.state.lblFields.sales_type;\r\n\r\n cost = prop[\"cost\"];\r\n price = prop[\"Price_Approved\"];\r\n\r\n // alert('test1')\r\n\r\n if (cost !== '') {\r\n if (parseFloat(price) > 0) {\r\n if (parseFloat(price) <= parseFloat(cost)) {\r\n percent = BillableScript.CalculatePercent(cost, price); \r\n percentvalue = (percent * 100).toFixed(0) \r\n var displayflag = BillableScript.DisplayapproveFlag(percent, salestype);\r\n if (displayflag) { \r\n flag = true; }\r\n else { \r\n flag = false;\r\n }\r\n }\r\n else { \r\n percentvalue = \"\";\r\n flag = true;\r\n }\r\n }\r\n else { \r\n percentvalue = \"\";\r\n flag = false;\r\n }\r\n\r\n }\r\n\r\n let fields = this.state.fields;\r\n fields[\"discount\"][key] = percentvalue\r\n fields[\"apprFlag\"][key] = flag\r\n this.setState({ fields });\r\n\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n\r\n })\r\n\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading\")\r\n });\r\n }\r\n\r\n displayDiscountAlert = (salestype) => {\r\n \r\n var salestypemsg\r\n var salestype\r\n if (salestype === \"Clean54\") {\r\n salestypemsg = \"54 - Clean (non-royalty bearing)\"\r\n salestype = 1\r\n }\r\n else if (salestype === \"Clean56\") {\r\n salestypemsg = \"56 - Clean (fully royalty bearing)\"\r\n salestype = 3\r\n }\r\n else if (salestype === \"Clean59\") {\r\n salestypemsg = \"59 - Clean (publisher royalties only)\"\r\n salestype = 3\r\n }\r\n else {\r\n salestypemsg = \"\"\r\n salestype = \"\"\r\n }\r\n\r\n BillableScript.CalculateFinalPercentage(salestypemsg)\r\n\r\n this.LoopGridCalculatePer(salestype)\r\n\r\n }\r\n\r\n\r\n LoopGridCalculatePer(salestype) {\r\n \r\n var cost\r\n var price\r\n var percentvalue: any\r\n var percent\r\n var flag\r\n var salestype\r\n\r\n salestype = this.state.lblFields.sales_type;\r\n this.state.OrdDetail.map((prop, key) => {\r\n cost = prop[\"cost\"];\r\n price = prop[\"Price_Approved\"]; \r\n \r\n if (cost !== '') {\r\n if (parseFloat(price) > 0) {\r\n if (parseFloat(price) <= parseFloat(cost)) {\r\n percent = BillableScript.CalculatePercent(cost, price); \r\n percentvalue = (percent * 100).toFixed(0)\r\n var displayflag = BillableScript.DisplayapproveFlag(percent, salestype);\r\n if (displayflag) { \r\n flag = true; }\r\n else { \r\n flag = false;\r\n }\r\n }\r\n else {\r\n percentvalue = \"\";\r\n flag = true;\r\n }\r\n }\r\n else { \r\n percentvalue = \"\";\r\n flag = false;\r\n }\r\n\r\n }\r\n let fields = this.state.fields;\r\n fields[\"discount\"][key] = percentvalue;\r\n fields[\"apprFlag\"][key] = flag;\r\n this.setState({ fields });\r\n\r\n this.displayOrderItemsTable();\r\n\r\n })\r\n\r\n }\r\n\r\n handleOptionChange = (e: any) => {\r\n \r\n let fields = this.state.fields;\r\n let optionfields = this.state.optionfields;\r\n let lblFields = this.state.lblFields;\r\n var orderType\r\n if (e.currentTarget.id === \"Marked54\") {\r\n optionfields['marked54'] = true;\r\n optionfields['clean54'] = false;\r\n optionfields['marked56'] = false;\r\n optionfields['clean56'] = false;\r\n optionfields['marked59'] = false;\r\n optionfields['clean59'] = false;\r\n lblFields['sales_type'] = \"54 - Marked (non-royalty bearing)\"\r\n this.setState({ isClean: 0 })\r\n\r\n this.displayDiscountAlert(e.currentTarget.id)\r\n }\r\n else if (e.currentTarget.id === \"Clean54\") {\r\n optionfields['clean54'] = true;\r\n optionfields['marked54'] = false;\r\n optionfields['marked56'] = false;\r\n optionfields['clean56'] = false;\r\n optionfields['marked59'] = false;\r\n optionfields['clean59'] = false;\r\n lblFields['sales_type'] = \"54 - Clean (non-royalty bearing)\"\r\n this.setState({ isClean: 1 })\r\n\r\n this.displayDiscountAlert(e.currentTarget.id)\r\n }\r\n else if (e.currentTarget.id === \"Marked56\") {\r\n optionfields['marked56'] = !this.state.optionfields.marked56\r\n optionfields['marked54'] = false;\r\n optionfields['clean54'] = false;\r\n optionfields['clean56'] = false;\r\n optionfields['marked59'] = false;\r\n optionfields['clean59'] = false;\r\n lblFields['sales_type'] = \"56 - Marked (fully royalty bearing)\"\r\n this.setState({ isClean: 0 })\r\n\r\n this.displayDiscountAlert(e.currentTarget.id)\r\n }\r\n else if (e.currentTarget.id === \"Clean56\") {\r\n optionfields['clean56'] = !this.state.optionfields.clean56\r\n optionfields['marked54'] = false;\r\n optionfields['clean54'] = false;\r\n optionfields['marked56'] = false;\r\n optionfields['marked59'] = false;\r\n optionfields['clean59'] = false;\r\n lblFields['sales_type'] = \"56 - Clean (fully royalty bearing)\"\r\n this.setState({ isClean: 1 })\r\n this.displayDiscountAlert(e.currentTarget.id)\r\n\r\n }\r\n else if (e.currentTarget.id === \"Marked59\") {\r\n optionfields['marked59'] = !this.state.optionfields.marked59\r\n optionfields['marked54'] = false;\r\n optionfields['clean54'] = false;\r\n optionfields['marked56'] = false;\r\n optionfields['clean56'] = false;\r\n optionfields['clean59'] = false;\r\n lblFields['sales_type'] = \"59 - Marked (publisher royalties only)\"\r\n this.setState({ isClean: 0 })\r\n\r\n this.displayDiscountAlert(e.currentTarget.id)\r\n }\r\n else if (e.currentTarget.id === \"Clean59\") {\r\n optionfields['clean59'] = !this.state.optionfields.clean59\r\n optionfields['marked54'] = false;\r\n optionfields['clean54'] = false;\r\n optionfields['marked56'] = false;\r\n optionfields['clean56'] = false;\r\n optionfields['marked59'] = false;\r\n lblFields['sales_type'] = \"59 - Clean (publisher royalties only)\"\r\n this.setState({ isClean: 1 })\r\n this.displayDiscountAlert(e.currentTarget.id)\r\n }\r\n\r\n this.setState({\r\n optionfields, lblFields\r\n });\r\n\r\n }\r\n\r\n bindSalesTypeList() {\r\n \r\n let optionfields = this.state.optionfields;\r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n var str = this.state.lblFields.sales_type\r\n var orderType\r\n\r\n\r\n if (str === \"54 - Marked (non-royalty bearing)\") {\r\n //optionfields['marked54'] = \"Marked54\"\r\n orderType = 0\r\n optionfields['marked54'] = true;\r\n\r\n }\r\n else if (str === \"54 - Clean (non-royalty bearing)\") {\r\n // optionfields['clean54'] = \"Clean54\" \r\n orderType = 1\r\n\r\n optionfields['clean54'] = true;\r\n this.setState({\r\n optionfields\r\n });\r\n\r\n }\r\n else if (str === \"56 - Marked (fully royalty bearing)\") {\r\n optionfields['marked56'] = true;\r\n orderType = 0\r\n }\r\n else if (str === \"56 - Clean (fully royalty bearing)\") {\r\n optionfields['clean56'] = true;\r\n orderType = 1\r\n }\r\n else if (str === \"59 - Marked (publisher royalties only)\") {\r\n optionfields['marked59'] = true;\r\n orderType = 0\r\n }\r\n else if (str === \"59 - Clean (publisher royalties only)\") {\r\n optionfields['clean59'] = true;\r\n orderType = 1\r\n }\r\n else if (str === \"66 Ticket Bundling\") {\r\n optionfields['clean66'] = true;\r\n orderType = 1\r\n }\r\n\r\n this.setState({\r\n optionfields\r\n });\r\n\r\n //alert(this.state.optionfields.clean54);\r\n\r\n this.setState({ isClean: orderType })\r\n this.bindSalesType();\r\n\r\n }\r\n\r\n bindSalesType() {\r\n let fields = this.state.fields;\r\n let optionfields = this.state.optionfields;\r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n var str = this.state.lblFields.sales_type\r\n var orderType\r\n var salesType = str.split(\" \");\r\n this.setState({ SalesType: salesType[0] })\r\n\r\n this.bindTitleForAllType()\r\n\r\n }\r\n\r\n bindTitleForAllType() {\r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n\r\n if (billable) {\r\n this.setState({ Title: \"BILLABLE ORDER REQUEST FORM\" })\r\n }\r\n else if (ntBillable) {\r\n this.setState({ Title: \"NON BILLABLE TRANSFER FORM\" })\r\n }\r\n else {\r\n this.setState({ Title: \"FREE GOODS REQUEST FORM\" })\r\n }\r\n\r\n if (this.state.lblFields.sales_type === \"66 Ticket Bundling\") {\r\n this.setState({ Title: \"Ticket Bundling\" });\r\n }\r\n\r\n if (this.state.lblFields.sales_type === \"89 Sales Type\") {\r\n this.setState({ Title: \"D2C Form\" });\r\n }\r\n\r\n this.loadBillToFrightInfo()\r\n\r\n }\r\n\r\n\r\n loadBillToFrightInfo() {\r\n return (\r\n
\r\n

{this.state.lblFields.bill_to_name}

\r\n

{this.state.lblFields.bill_to_address}

\r\n

{this.state.lblFields.bill_to_city_state_zip}

\r\n
\r\n );\r\n }\r\n\r\n setFocus(target:any){\r\n setTimeout(function () { target.focus(); },5);\r\n }\r\n\r\n handletextChange = (prop, key, e: any) => {\r\n let fields = this.state.fields;\r\n var salestype;\r\n var regex = new RegExp(\"^[0-9]*\\.?[0-9]*$\");\r\n const target = e.currentTarget;\r\n\r\n if (e.currentTarget.id === \"qtyRec\")\r\n {\r\n prop[\"Quantity_Approved\"] = e.currentTarget.value; \r\n }\r\n else if (e.currentTarget.id === \"price\"){\r\n prop[\"Price_Approved\"] = e.currentTarget.value;\r\n\r\n if (!regex.test(e.currentTarget.value)) {\r\n alert(\"You have entered an invalid price. Please enter valid price\");\r\n this.setFocus(target);\r\n return false;\r\n }\r\n\r\n salestype = this.state.lblFields.sales_type; \r\n\r\n this.LoopGridCalculatePer(salestype)\r\n }\r\n \r\n this.setState({\r\n fields\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n handleSelectChange = (item, e: any) => {\r\n let fields = this.state.fields;\r\n item[\"Ship_Method\"] = e.currentTarget.value\r\n this.setState({\r\n fields\r\n })\r\n sessionStorage.setItem(\"Ship_Method\", e.currentTarget.value);\r\n }\r\n\r\n handlecheckChange = (prop, key, e: any) => {\r\n let fields = this.state.fields;\r\n if (e.currentTarget.checked) {\r\n\r\n prop[\"RejectItem\"] = \"1\"\r\n }\r\n else {\r\n prop[\"RejectItem\"] = \"0\"\r\n }\r\n \r\n this.setState({\r\n fields \r\n })\r\n\r\n }\r\n\r\n handleChange(e: any) {\r\n let fields = this.state.fields;\r\n fields[\"OrderId\"] = e.currentTarget.value;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({ fields })\r\n\r\n }\r\n\r\n\r\n onSubmit = (e: any) => {\r\n this.setState({ loading: true });\r\n this.setState({ holdLoading: false });\r\n this.setState({ rejectLoading: false });\r\n e.preventDefault();\r\n \r\n\r\n var OrderId = sessionStorage.getItem(\"Order_Id\")!;\r\n var alias = sessionStorage.getItem(\"uid\")!;\r\n var sales_Type = this.state.lblFields.sales_type;\r\n var Ship_Method = sessionStorage.getItem(\"Ship_Method\")!;\r\n var ApprCmts = this.state.fields.comments;\r\n\r\n var Itemdetails = this.state.OrdDetail;\r\n\r\n let orderController = new OrderController(OrderId, alias);\r\n orderController.routeOrder(Itemdetails, sales_Type, Ship_Method, ApprCmts).then(response => {\r\n // this.setState({ loading: false });\r\n alert('Order has been Processed');\r\n this.props.history.push('order_approval_inbox');\r\n }).catch(error => {\r\n console.log(\"There was an error..., \", error);\r\n })\r\n\r\n }\r\n\r\n onRejectSubmit = (e: any) => {\r\n this.setState({ loading: false });\r\n this.setState({ holdLoading: false });\r\n this.setState({ rejectLoading: true });\r\n e.preventDefault();\r\n \r\n var OrderId = sessionStorage.getItem(\"Order_Id\")!;\r\n var alias = sessionStorage.getItem(\"uid\")!;\r\n var ApprCmts = this.state.fields.comments;\r\n\r\n let orderController = new OrderController(OrderId, alias);\r\n orderController.rejectOrder(ApprCmts).then(response => {\r\n this.setState({ rejectLoading: false });\r\n alert('Order has been Rejeted');\r\n this.props.history.push('order_approval_inbox');\r\n }).catch(error => {\r\n console.log(\"There was an error..., \", error);\r\n })\r\n }\r\n\r\n onHoldSubmit = (e: any) => {\r\n this.setState({ loading: false });\r\n this.setState({ holdLoading: true });\r\n this.setState({ rejectLoading: false });\r\n e.preventDefault();\r\n \r\n var OrderId = sessionStorage.getItem(\"Order_Id\")!;\r\n\r\n var holddata = {\r\n orderId: this.props.location.state.Order_id\r\n }\r\n\r\n let depotOrdersController = new DepotOrdersController();\r\n depotOrdersController.holdOrder(holddata).then(response => {\r\n if (response.success) {\r\n alert('Order has been Hold');\r\n this.props.history.push('order_approval_inbox');\r\n }\r\n }).catch(error => {\r\n console.log(\"There was an error..., \", error);\r\n })\r\n }\r\n\r\n displaySalesRadioButtonList = () => {\r\n let billable = this.state.lblFields.Billable\r\n\r\n if (billable && this.state.lblFields.sales_type != \"66 Ticket Bundling\") {\r\n return this.displaySalesType();\r\n }\r\n\r\n }\r\n\r\n displayOrderItemsTable = () => {\r\n\r\n let billable = this.state.lblFields.Billable\r\n\r\n if (billable) {\r\n return this.orderItemsTableForBillableView();\r\n }\r\n else {\r\n return this.orderItemsTableForFreeandNTView();\r\n }\r\n\r\n }\r\n\r\n displaySalesType = () => {\r\n \r\n return \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n orderItemsTableForBillableView = () => {\r\n\r\n const labelFont = {\r\n fontSize: \"5px\",\r\n };\r\n return \r\n \r\n
\r\n \r\n \r\n \r\n\r\n {(this.state.isClean === 1) ? new Variables().thArrayBillableOrderEditClean.map((prop, key) => {\r\n return ;\r\n }) : new Variables().thArrayBillableOrderEditMarked.map((prop, key) => {\r\n return ;\r\n })}\r\n\r\n \r\n \r\n \r\n {this.state.OrdDetail.map((prop, key) => {\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 {(this.state.isClean === 1) ?\r\n \r\n : \"\"}\r\n\r\n {(this.state.isClean === 1) ?\r\n \r\n : \"\"}\r\n\r\n {(this.state.isClean === 1) ? \r\n \r\n : \"\"}\r\n \r\n );\r\n })}\r\n \r\n
{prop}{prop}
{prop[\"Selection_Id\"]} {prop[\"ReleaseDate\"]} {prop[\"label_id\"]} {prop[\"Artist\"]} {prop[\"Title\"]} {prop[\"Configuration\"]} {prop[\"unitstoset\"]} $ {prop[\"Price_Requested\"]} $ {prop[\"Price_Approved\"]} \r\n this.handletextChange(prop, key, e)} value={prop[\"Quantity_Approved\"]} >\r\n \r\n this.handletextChange(prop, key, e)} value={prop[\"Price_Approved\"]} >\r\n \r\n this.handlecheckChange(prop, key, e)}>\r\n {prop[\"cost\"]} \r\n {this.state.fields.discount[key]} \r\n \r\n {this.state.fields.apprFlag[key] ? \r\n Product discount requires EVP approval : \"\" }\r\n
\r\n
\r\n \r\n
\r\n\r\n }\r\n\r\n displayShipingMethod = () => {\r\n if (this.props.location.state.goodsReq === 'V') {\r\n return \r\n }\r\n else {\r\n return \r\n Shipment Method\r\n {this.state.OrdSum.map((item) => {\r\n return { this.handleSelectChange(item, e) }} className=\"form-control\" >\r\n \r\n \r\n \r\n \r\n \r\n })}\r\n\r\n \r\n }\r\n }\r\n\r\n orderItemsTableForFreeandNTView = () => {\r\n const labelFont = {\r\n fontSize: \"5px\",\r\n };\r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderEdit.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.OrdDetail.map((prop, key) => {\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
{prop}
{prop[\"Selection_Id\"]} {prop[\"ReleaseDate\"]} {prop[\"label_id\"]} {prop[\"Artist\"]} {prop[\"Title\"]} {prop[\"Configuration\"]} {prop[\"unitstoset\"]} \r\n this.handletextChange(prop, key, e)} value={prop[\"Quantity_Approved\"]} >\r\n \r\n this.handlecheckChange(prop, key, e)}>\r\n {prop[\"ReqQty\"]} {prop[\"DeptQty\"]} {prop[\"DJCQty\"]}\r\n
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEdit = () => {\r\n\r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderEdit.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.OrdDetail.map((prop, key) => {\r\n return (\r\n \r\n\r\n {this.formControl(prop, key)};\r\n\r\n \r\n );\r\n })}\r\n \r\n
{prop}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEditButton = () => {\r\n const { loading } = this.state;\r\n const { holdLoading } = this.state;\r\n const { rejectLoading } = this.state;\r\n if (this.props.location.state.goodsReq === 'V') {\r\n return <>\r\n }\r\n else {\r\n return
\r\n \r\n \r\n \r\n Comments (Order Changes/Depot)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n }\r\n\r\n formControl = (prop, key) => {\r\n return {prop[\"selection_id\"]}\r\n }\r\n\r\n render() {\r\n if (this.state.loggedIn === false) {\r\n return \r\n }\r\n const labelFont = {\r\n fontSize: \"5px\",\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.errMsg}\r\n
\r\n \r\n \r\n\r\n \r\n Next Step
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Statusdesc\"]}\r\n })}\r\n (\r\n {this.state.NextAppr.map((item) => {\r\n return {item[\"Approver\"]}\r\n })}\r\n )\r\n
\r\n \r\n \r\n \r\n Legacy Order
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"LegacyOrder\"]}\r\n })}\r\n \r\n
\r\n \r\n \r\n Approvers
\r\n {this.state.ApprovalHis.map((item) => {\r\n return {item[\"ApproverDatetime\"]}\r\n })}\r\n \r\n \r\n \r\n Depot
\r\n {this.state.DepotHis.map((item) => {\r\n return {item[\"Notes\"]}
\r\n })}\r\n \r\n
\r\n
\r\n \r\n \r\n

{this.state.Title}

\r\n\r\n

{this.state.SalesType}

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Request Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n Request Date
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Request_Date\"]}\r\n })}\r\n\r\n \r\n \r\n Customer P.O.
\r\n {this.props.location.state.Order_id}\r\n \r\n \r\n Sales Type
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"sales_type\"]}\r\n })}\r\n\r\n \r\n \r\n {this.displayShipingMethod()}\r\n \r\n
\r\n \r\n {this.state.lblFields.Billable \r\n ? \r\n \r\n FREIGHT BILLING INFO
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"freight_billing_info\"]}\r\n })}\r\n \r\n :\r\n ''\r\n } \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Order Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Order By
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Alias_name\"]}\r\n })}\r\n \r\n \r\n Customer Number
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"CustomerNumber\"]}\r\n })}\r\n\r\n \r\n
\r\n \r\n \r\n Account No
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"account_no\"]}\r\n })}\r\n \r\n \r\n Department
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Department\"]}\r\n })}\r\n \r\n
\r\n \r\n \r\n Business Unit
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"BusinessUnit\"]}\r\n })}\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n Bill To:\r\n {this.loadBillToFrightInfo()}\r\n \r\n \r\n \r\n {'Ship To'}
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_Name\"]}\r\n })}\r\n
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_ShipToName\"]}\r\n })}\r\n
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_AddressLineOne\"]}\r\n })}\r\n
\r\n\r\n\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_City\"]}\r\n })}\r\n ,\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_State\"]}\r\n })}\r\n ,\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_Zip\"]}\r\n })}\r\n
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_Country\"]}\r\n })}\r\n
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"ship_Phone\"]}\r\n })}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Special Instructions
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"SpecialInstructions\"]}\r\n })}\r\n \r\n \r\n Order Id
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Order_Id\"]}\r\n })}\r\n \r\n \r\n Label
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Label\"]}\r\n })}\r\n\r\n \r\n \r\n Requestor Reason
\r\n {this.state.OrdSum.map((item) => {\r\n return {item[\"Reason\"]}\r\n })}\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Ordered Items\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {this.displayOrderItemsTable()}\r\n
\r\n\r\n {this.displaySalesRadioButtonList()}\r\n\r\n {this.orderItemsTableForEditButton()}\r\n \r\n \r\n
\r\n \r\n Approver Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.ApprovalHis.map((prop, key) => {\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
{prop}
{prop[\"ApproverType\"]} {prop[\"Approver\"]} {prop[\"ApprovalDateTime\"]} {prop[\"Notes\"]}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class OrderApprovalController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response : any;\r\n searchInfo : any;\r\n dateTimeFormat : DateTimeFormat;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n this.searchInfo = {userName: '', orderItem:'', nrecordLabelId:'',title:'',artist:'',selection:'',upc:'', exceptions:false}\r\n }\r\n\r\n getApproverInbox(data){ \r\n \r\n var url = this.variables.Url + this.variables.Controller.orderApproval + this.variables.orderApprovalService.getApproverInbox; \r\n var data1 : any = {\r\n sortBy : data.sortBy,\r\n aliasIn : data.aliasIn \r\n }\r\n return this.serviceProxy.get(url,data1) \r\n .then(response => { \r\n var jsonOrderApproval : Array<{ \"total_qty\" : string; \"billable\" : string; \"Order_ID\" : string; \"Name\" : string; \"ShipToName\" : string; \"Requestor\" : string; \"RequestAlias\" : string; \"Request_Date\" : string; \"Label\" : string; \"ship_method\" : string; \"material\" : string; \"NTBillable\" : string;}> = []; \r\n if(response.success)\r\n {\r\n response.recordset.forEach(OrdApproval);\r\n function OrdApproval(item: {total_qty : string, billable : string, Order_ID : string, Name: string, ShipToName: string, Requestor: string, RequestAlias: string, Request_Date: string, Label: string, ship_method: string, material : string, NTBillable : string} , _index: number)\r\n { \r\n jsonOrderApproval.push({\"total_qty\": item.total_qty, \"billable\": item.billable, \"Order_ID\": item.Order_ID,\"Name\": item.Name, \"ShipToName\" : item.ShipToName, \"Requestor\": item.Requestor, \"RequestAlias\" : item.RequestAlias, \"Request_Date\" : item.Request_Date, \"Label\" : item.Label, \"ship_method\" : item.ship_method, \"material\" : item.material, \"NTBillable\" : item.NTBillable }) \r\n }\r\n\r\n return JSON.parse(JSON.stringify(jsonOrderApproval).replace(/\"\\s+|\\s+\"/g, '\"')); \r\n \r\n }\r\n else{\r\n return JSON.parse(JSON.stringify(jsonOrderApproval).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getApproverHistoryList(alias : string,start_date : string)\r\n {\r\n var url = this.variables.Url + this.variables.Controller.orderApproval + this.variables.orderApprovalService.getApproverHistoryList; \r\n var data = {\r\n \"alias\": alias, \r\n \"startDate\":start_date \r\n } \r\n return this.serviceProxy.get(url,data) \r\n .then(response => { \r\n var jsonApproverHistory : Array<{ \"order_id\": string;\"request_date\":string;\"ShipToName\":string;\"Name\":string;\"statusdesc\" :string;\"billable\": boolean;\"material\":boolean}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { order_id:string;request_date:string;ShipToName:string;Name:string;statusdesc:string;billable:boolean;material:boolean }, _index: number){\r\n jsonApproverHistory.push({\"order_id\": item.order_id,\"request_date\": item.request_date,\"ShipToName\": item.ShipToName,\"Name\": item.Name,\"statusdesc\": item.statusdesc,\"billable\":item.billable,\"material\":item.material})\r\n }\r\n return JSON.parse(JSON.stringify(jsonApproverHistory).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return JSON.parse(JSON.stringify(jsonApproverHistory).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n}","import React, { Component} from \"react\";\r\nimport {Container,Card, Row, Col,Table ,Form ,Alert ,Button ,Navbar, Nav} from \"react-bootstrap\";\r\nimport {History, LocationState} from \"History\";\r\nimport {UserViewController} from \"../../../Controllers/UserViewController\";\r\nimport {format} from 'date-fns';\r\nimport {Variables} from '../../../Variables/Variables';\r\nimport {NavLink} from 'react-router-dom';\r\nimport '../../../assets/css/CreateOrder.css';\r\nimport {OrderApprovalController} from \"../../../Controllers/OrderApprovalController\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport \"../../../../node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss\";\r\nimport \"../../../../node_modules/@fortawesome/fontawesome-free/scss/solid.scss\";\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\nexport class ViewApprovalInbox extends Component {\r\n constructor(props:ViewOrderParameter){\r\n super(props) \r\n this.state={\r\n fields: {find:'',searchType:'' },\r\n errors: {find:'',searchType:'' }, \r\n errMsg:\"\",\r\n todayDate:\"\",\r\n previousdate:\"\",\r\n Order_id:\"\",\r\n goodsReq:\"\",\r\n SearchGrid: [],\r\n loading: false,\r\n modalSpinnerShow:false,\r\n currentSort: 'down',\r\n currentColumn: 'Order_ID'\r\n } \r\n }\r\n\r\n componentDidMount(){\r\n var newDate = new Date();\r\n var pdate = new Date();\r\n pdate.setDate(pdate.getDate() - 45);\r\n var previousDate = format(pdate, 'dd/MM/yyyy');\r\n var todayDate = format(newDate, 'dd/MM/yyyy')\r\n this.setState({todayDate : todayDate, modalSpinnerShow:true}) \r\n this.setState({previousdate : previousDate}) \r\n\r\n \r\n var data = {\r\n sortBy: \"1\",\r\n aliasIn: sessionStorage.getItem(\"uid\")\r\n \r\n }\r\n let orderApprovalController = new OrderApprovalController();\r\n orderApprovalController.getApproverInbox(data).then(jsonOrderApproval => {\r\n this.setState({\r\n SearchGrid: JSON.parse(JSON.stringify(jsonOrderApproval)), loading: false, modalSpinnerShow:false\r\n });\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading in search product\")\r\n });\r\n\r\n }\r\n\r\n setArrow = (column) => {\r\n let {currentSort} = this.state;\r\n let {currentColumn} = this.state;\r\n let className = \"\";\r\n\r\n if (column === currentColumn){\r\n if (currentSort === \"up\"){\r\n className = 'fa fa-fw fa-sort-up';\r\n }\r\n else if (currentSort === \"down\"){\r\n className = 'fa fa-fw fa-sort-down';\r\n }\r\n else\r\n {\r\n className = 'fa fa-fw fa-sort';\r\n }\r\n }\r\n else\r\n {\r\n className = 'fa fa-fw fa-sort';\r\n }\r\n\r\n return className;\r\n };\r\n\r\n getItemInfo= (item) =>{//\r\n if((item[\"material\"] === \"1\" || item[\"billable\"] === \"1\") && item[\"NTBillable\"] === \"0\")\r\n {\r\n if(item[\"material\"] === \"1\" && item[\"billable\"] === \"1\" )\r\n {\r\n return \" Billable Clean\"\r\n }\r\n else if (item[\"billable\"] === \"1\")\r\n {\r\n return \" Billable\"\r\n }\r\n else if (item[\"material\"] === \"1\")\r\n {\r\n return \" Clean\"\r\n } \r\n \r\n }\r\n\r\n else if(item[\"billable\"] === \"1\")\r\n {\r\n return \" Billable\"\r\n }\r\n\r\n else if(item[\"NTBillable\"] === \"1\")\r\n {\r\n return \" Non Billable Transfer\"\r\n }\r\n else{\r\n return \"\"\r\n } \r\n };\r\n\r\n getLinkWithPath= (item) =>{//\r\n \r\n\r\n if(item[\"billable\"] === \"1\")\r\n {\r\n // if(item[\"material\"] === \"1\")\r\n // {\r\n return ({item[\"Order_ID\"]})\r\n ////}\r\n }\r\n else if(item[\"NTBillable\"] === \"1\")\r\n {\r\n return ({item[\"Order_ID\"]}) \r\n \r\n }\r\n \r\n else{\r\n return ({item[\"Order_ID\"]})\r\n \r\n }\r\n };\r\n onSortChange = (col) => {\r\n \r\n const { currentSort } = this.state;\r\n const { currentColumn } = this.state;\r\n let nextSort;\r\n\r\n if (currentSort === 'down') nextSort = 'up';\r\n else if (currentSort === 'up') nextSort = 'default';\r\n else if (currentSort === 'default') nextSort = 'down';\r\n\r\n let arrayCopy : []\r\n arrayCopy = [...this.state.SearchGrid];\r\n arrayCopy.sort(this.compareBySort(col, nextSort));\r\n\r\n this.setState({\r\n SearchGrid: arrayCopy\r\n });\r\n\r\n this.setState({\r\n currentSort: nextSort, currentColumn:col\r\n });\r\n \r\n //console.log(\"onSortChange - sort :\",currentSort)\r\n //console.log(\"onSortChange - column :\",currentColumn)\r\n \r\n };\r\n \r\n compareBySort(key,sort) {\r\n return function (a, b) \r\n { \r\n if (sort === 'up'){\r\n if (a[key] < b[key]) return -1;\r\n }\r\n else if (sort === 'down'){\r\n if (a[key] > b[key]) return -1;\r\n }\r\n return 0;\r\n }\r\n }\r\n render(){\r\n const { SearchGrid } = this.state;\r\n const { currentSort } = this.state;\r\n const { currentColumn } = this.state;\r\n //console.log(\"currentColumn\", currentColumn)\r\n const sortTypes = {\r\n up: {\r\n class: 'fa fa-fw fa-sort-up',\r\n fn: (a, b) => a[currentColumn] - b[currentColumn]\r\n },\r\n down: {\r\n class: 'fa fa-fw fa-sort-down',\r\n fn: (a, b) => b[currentColumn] - a[currentColumn]\r\n },\r\n default: {\r\n class: 'fa fa-fw fa-sort',\r\n fn: (a, b) => a\r\n }\r\n };\r\n const alignCardCenter = {\r\n \"margin\": \"0 0 0 0\"\r\n };\r\n const navStyle = {\r\n backgroundColor: 'rgba(0,0,0,.03)',\r\n border: '0px solid',\r\n borderBottom: '1px solid rgba(0,0,0,.125)',\r\n height: '40px',\r\n width: '100%',\r\n marginBottom: \"0\"\r\n };\r\n const gridBoxHeadStyle = {\r\n fontSize: \"8px\",\r\n borderStyle:\"groove\",\r\n width:'15%' \r\n };\r\n const gridBoxStyle = {\r\n fontSize: \"9px\",\r\n borderStyle:\"groove\",\r\n width:'15%'\r\n };\r\n //onClick={() => this.sortBy('Order_ID')}\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Approval Order

\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n Export to Excel}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Approval Inbox\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\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.SearchGrid.map((prop, key) => { \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.onSortChange('Order_ID')}>Order Id Request Date this.onSortChange('Requestor')}>Requestor this.onSortChange('Label')}>Op Co this.onSortChange('total_qty')}>Qty this.onSortChange('ShipToName')}>Ship to Attn
\r\n {this.getLinkWithPath(prop)}\r\n {this.getItemInfo(prop)} \r\n \r\n {prop[\"Request_Date\"]}\r\n {prop[\"ship_method\"] === \"2nd Day Air\" ? \" 2nd Day Air\" : \"\"} \r\n {prop[\"ship_method\"] === \"Overnight\" ? \" Overnight\" : \"\"} \r\n {prop[\"Requestor\"]}{prop[\"Label\"]}{prop[\"total_qty\"]}{prop[\"ShipToName\"]}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ) \r\n }\r\n}\r\n\r\ninterface ViewOrderParameter\r\n{ \r\n history?:History;\r\n}\r\ninterface Istate\r\n{\r\n fields:any;\r\n errors:any; \r\n errMsg:string;\r\n todayDate:any;\r\n previousdate:any;\r\n goodsReq:any;\r\n Order_id:any; \r\n SearchGrid: [];\r\n loading: any;\r\n modalSpinnerShow:boolean;\r\n currentSort:string;\r\n currentColumn:string;\r\n}","import React, { Component, CSSProperties } from \"react\";\r\nimport {FormLabel,FormGroup,Container,Row,Col,Form,Navbar, Nav, Alert,Button,Card,CardGroup,FormControl,Modal,Table} from \"../../../../node_modules/react-bootstrap\";\r\n//import {Card} from '../../CustomComponents/Card';\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormInputSearch} from '../../CustomComponents/FormInputSearch';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {FormSelectSearch} from '../../CustomComponents/FormSelectSearch';\r\nimport {FormLabelField} from '../../CustomComponents/FormLabelField';\r\nimport jsonState from '../../../json/State.json';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/Style.css'\r\nimport {FormCheckBox} from '../../CustomComponents/FormCheckBox';\r\nimport { Redirect, NavLink } from 'react-router-dom';\r\nimport { OrderRequestFormParameter, Istate } from \"../../../Model/OrderRequestForm\"; \r\n\r\nexport class BillableReqForm extends Component \r\n{\r\n constructor(props:OrderRequestFormParameter){\r\n super(props)\r\n const userLogin = sessionStorage.getItem(\"userLogin\")\r\n     let loggedIn = true;\r\n     if (userLogin == null){\r\n         loggedIn = false;\r\n     }\r\n this.state={\r\n fields: { nextStep:'',depot:'',approvers:'',legacyOrder:'',requestDate:'',customerPO:'',salesType:'',shipmentMethod:'',orderBy:'',accountNo:'',customerNumber:'',businessUnit:'',department:'',uid:'',pwd:'',lblSearchContact:'',businessunit:'',orderType:'',billTo:'',shipTo:'',specialIns:'',orderId:'',label:'',reason:'',qtyReq:[],rejectItem:[],comments:'' },\r\n selectfields: {shipmentMethod:''},\r\n errMsg:\"\",\r\n items:[],\r\n approvers:[],\r\n key:0,\r\n loggedIn,\r\n loading:false\r\n }\r\n }\r\n componentWillMount(){\r\n let fields = this.state.fields;\r\n //this.props.location.state.Order_id;\r\n //this.props.location.state.goodsReq === \"V\"\r\n //\r\n fields['nextStep'] = \"Pending(RUSSEL FLINK,KEVIN LIPSON,ANNA MCCOWN)\";\r\n fields['depot'] = \"\";\r\n fields['approvers'] = \"\";\r\n fields['legacyOrder'] = \"\";\r\n fields['requestDate'] = \"6/24/2020 10:00 AM\";\r\n fields['customerPO'] = \"566748\";\r\n fields['salesType'] = \"56 Clean (fully royalty bearing)\";\r\n fields['shipmentMethod'] = \"Standard Ground\";\r\n fields['orderBy'] = \"RYAN STEVEN\";\r\n fields['accountNo'] = \"\";\r\n fields['customerNumber'] = \"ON890\";\r\n fields['businessUnit'] = \"US1A0283\";\r\n fields['department'] = \"Shared Svcs-Sales\";\r\n fields['billTo'] = \"SONY MUSIC ENTERTAINMENT \\n 301 Route 17 North, 11th Floor \\n Ruther ford,new jersey 07070 \";\r\n fields['shipTo'] = \"Lauren LeTourneau \\n Lauren LeTourneau \\n 1347 Clearwater Drive \\n Woodbury, MN 55129 \\n USA\";\r\n fields['orderId'] = \"566748\";\r\n fields['label'] = \"Republic Records\";\r\n fields['reason'] = \"Promo copy - Lauren LeTourneau (Target)\";\r\n\r\n this.setState({ fields, items:JSON.parse(JSON.stringify(jsonState.result)), approvers:JSON.parse(JSON.stringify(jsonState.result)) }); \r\n }\r\n displayOrderItemsTable=()=>{\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return this.orderItemsTableForView();\r\n }\r\n else\r\n {\r\n return this.orderItemsTableForEdit();\r\n }\r\n\r\n }\r\n displayShipingMethod=()=>{\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return \r\n }\r\n else\r\n {\r\n return \r\n Shipment Method\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n orderItemsTableForView=()=>{\r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayBillableOrderView.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayBillableOrderView.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
{prop}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEdit=()=>{\r\n \r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayBillableOrderEdit.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayBillableOrderEdit.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return this.formControl(prop, key);\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEditButton=()=>{\r\n const {loading} = this.state;\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return <>\r\n }\r\n else\r\n {\r\n return
\r\n \r\n \r\n \r\n Comments (Order Changes/Depot)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n }\r\n formControl=(prop, key)=>{\r\n if(key === 0){\r\n return {prop};\r\n }\r\n else if(key === 9){\r\n return \r\n }\r\n else if(key === 10){\r\n return \r\n }\r\n else if(key === 11){\r\n return \r\n }\r\n else\r\n {\r\n return {prop};\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.loggedIn === false){\r\n return \r\n }\r\n return (
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.errMsg}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

BILLABLE ORDER REQUEST FORM

\r\n

56

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Request Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.displayShipingMethod()}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Order Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {'Bill To'}\r\n {this.state.fields.billTo.split('\\n').map((item, key) => {\r\n return
{item}
\r\n })}\r\n \r\n \r\n \r\n {'Ship To'}\r\n {this.state.fields.shipTo.split('\\n').map((item, key) => {\r\n return
{item}
\r\n })}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Ordered Items\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {this.displayOrderItemsTable()}\r\n
\r\n {this.orderItemsTableForEditButton()}\r\n \r\n \r\n
\r\n \r\n Approver Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
{prop}
\r\n
\r\n \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 { isPropertyAccessOrQualifiedName } from \"typescript\";\r\nimport {ServiceProxy} from \"../Common/ServiceProxy\";\r\nimport {Variables} from \"../Variables/Variables\"\r\n\r\nexport class SysopController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n }\r\n\r\n insertDept(label : string, dept : string, customerNumber : string, businessUnit : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.insertDept;\r\n var data = {\r\n label : label,\r\n dept : dept,\r\n customerNumber : customerNumber,\r\n businessUnit : businessUnit\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert dept...,\" + error);\r\n });\r\n }\r\n\r\n updateDept(label : string, dept : string, customerNumber : string, businessUnit : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.updateDept;\r\n var data = {\r\n label : label,\r\n dept : dept,\r\n customerNumber : customerNumber,\r\n businessUnit : businessUnit\r\n }\r\n return this.serviceProxy.put(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in update dept...,\" + error);\r\n });\r\n }\r\n\r\n getAllProcessForLabel(label: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getAllProcessForLabel;\r\n var data = {\r\n recordLabelId : label\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonProcess : Array<{\"assignedLabelId\": string, \"department\": string, \"processName\": string, \"maxApprovers\": string, \"default\": string, \"overnight\": string, \"clean\": string, \"billable\": string, \"NTBillable\": string, \"superUser\": string, \"crossLabel\": string, \"allLabels\": string, \"exceptions\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(process);\r\n function process(item: { Assigned_Label_ID: any; Department: any, Process_Name: any; Max_Approvers: any; Is_Default: any; Is_Overnight: any; Is_Clean: any; Is_Billable: any; is_NTBillable: any, Is_Super_User: any, Is_Cross_Label:any, is_all_labels: any, is_exceptions: any }, index: number){\r\n jsonProcess.push({\"assignedLabelId\": item.Assigned_Label_ID, \"department\": item.Department, \"processName\": item.Process_Name, \"maxApprovers\": item.Max_Approvers, \"default\": item.Is_Default ? \"Yes\" : \"No\", \"overnight\": item.Is_Overnight ? \"Yes\" : \"No\", \"clean\": item.Is_Clean ? \"Yes\" : \"No\", \"billable\": item.Is_Billable ? \"Yes\" : \"No\", \"NTBillable\": item.is_NTBillable ? \"Yes\" : \"No\", \"superUser\": item.Is_Super_User ? \"Yes\" : \"No\", \"crossLabel\": item.Is_Cross_Label, \"allLabels\": item.is_all_labels, \"exceptions\": item.is_exceptions})\r\n }\r\n return JSON.parse(JSON.stringify(jsonProcess).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonProcess).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive process for given label...,\" + error);\r\n });\r\n }\r\n\r\n getApprovalProcess(processName: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getApprovalProcess;\r\n var data = {\r\n processName: processName\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }).catch(error => {\r\n console.error(\"Error in retrive approval level for given max approvers...,\" + error);\r\n });\r\n }\r\n\r\n getProcessByLabelDept(labelId: string, department: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getAllProcessForLabel;\r\n var data = {\r\n recordLabelId : labelId,\r\n department : department\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonProcess : Array<{\"assignedLabelId\": string, \"department\": string, \"processName\": string, \"maxApprovers\": string, \"default\": string, \"overnight\": string, \"clean\": string, \"billable\": string, \"NTBillable\": string, \"superUser\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(process);\r\n function process(item: { Assigned_Label_ID: any; Department: any, Process_Name: any; Max_Approvers: any; Is_Default: any; Is_Overnight: any; Is_Clean: any; Is_Billable: any; is_NTBillable: any, Is_Super_User: any }, index: number){\r\n jsonProcess.push({\"assignedLabelId\": item.Assigned_Label_ID, \"department\": item.Department, \"processName\": item.Process_Name, \"maxApprovers\": item.Max_Approvers, \"default\": item.Is_Default ? \"Yes\" : \"No\", \"overnight\": item.Is_Overnight ? \"Yes\" : \"No\", \"clean\": item.Is_Clean ? \"Yes\" : \"No\", \"billable\": item.Is_Billable ? \"Yes\" : \"No\", \"NTBillable\": item.is_NTBillable ? \"Yes\" : \"No\", \"superUser\": item.Is_Super_User ? \"Yes\" : \"No\"})\r\n }\r\n return JSON.parse(JSON.stringify(jsonProcess).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonProcess).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive process for given label...,\" + error);\r\n });\r\n }\r\n\r\n countProcessByOrderType(labelId: string, department: string, assignedLabelId: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.countProcessByOrderType;\r\n var data = {\r\n labelId : labelId,\r\n assignedLabelId:assignedLabelId,\r\n department : department\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in retrive process for given label and dept...,\" + error);\r\n });\r\n }\r\n\r\n insertLabel(recordLabelId : string, recordLabelName : string, ownerLabel : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.insertLabel;\r\n var data = {\r\n recordLabelId : recordLabelId,\r\n recordLabelName : recordLabelName,\r\n ownerLabel : ownerLabel,\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert Label...,\" + error);\r\n });\r\n }\r\n\r\n updateLabel(recordLabelId : string, recordLabelName : string, ownerLabel : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.updateLabel;\r\n var data = {\r\n recordLabelId : recordLabelId,\r\n recordLabelName : recordLabelName,\r\n ownerLabel : ownerLabel,\r\n }\r\n return this.serviceProxy.put(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in update Label...,\" + error);\r\n });\r\n }\r\n\r\n getAllApprovers(){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getAllApprovers;\r\n var data = {}\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonApprovers : Array<{\"id\": string, \"name\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(approvers);\r\n function approvers(item: { Alias: any; Name: any; UserType_Id: any; Department: any; RecordLabel_Id: any}){\r\n jsonApprovers.push({\"id\": item.Alias, \"name\": item.Name+\"...\"+item.UserType_Id+\"...\"+item.Department+\"...\"+item.RecordLabel_Id})\r\n }\r\n return JSON.parse(JSON.stringify(jsonApprovers).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonApprovers).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive process for given label...,\" + error);\r\n });\r\n }\r\n\r\n getApprovalLevel(maxApprovers: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getApprovalLevel;\r\n var data = {\r\n maxApprovers: maxApprovers\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonApprovalLevel : Array<{\"id\": string, \"name\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(approvalLevel);\r\n function approvalLevel(item: { Usertype_Id: any; TypeDesc: any}){\r\n jsonApprovalLevel.push({\"id\": item.Usertype_Id, \"name\": item.TypeDesc})\r\n }\r\n return JSON.parse(JSON.stringify(jsonApprovalLevel).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonApprovalLevel).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive approval level for given max approvers...,\" + error);\r\n });\r\n }\r\n\r\n getApprovalTable(processName: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getApprovalTable;\r\n var data = {\r\n processName: processName\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n var jsonApprovalTable : Array<{\"alias\":string, \"name\": string, \"label\": string, \"labelId\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(approvalTable);\r\n function approvalTable(item: { Alias: any; Name: any; TypeDesc: any, User_Type: any}){\r\n jsonApprovalTable.push({\"alias\": item.Alias, \"name\": item.Name, \"label\": item.TypeDesc, \"labelId\": item.User_Type})\r\n }\r\n return JSON.parse(JSON.stringify(jsonApprovalTable).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonApprovalTable).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive approval level for given max approvers...,\" + error);\r\n });\r\n }\r\n\r\n getAllProcessForApproverLabel(username: string, recordLabelId : string, recordLabelName: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getAllProcessForApproverLabel;\r\n var data = {\r\n username: username,\r\n recordLabelId: recordLabelId\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonProcessTable : Array<{\"id\": string, \"username\": string, \"typedesc\": string, \"name\": string, \"label\": string, \"department\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(processTable);\r\n function processTable(item: { Process_Name: any; TypeDesc: any; Name: any; Department:any}){\r\n jsonProcessTable.push({\"id\": item.Process_Name, \"username\": username, \"typedesc\": item.TypeDesc, \"name\": item.Name, \"label\": recordLabelName, \"department\": item.Department})\r\n }\r\n return JSON.parse(JSON.stringify(jsonProcessTable).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonProcessTable).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive details...,\" + error);\r\n });\r\n }\r\n\r\n getDefaultProcess(labelId : string, department : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getDefaultProcess;\r\n var data = {\r\n labelId: labelId,\r\n department: department\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n return JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }).catch(error => {\r\n console.error(\"Error in retrive details...,\" + error);\r\n });\r\n }\r\n\r\n insertApprovalProcess(approvalProcessData : any){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.insertApprovalProcess;\r\n var data = {\r\n processName: approvalProcessData.processName,\r\n labelId: approvalProcessData.labelId,\r\n assignedLabelId: approvalProcessData.assignedLabelId,\r\n maxApprovers: approvalProcessData.maxApprovers,\r\n department: approvalProcessData.department,\r\n processDescription: approvalProcessData.processDescription,\r\n isDefault: approvalProcessData.isDefault,\r\n isAllLabels: approvalProcessData.isAllLabels,\r\n isExceptions: approvalProcessData.isExceptions,\r\n isOvernight: approvalProcessData.isOvernight,\r\n isClean: approvalProcessData.isClean,\r\n isCrossLabel: approvalProcessData.isCrossLabel,\r\n isOnePerLabel: approvalProcessData.isOnePerLabel,\r\n isActive: approvalProcessData.isActive,\r\n isSuperUser: approvalProcessData.isSuperUser,\r\n isCatalog: approvalProcessData.isCatalog,\r\n isBillable: approvalProcessData.isBillable,\r\n isNTBillable: approvalProcessData.isNTBillable\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert Approval Process...,\" + error);\r\n });\r\n }\r\n\r\n addFullLengthCleanApproverToProcess(){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.addFullLengthCleanApproverToProcess;\r\n var data = {}\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert dept...,\" + error);\r\n }); \r\n }\r\n\r\n insertCrossLabels(crossLabelData : any){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.insertCrossLabels;\r\n var data = {\r\n processName: crossLabelData.processName,\r\n labelId: crossLabelData.labelId,\r\n ownerLabel: crossLabelData.ownerLabel,\r\n isOn: crossLabelData.isOn,\r\n defaultDept: crossLabelData.defaultDept,\r\n isBillable: crossLabelData.isBillable,\r\n isNonBillableTransfer: crossLabelData.isNonBillableTransfer\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert cross labels...,\" + error);\r\n });\r\n }\r\n\r\n insertLabelExceptions(LabelExceptionData : any){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.insertLabelExceptions;\r\n var data = {\r\n processName: LabelExceptionData.processName,\r\n labelId: LabelExceptionData.labelId,\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert label Exceptions...,\" + error);\r\n });\r\n }\r\n\r\n //Approval process admin page\r\n\r\n getApprovalProcessDetails(username : string, recordLabelId: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getApprovalProcessDetails;\r\n var data = {\r\n username:username,\r\n recordLabelId:recordLabelId\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonApprovalProcessDetails : Array<{\"processName\": string, \"alias\": string, \"typedesc\": string, \"name\": string, \"labelName\": string, \"department\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(approvalProcessDetails);\r\n function approvalProcessDetails(item: { process_name: any; alias: any; typedesc:any; name:any; labelname:any; Department:any }){\r\n jsonApprovalProcessDetails.push({\"processName\": item.process_name, \"alias\": item.alias, \"typedesc\": item.typedesc, \"name\": item.name, \"labelName\": item.labelname, \"department\": item.Department})\r\n }\r\n return JSON.parse(JSON.stringify(jsonApprovalProcessDetails).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonApprovalProcessDetails).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrieve details...,\" + error);\r\n });\r\n }\r\n\r\n getApproverNames(){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getApproverNames;\r\n var data = {}\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonApprovers : Array<{\"id\": string, \"name\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(approvers);\r\n function approvers(item: { alias: any; name: any }){\r\n jsonApprovers.push({\"id\": item.alias, \"name\": item.name})\r\n }\r\n return JSON.parse(JSON.stringify(jsonApprovers).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonApprovers).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrieve details...,\" + error);\r\n });\r\n }\r\n\r\n replaceApprover(currentApprover : string, newApprover : string, recordLabelId : string, updatedBy : string, currentIP: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.replaceApprover;\r\n var data = {\r\n currentApprover:currentApprover,\r\n newApprover:newApprover,\r\n recordLabelId:recordLabelId,\r\n updatedBy:updatedBy,\r\n currentIP:currentIP\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response;\r\n }).catch(error => {\r\n console.error(\"Error in replace approver...,\" + error);\r\n });\r\n }\r\n\r\n addApprover(currentApprover : string, newApprover : string, recordLabelId : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.addApprover;\r\n var data = {\r\n currentApprover:currentApprover,\r\n newApprover:newApprover,\r\n recordLabelId:recordLabelId\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in add approver...,\" + error);\r\n });\r\n }\r\n\r\n checkAlternateApprovers(currentApprover : string, recordLabelId : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.checkAlternateApprovers;\r\n var data = {\r\n currentApprover:currentApprover,\r\n recordLabelId:recordLabelId,\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonCheckAlternateApprovers : Array<{\"processName\": string, \"type\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(checkAlternateApprovers);\r\n function checkAlternateApprovers(item: { process_name: any; typedesc: any }){\r\n jsonCheckAlternateApprovers.push({\"processName\": item.process_name, \"type\": item.typedesc})\r\n }\r\n return JSON.parse(JSON.stringify(jsonCheckAlternateApprovers).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonCheckAlternateApprovers).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in check alternate approver...,\" + error);\r\n });\r\n }\r\n\r\n deleteApprover(currentApprover : string, recordLabelId : string, updatedBy : string, currentIP: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.deleteApprover;\r\n var data = {\r\n currentApprover:currentApprover,\r\n recordLabelId:recordLabelId,\r\n updatedBy:updatedBy,\r\n currentIP:currentIP\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in delete approver...,\" + error);\r\n });\r\n }\r\n\r\n getLabelExceptions(processName: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getLabelExceptions;\r\n var data = {\r\n processName: processName\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n var jsonLabelExceptions : Array<{\"id\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(labelExceptions);\r\n function labelExceptions(item: { Label_ID: any }){\r\n jsonLabelExceptions.push({\"id\": item.Label_ID})\r\n }\r\n return JSON.parse(JSON.stringify(jsonLabelExceptions).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonLabelExceptions).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrieve details...,\" + error);\r\n });\r\n }\r\n\r\n getCrossLabels(processName : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getCrossLabels;\r\n var data = {\r\n processName: processName\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n var jsonCrossLabels : Array<{\"id\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(crossLabels);\r\n function crossLabels(item: {Label_ID: any }){\r\n jsonCrossLabels.push({\"id\": item.Label_ID})\r\n }\r\n return JSON.parse(JSON.stringify(jsonCrossLabels).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonCrossLabels).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrieve details...,\" + error);\r\n });\r\n }\r\n\r\n updateMaxApprovers(processName : string, maxApprovers : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.updateMaxApprovers;\r\n var data = {\r\n processName : processName,\r\n maxApprovers : maxApprovers\r\n }\r\n return this.serviceProxy.put(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in update max approvers...,\", error);\r\n });\r\n }\r\n\r\n deleteCrossLabels(processName : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.deleteCrossLabels;\r\n var data = {\r\n processName : processName\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in delete cross labels...,\", error);\r\n });\r\n }\r\n\r\n deleteLabelExceptions(processName : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.deleteLabelExceptions;\r\n var data = {\r\n processName : processName\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in delete label exceptions...,\", error);\r\n });\r\n }\r\n\r\n getAllProcessByAlias(alias: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getAllProcessByAlias;\r\n var data = {\r\n alias : alias\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n var jsonProcess : Array<{\"alias\": string, \"processName\": string, \"default\": string, \"userType\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(process);\r\n function process(item: { Alias: any; Process_Name: any, Is_Default: any; User_Type: any}){\r\n jsonProcess.push({\"alias\": item.Alias, \"processName\": item.Process_Name, \"default\": item.Is_Default ? \"Yes\" : \"No\", \"userType\": item.User_Type})\r\n }\r\n return JSON.parse(JSON.stringify(jsonProcess).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonProcess).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in retrive process for given alias...,\" + error);\r\n });\r\n }\r\n\r\n deleteApproverByProcess(processName : string, alias : string, userType: string, crossLabel: number){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.deleteApproverByProcess;\r\n var data = {\r\n processName : processName,\r\n alias : alias,\r\n userType : userType,\r\n crossLabel : crossLabel\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in delete approver...,\", error);\r\n });\r\n }\r\n\r\n checkIsDefault(processName : string, alias : string, userType: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.checkIsDefault;\r\n var data = {\r\n processName : processName,\r\n alias : alias,\r\n userType : userType\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in check is default...,\", error);\r\n });\r\n }\r\n\r\n getProcessLookupCounter(processName: string, alias: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getProcessLookupCounter;\r\n var data = {\r\n processName : processName,\r\n alias : alias\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in retrive details...,\" + error);\r\n });\r\n }\r\n\r\n addApproverForExport(processName : string, alias : string, userType : string, counter : number){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.addApproverForExport;\r\n var data = {\r\n processName : processName,\r\n alias : alias,\r\n userType : userType,\r\n counter : counter\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert dept...,\" + error);\r\n });\r\n }\r\n\r\n checkIsDefaultProcessLookup(processName : string, alias : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.checkIsDefaultProcessLookup;\r\n var data = {\r\n processName : processName,\r\n alias : alias\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in check is default...,\", error);\r\n });\r\n }\r\n\r\n addApproverNonExport(processName : string, alias : string, userType : string, isDefault: number, counter : number){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.addApproverNonExport;\r\n var data = {\r\n processName : processName,\r\n alias : alias,\r\n userType : userType,\r\n default: isDefault,\r\n counter : counter\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in insert dept...,\" + error);\r\n });\r\n }\r\n\r\n getNonExportDefaultProcessCount(alias: string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.getNonExportDefaultProcessCount;\r\n var data = {\r\n alias : alias\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in retrive details...,\" + error);\r\n });\r\n }\r\n\r\n updatePermissions(alias : string, otherLabels : string, exceptions : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.updatePermissions;\r\n var data = {\r\n alias: alias,\r\n otherLabels: otherLabels,\r\n exceptions: exceptions\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in update permissions...,\" + error);\r\n });\r\n }\r\n\r\n checkAlternateApprover(processName : string, userType : string){\r\n var url = this.variables.Url + this.variables.Controller.sysop + this.variables.sysopService.checkAlternateApprover;\r\n var data = {\r\n processName : processName,\r\n userType : userType\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in check alternate approver...,\", error);\r\n });\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container, Card, Row, Col, Form, Button, Table, Alert} from \"react-bootstrap\";\r\nimport '../../../assets/css/Style.css'\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {SysopController} from '../../../Controllers/SysopController'\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class DepartmentMaintenance extends Component {\r\n constructor(props:DepartmentParameter){\r\n super(props);\r\n this.state = {\r\n fields: {department:'', customerNumber:'', businessUnit:''},\r\n errors: {recordLabelId:'', department:'', customerNumber:'', businessUnit:''},\r\n selectfields: {recordLabelId:'', recordLabelName:''},\r\n recordLabel: [],\r\n department: [],\r\n loading: false,\r\n selectLabel: false,\r\n errMsg:'',\r\n edit:false,\r\n modal: {modalSpinnerShow: false}\r\n }\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let selectfields = this.state.selectfields;\r\n selectfields[\"recordLabelName\"]=\"Select Your Operating Company\";\r\n this.setState({selectfields});\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company...\", error)\r\n });\r\n }\r\n\r\n handleSelectChange = (e:any) => {\r\n let selectfields = this.state.selectfields;\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n if(e.currentTarget.name === 'recordLabelId'){\r\n this.setState({selectLabel:true});\r\n selectfields[\"recordLabelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n let commonController = new CommonController();\r\n commonController.getAllDeptForLabel(this.state.selectfields.recordLabelId).then(jsonDept => {\r\n this.setState({ \r\n department : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading department\")\r\n });\r\n }\r\n if(e.currentTarget.value === \"Select Your Operating Company\"){\r\n this.setState({selectLabel:false});\r\n }\r\n this.setState({\r\n selectfields\r\n });\r\n }\r\n\r\n handleChange = (e:any) => {\r\n let fields = this.state.fields;\r\n var regexp = new RegExp(/^[a-zA-Z0-9 ]*$/) //\r\n console.log(e.currentTarget.name,\"e checkkkk\")\r\n if(e.currentTarget.name === 'department'){\r\n if(regexp.test(e.currentTarget.value)){\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }}\r\n else{\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({\r\n fields \r\n });\r\n }\r\n\r\n clearAll(){\r\n this.clearError();\r\n let fields = this.state.fields;\r\n fields[\"department\"] = \"\";\r\n fields[\"customerNumber\"] = \"\";\r\n fields[\"businessUnit\"] = \"\";\r\n this.setState({\r\n fields, edit:false \r\n });\r\n }\r\n\r\n clearError(){\r\n let errors = this.state.errors;\r\n errors[\"recordLabelId\"] = \"\";\r\n errors[\"department\"] = \"\";\r\n errors[\"customerNumber\"] = \"\";\r\n errors[\"businessUnit\"] = \"\";\r\n this.setState({\r\n errors, errMsg: \"\"\r\n });\r\n }\r\n\r\n insertValues(dept,customerNumber,businessUnit){\r\n this.clearError();\r\n this.setState({edit:true});\r\n let fields = this.state.fields;\r\n fields[\"department\"] = dept;\r\n fields[\"customerNumber\"] = customerNumber;\r\n fields[\"businessUnit\"] = businessUnit;\r\n this.setState({\r\n fields \r\n });\r\n }\r\n\r\n ValidateProfile(){\r\n this.clearError();\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"department\"]) {\r\n formIsValid = false;\r\n errors[\"department\"] = \"Please enter department name.\";\r\n }\r\n if (!fields[\"customerNumber\"]) {\r\n formIsValid = false;\r\n errors[\"customerNumber\"] = \"Please enter customer number.\";\r\n }\r\n if (!fields[\"businessUnit\"]) {\r\n formIsValid = false;\r\n errors[\"businessUnit\"] = \"Please enter business unit.\";\r\n }\r\n if(selectfields[\"recordLabelName\"] === \"Select Your Operating Company\"){\r\n formIsValid = false;\r\n errors[\"recordLabelId\"] = \"Please select label from dropdown.\";\r\n }\r\n if(!formIsValid)\r\n {\r\n this.setState({ loading: false });\r\n }\r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n checkDuplicate = () => {\r\n var duplicate = false;\r\n this.state.department.map((prop : any, key) => {\r\n if(prop[\"name\"].toUpperCase() === this.state.fields.department.toUpperCase()){\r\n duplicate = true;\r\n }\r\n })\r\n return duplicate;\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if (this.ValidateProfile()) {\r\n if(this.checkDuplicate()){\r\n alert(\"Department name already exists...\")\r\n this.setState({ loading: false });\r\n }\r\n else{\r\n let sysopController = new SysopController();\r\n if(this.state.edit){\r\n sysopController.updateDept(this.state.selectfields.recordLabelId,this.state.fields.department,this.state.fields.customerNumber,this.state.fields.businessUnit)\r\n .then(response => {\r\n if(response.success){\r\n alert(\"Department updated successfully...\")\r\n let commonController = new CommonController();\r\n commonController.getAllDeptForLabel(this.state.selectfields.recordLabelId).then(jsonDept => {\r\n this.setState({ \r\n department : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading department\")\r\n }); \r\n }\r\n else{\r\n this.setState({errMsg: \"Error in update department...\"})\r\n }\r\n this.setState({ loading: false });\r\n }).catch(error => {\r\n console.error(\"Error in update dept...,\" +error);\r\n })\r\n this.setState({edit:false});\r\n this.clearAll();\r\n }\r\n else{\r\n sysopController.insertDept(this.state.selectfields.recordLabelId,this.state.fields.department,this.state.fields.customerNumber,this.state.fields.businessUnit)\r\n .then(response => {\r\n if(response.success){\r\n alert(\"Department created successfully...\")\r\n let commonController = new CommonController();\r\n commonController.getAllDeptForLabel(this.state.selectfields.recordLabelId).then(jsonDept => {\r\n this.setState({ \r\n department : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading department\")\r\n }); \r\n }\r\n else{\r\n this.setState({errMsg: \"Error in adding department...\"})\r\n }\r\n this.setState({ loading: false });\r\n }).catch(error => {\r\n console.error(\"Error in insert dept...,\" +error);\r\n })\r\n this.clearAll();\r\n }\r\n } \r\n }\r\n }\r\n\r\n render(){\r\n const{ loading } = this.state;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Department Maintenance

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

Department Details

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.selectLabel ? \r\n \r\n {this.state.department.map((prop, key) => {\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
LabelDepartmentCustomer NumberBusiness UnitEdit
{prop[\"label\"]}{prop[\"name\"]}{prop[\"customerNumber\"]}{prop[\"businessUnit\"]}
List is Empty...Please select Label
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface DepartmentParameter{\r\n uid?:string;\r\n pwd?:string;\r\n history?:History;\r\n}\r\n \r\ninterface Istate{\r\n fields:any;\r\n errors:any;\r\n selectfields:any;\r\n recordLabel:[];\r\n department:[];\r\n selectLabel:boolean;\r\n loading:boolean;\r\n errMsg:string;\r\n edit:boolean;\r\n modal:any;\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container,Card, Row, Col, Form, Button, Table, Alert} from \"react-bootstrap\";\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {FormLabelField} from \"../../CustomComponents/FormLabelField\";\r\nimport '../../../assets/css/Style.css';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {SysopController} from '../../../Controllers/SysopController';\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class CreateApprovalProcess extends Component {\r\n constructor(props:CreateProcessParameter){\r\n super(props);\r\n this.state = {\r\n fields:{processName:'', maxApprovers:'1', processDescription:''},\r\n errors:{ownerLabelId:'', assignedLabelId:'', processName:'', department:'', maxApprovers:''},\r\n selectfields:{ownerLabelId:'', ownerLabelName:'', assignedLabelId:'', assignedLabelName:'', department:''},\r\n optionfields: {defaultDeptNo:true, defaultDeptYes:false, superUserNo:true, superUserYes:false, freeGoods:true, billable:false, nonBillableTransfer:false, overnightOrdersYes:true, overnightOrdersNo:false,cleanOrdersYes:true, cleanOrdersNo:false, allLabelsYes:true, allLabelsNo:false, exceptionsYes:true, exceptionsNo:false, crossLabelsYes:false, crossLabelsNo:true, exportProcessYes:false, exportProcessNo:true },\r\n recordLabel:[],\r\n department:[],\r\n exceptions:[], \r\n crossLabels:[],\r\n errMsg:'',\r\n loading: false,\r\n modal: {modalSpinnerShow: false}\r\n }\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleSelectMultipleChange = this.handleSelectMultipleChange.bind(this);\r\n this.handleOptionChange = this.handleOptionChange.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company...\", error)\r\n });\r\n }\r\n\r\n validateForm() {\r\n let fields = this.state.fields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"processName\"]) {\r\n formIsValid = false;\r\n errors[\"uid\"] = \"Please enter processName\";\r\n this.setState({ loading: false });\r\n }\r\n this.setState({ errors });\r\n return formIsValid;\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n \r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if(this.validateForm()){\r\n let sysopController = new SysopController();\r\n sysopController.getApprovalProcess(this.state.fields.processName).then(response =>{\r\n if(response.success){\r\n alert(\"Process name: \" + response.Process_Name + \" already exists.\");\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.code === 202){\r\n sysopController.countProcessByOrderType(this.state.selectfields.ownerLabelId,this.state.selectfields.department,this.state.selectfields.assignedLabelId).then(response =>{\r\n debugger;\r\n if(this.state.optionfields.superUserYes){\r\n if(response.SuValue !== 0 && response.SuBillableCount === 0 && response.SuNtBillableCount === 0 && this.state.optionfields.freeGoods){\r\n alert(\"Approval process is already exist for selected label and Department for free goods order.\");\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.SuValue !== 0 && response.SuBillableCount > 0 && this.state.optionfields.billable){\r\n alert(\"Approval process is already exist for selected label and Department for billable order.\");\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.SuValue !== 0 && response.SuNtBillableCount > 0 && this.state.optionfields.nonBillableTransfer){\r\n alert(\"Approval process is already exist for selected label and Department for non billable transfer order.\");\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else{\r\n if(this.state.optionfields.defaultDeptYes){\r\n sysopController.getDefaultProcess(this.state.selectfields.ownerLabelId,this.state.selectfields.department).then(response =>{\r\n if(response.success){\r\n alert(\"Another Default Process exists for this Department. Process Name: \" + response.Process_Name + \" & Department: \" + response.Department + \". Please de-activate the process before assigning a new deafult process.\");\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.code === 202){\r\n this.insertProcess();\r\n }\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n else{\r\n this.insertProcess();\r\n }\r\n }\r\n\r\n }\r\n else{\r\n if(response.value !== 0 && response.billableCount === 0 && response.ntBillableCount === 0 && this.state.optionfields.freeGoods){\r\n alert(\"Approval process is already exist for selected label and Department for free goods order.\");\r\n this.setState({ loading: false });\r\n debugger;\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.value !== 0 && response.billableCount > 0 && this.state.optionfields.billable){\r\n alert(\"Approval process is already exist for selected label and Department for billable order.\");\r\n debugger;\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.value !== 0 && response.ntBillableCount > 0 && this.state.optionfields.nonBillableTransfer){\r\n alert(\"Approval process is already exist for selected label and Department for non billable transfer order.\");\r\n debugger;\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else{\r\n if(this.state.optionfields.defaultDeptYes){\r\n sysopController.getDefaultProcess(this.state.selectfields.ownerLabelId,this.state.selectfields.department).then(response =>{\r\n if(response.success){\r\n alert(\"Another Default Process exists for this Department. Process Name: \" + response.Process_Name + \" & Department: \" + response.Department + \". Please de-activate the process before assigning a new deafult process.\");\r\n this.setState({ loading: false });\r\n this.props.history.push('/admin/home');\r\n }\r\n else if(response.code === 202){\r\n this.insertProcess();\r\n }\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n else{\r\n this.insertProcess();\r\n }\r\n }\r\n }\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n }); \r\n }\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n }\r\n\r\n insertProcess(){\r\n let sysopController = new SysopController();\r\n var approvalProcessData = {\r\n processName: this.state.fields.processName,\r\n labelId: this.state.selectfields.ownerLabelId,\r\n assignedLabelId: this.state.selectfields.assignedLabelId,\r\n maxApprovers: this.state.fields.maxApprovers,\r\n department: this.state.selectfields.department,\r\n processDescription: this.state.fields.processDescription,\r\n isDefault: this.state.optionfields.defaultDeptYes,\r\n isAllLabels: this.state.optionfields.allLabelsYes,\r\n isExceptions: this.state.optionfields.exceptionsYes,\r\n isOvernight: this.state.optionfields.overnightOrdersYes,\r\n isClean: this.state.optionfields.cleanOrdersYes,\r\n isCrossLabel: this.state.optionfields.crossLabelsYes,\r\n isOnePerLabel: '0',\r\n isActive: '1',\r\n isSuperUser: this.state.optionfields.superUserYes,\r\n isCatalog: '0',\r\n isBillable: this.state.optionfields.billable,\r\n isNTBillable: this.state.optionfields.nonBillableTransfer\r\n }\r\n sysopController.insertApprovalProcess(approvalProcessData).then(response => {\r\n \r\n if(response.success){\r\n sysopController.addFullLengthCleanApproverToProcess().then(response =>{\r\n \r\n if(response.success){\r\n if(this.state.optionfields.crossLabelsYes){\r\n this.state.crossLabels.map(data =>{\r\n var crossLabelData ={\r\n processName: this.state.fields.processName,\r\n labelId: data,\r\n ownerLabel: this.state.selectfields.ownerLabelId,\r\n isOn: '1',\r\n defaultDept: this.state.selectfields.department,\r\n isBillable: this.state.optionfields.billable,\r\n isNonBillableTransfer: this.state.optionfields.nonBillableTransfer\r\n }\r\n sysopController.insertCrossLabels(crossLabelData);\r\n })\r\n }\r\n if(this.state.optionfields.exceptionsYes){\r\n this.state.exceptions.map(data =>{\r\n var labelExceptionData ={\r\n processName: this.state.fields.processName,\r\n labelId: data, \r\n }\r\n sysopController.insertLabelExceptions(labelExceptionData);\r\n })\r\n }\r\n }\r\n this.setState({ loading: false });\r\n alert(\"Approval process: \" + this.state.fields.processName + \" created successfully.\")\r\n this.props.history.push('/admin/home');\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n\r\n handleSelectChange = (e:any) => {\r\n let selectfields = this.state.selectfields;\r\n let fields = this.state.fields;\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n if(e.currentTarget.name === 'ownerLabelId'){\r\n selectfields[\"ownerLabelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n let commonController = new CommonController();\r\n commonController.getAllDeptForLabel(this.state.selectfields.ownerLabelId).then(jsonDept => {\r\n this.setState({ \r\n department : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading department\")\r\n });\r\n }\r\n if(e.currentTarget.name === 'assignedLabelId'){\r\n selectfields[\"assignedLabelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n this.setState({ selectfields });\r\n if(e.currentTarget.name === 'department'){\r\n this.generateProcessName();\r\n }\r\n \r\n let optionfields = this.state.optionfields;\r\n if(selectfields[\"assignedLabelName\"] != ''){\r\n if(selectfields[\"ownerLabelName\"] != selectfields[\"assignedLabelName\"]){\r\n optionfields['superUserNo'] = false;\r\n optionfields['superUserYes'] = true;\r\n this.generateProcessName();\r\n }\r\n else if(selectfields[\"ownerLabelName\"] === selectfields[\"assignedLabelName\"]){\r\n optionfields['superUserNo'] = true;\r\n optionfields['superUserYes'] = false;\r\n this.generateProcessName();\r\n }\r\n }\r\n this.setState({ optionfields, fields });\r\n }\r\n\r\n handleSelectMultipleChange = (e: any) => {\r\n var options = e.currentTarget.options;\r\n var value : string[] = [];\r\n for (var i = 0, l = options.length; i < l; i++) {\r\n if (options[i].selected) {\r\n value.push(options[i].value);\r\n }\r\n }\r\n if(e.currentTarget.name === 'exceptions'){\r\n this.setState({exceptions: value});\r\n }\r\n if(e.currentTarget.name === 'crossLabels'){\r\n this.setState({crossLabels: value});\r\n }\r\n }\r\n\r\n handleChange = (e:any) => {\r\n let fields = this.state.fields;\r\n if(e.currentTarget.name === 'processName'){\r\n var regexp = new RegExp(/^[a-zA-Z_]*$/)\r\n if (regexp.test(e.currentTarget.value)){\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n else{\r\n alert(\"Process name allows alphabets and underscore only...\")\r\n }\r\n }\r\n else if(e.currentTarget.name === 'maxApprovers'){\r\n if(e.currentTarget.value <= 4){\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n else{\r\n fields[e.currentTarget.name] = 1;\r\n alert(\"Maximum limit for max approvers is 4...\")\r\n }\r\n }\r\n else if (e.currentTarget.value.trim().length > 0){\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n else{\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n }\r\n this.setState({\r\n fields \r\n });\r\n }\r\n\r\n handleOptionChange =(e:any)=>{\r\n let optionfields = this.state.optionfields;\r\n let fields = this.state.fields;\r\n if (e.currentTarget.id === \"defaultDeptNo\") {\r\n optionfields['defaultDeptNo'] = !this.state.optionfields.defaultDeptNo;\r\n optionfields['defaultDeptYes'] = false;\r\n }\r\n else if (e.currentTarget.id === \"defaultDeptYes\") {\r\n optionfields['defaultDeptNo'] = false;\r\n optionfields['defaultDeptYes'] = !this.state.optionfields.defaultDeptYes;\r\n }\r\n else if (e.currentTarget.id === \"freeGoods\") {\r\n optionfields['freeGoods'] = !this.state.optionfields.freeGoods;\r\n optionfields['billable'] = false;\r\n optionfields['nonBillableTransfer'] = false;\r\n this.generateProcessName();\r\n }\r\n else if (e.currentTarget.id === \"billable\") {\r\n optionfields['freeGoods'] = false;\r\n optionfields['billable'] = !this.state.optionfields.billable;\r\n optionfields['nonBillableTransfer'] = false;\r\n this.generateProcessName();\r\n }\r\n else if (e.currentTarget.id === \"nonBillableTransfer\") {\r\n optionfields['freeGoods'] = false;\r\n optionfields['billable'] = false;\r\n optionfields['nonBillableTransfer'] = !this.state.optionfields.nonBillableTransfer;\r\n this.generateProcessName();\r\n }\r\n else if (e.currentTarget.id === \"overnightOrdersYes\") {\r\n optionfields['overnightOrdersYes'] = !this.state.optionfields.overnightOrdersYes;\r\n optionfields['overnightOrdersNo'] = false;\r\n }\r\n else if (e.currentTarget.id === \"overnightOrdersNo\") {\r\n optionfields['overnightOrdersYes'] = false;\r\n optionfields['overnightOrdersNo'] = !this.state.optionfields.overnightOrdersNo;\r\n }\r\n else if (e.currentTarget.id === \"cleanOrdersYes\") {\r\n optionfields['cleanOrdersYes'] = !this.state.optionfields.cleanOrdersYes;\r\n optionfields['cleanOrdersNo'] = false;\r\n }\r\n else if (e.currentTarget.id === \"cleanOrdersNo\") {\r\n optionfields['cleanOrdersYes'] = false;\r\n optionfields['cleanOrdersNo'] = !this.state.optionfields.cleanOrdersNo;\r\n }\r\n else if (e.currentTarget.id === \"allLabelsYes\") {\r\n optionfields['allLabelsYes'] = !this.state.optionfields.allLabelsYes;\r\n optionfields['allLabelsNo'] = false;\r\n }\r\n else if (e.currentTarget.id === \"allLabelsNo\") {\r\n optionfields['allLabelsYes'] = false;\r\n optionfields['allLabelsNo'] = !this.state.optionfields.allLabelsNo;\r\n }\r\n else if (e.currentTarget.id === \"exceptionsYes\") {\r\n optionfields['exceptionsYes'] = !this.state.optionfields.exceptionsYes;\r\n optionfields['exceptionsNo'] = false;\r\n }\r\n else if (e.currentTarget.id === \"exceptionsNo\") {\r\n optionfields['exceptionsYes'] = false;\r\n optionfields['exceptionsNo'] = !this.state.optionfields.exceptionsNo;\r\n }\r\n else if (e.currentTarget.id === \"crossLabelsYes\") {\r\n optionfields['crossLabelsYes'] = !this.state.optionfields.crossLabelsYes;\r\n optionfields['crossLabelsNo'] = false;\r\n }\r\n else if (e.currentTarget.id === \"crossLabelsNo\") {\r\n optionfields['crossLabelsYes'] = false;\r\n optionfields['crossLabelsNo'] = !this.state.optionfields.crossLabelsNo;\r\n }\r\n else if (e.currentTarget.id === \"exportProcessYes\") {\r\n optionfields['exportProcessYes'] = !this.state.optionfields.exportProcessYes;\r\n optionfields['exportProcessNo'] = false;\r\n }\r\n else if (e.currentTarget.id === \"exportProcessNo\") {\r\n optionfields['exportProcessYes'] = false;\r\n optionfields['exportProcessNo'] = !this.state.optionfields.exportProcessNo;\r\n }\r\n else {\r\n optionfields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({ optionfields, fields });\r\n }\r\n\r\n generateProcessName(){\r\n let fields = this.state.fields;\r\n if(this.state.optionfields.superUserYes){\r\n fields['processName'] = this.state.selectfields.ownerLabelId + '_' + this.state.selectfields.assignedLabelId\r\n if(this.state.selectfields.department != ''){\r\n const cleanedString = this.state.selectfields.department.replace(/[^\\w\\s]/gi, '').replace(/\\s+/g, '');\r\n fields['processName'] += '_' + cleanedString + '_SU'\r\n }\r\n }\r\n else{\r\n fields['processName'] = this.state.selectfields.ownerLabelId\r\n if(this.state.selectfields.department != ''){\r\n const cleanedString = this.state.selectfields.department.replace(/[^\\w\\s]/gi, '').replace(/\\s+/g, '');\r\n fields['processName'] += '_' + cleanedString\r\n }\r\n }\r\n if(this.state.optionfields.billable){\r\n fields['processName'] += '_bill'\r\n }\r\n if(this.state.optionfields.nonBillableTransfer){\r\n fields['processName'] += '_NBT'\r\n }\r\n this.setState({ fields });\r\n }\r\n\r\n render(){\r\n const{ loading } = this.state;\r\n return(\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Create Approval Process

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Billable Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Super User Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Is this Default for this Department?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Overnight Orders Allowed\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Clean Orders Allowed\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Can requestor orders from other label?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Are there labels the requestor may not order from ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Which Labels may the requestor NOT order from?\r\n \r\n {this.state.recordLabel.map((data: any) => {\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 Is this a Cross-Label Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If this is a cross-label process, which labels does it pertain to?\r\n \r\n {this.state.recordLabel.map((data: any) => {\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 Is this an EXPORT Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a description for this process\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\ninterface CreateProcessParameter{\r\n uid?:string;\r\n pwd?:string;\r\n history?:History;\r\n location?:any;\r\n}\r\ninterface Istate{\r\n fields:any;\r\n errors:any;\r\n selectfields:any;\r\n optionfields:any;\r\n recordLabel:[];\r\n department:[];\r\n exceptions:any[]; \r\n crossLabels:any[];\r\n errMsg:string;\r\n loading:boolean;\r\n modal:any;\r\n}","import React, { Component, CSSProperties } from \"react\";\r\nimport {FormLabel,FormGroup,Container,Row,Col,Form,Navbar, Nav, Alert,Button,Card,CardGroup,FormControl,Modal,Table} from \"../../../../node_modules/react-bootstrap\";\r\n//import {Card} from '../../CustomComponents/Card';\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormInputSearch} from '../../CustomComponents/FormInputSearch';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {FormSelectSearch} from '../../CustomComponents/FormSelectSearch';\r\nimport {FormLabelField} from '../../CustomComponents/FormLabelField';\r\nimport jsonState from '../../../json/State.json';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/CreateOrder.css'\r\nimport {FormCheckBox} from '../../CustomComponents/FormCheckBox';\r\nimport { Redirect, NavLink } from 'react-router-dom';\r\nimport { OrderRequestFormParameter, Istate } from \"../../../Model/OrderRequestForm\"; \r\n\r\nexport class NonBillableTransferForm extends Component \r\n{\r\n constructor(props:OrderRequestFormParameter){\r\n super(props)\r\n const userLogin = sessionStorage.getItem(\"userLogin\")\r\n     let loggedIn = true;\r\n     if (userLogin == null){\r\n         loggedIn = false;\r\n     }\r\n this.state={\r\n fields: { nextStep:'',depot:'',approvers:'',legacyOrder:'',requestDate:'',customerPO:'',salesType:'',shipmentMethod:'',orderBy:'',accountNo:'',customerNumber:'',businessUnit:'',department:'',uid:'',pwd:'',lblSearchContact:'',businessunit:'',orderType:'',freightInfo:'',shipTo:'',specialIns:'',orderId:'',label:'',reason:'',qtyReq:[],rejectItem:[],comments:'' },\r\n selectfields: {shipmentMethod:''},\r\n errMsg:\"\",\r\n items:[],\r\n approvers:[],\r\n key:0,\r\n loggedIn,\r\n loading:{loading:false}\r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n componentWillMount(){\r\n let fields = this.state.fields;\r\n //this.props.location.state.Order_id;\r\n //this.props.location.state.goodsReq === \"V\"\r\n //\r\n fields['nextStep'] = \"Pending(RUSSEL FLINK,KEVIN LIPSON,ANNA MCCOWN)\";\r\n fields['depot'] = \"\";\r\n fields['approvers'] = \"\";\r\n fields['legacyOrder'] = \"\";\r\n fields['requestDate'] = \"6/24/2020 10:00 AM\";\r\n fields['customerPO'] = \"566748\";\r\n fields['salesType'] = \"91 Clean\";\r\n fields['shipmentMethod'] = \"Standard Ground\";\r\n fields['orderBy'] = \"RYAN STEVEN\";\r\n fields['accountNo'] = \"\";\r\n fields['customerNumber'] = \"ON890\";\r\n fields['businessUnit'] = \"US1A0283\";\r\n fields['department'] = \"Shared Svcs-Sales\";\r\n fields['billTo'] = \"\";\r\n fields['shipTo'] = \"Lauren LeTourneau \\n Lauren LeTourneau \\n 1347 Clearwater Drive \\n Woodbury, MN 55129 \\n USA\";\r\n fields['orderId'] = \"566748\";\r\n fields['label'] = \"Republic Records\";\r\n fields['reason'] = \"Promo copy - Lauren LeTourneau (Target)\";\r\n\r\n this.setState({ fields, items:JSON.parse(JSON.stringify(jsonState.result)), approvers:JSON.parse(JSON.stringify(jsonState.result)) }); \r\n }\r\n handleChange =(e:any)=>{\r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({ fields });\r\n }\r\n displayOrderItemsTable=()=>{\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return this.orderItemsTableForView();\r\n }\r\n else\r\n {\r\n return this.orderItemsTableForEdit();\r\n }\r\n\r\n }\r\n displayShipingMethod=()=>{\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return \r\n }\r\n else\r\n {\r\n return \r\n Shipment Method\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n orderItemsTableForView=()=>{\r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderView.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderView.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
{prop + key}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEdit=()=>{\r\n \r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderEdit.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderEdit.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return this.formControl(prop, key);\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEditButton=()=>{\r\n const {loading} = this.state.loading;\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return <>\r\n }\r\n else\r\n {\r\n return
\r\n \r\n \r\n \r\n Comments (Order Changes/Depot)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n }\r\n formControl=(prop, key)=>{\r\n if(key === 0){\r\n return {prop};\r\n }\r\n else if(key === 7){\r\n return \r\n }\r\n else if(key === 8){\r\n return \r\n }\r\n else\r\n {\r\n return {prop};\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.loggedIn === false){\r\n return \r\n }\r\n return (
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.errMsg}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

NON BILLABLE TRANSFER FORM

\r\n

91

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Request Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.displayShipingMethod()}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Order Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {'Ship To'}\r\n {this.state.fields.shipTo.split('\\n').map((item, key) => {\r\n return
{item}
\r\n })}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Ordered Items\r\n \r\n \r\n
\r\n \r\n
\r\n {this.displayOrderItemsTable()}\r\n {this.orderItemsTableForEditButton()}\r\n \r\n \r\n
\r\n \r\n Approver Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
{prop}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n","import React, { Component } from \"react\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button, Navbar, Nav } from \"react-bootstrap\";\r\nimport { History, LocationState } from \"History\";\r\nimport { UserViewController } from \"../../../Controllers/UserViewController\"\r\nimport { format } from 'date-fns'\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport { NavLink } from 'react-router-dom'\r\nimport '../../../assets/css/Style.css'\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\";\r\nimport { DepotOrderParameter, Istate } from \"../../../Model/DepotOrderUpdate\";\r\nimport { DepotOrdersController } from \"../../../Controllers/DepotOrdersController\";\r\nimport {alert} from 'react-bootstrap-confirmation';\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\n\r\nexport class DepotOrderUpdate extends Component {\r\n constructor(props: DepotOrderParameter) {\r\n super(props)\r\n this.state = {\r\n fields: { find: '', searchType: '', isActive: [], OrderId: [], userName: '' },\r\n optionfields: { checkid: false },\r\n checkfields: { selectorder: '' },\r\n errors: { find: '', searchType: '', checkid: '' },\r\n errMsg: \"\",\r\n todayDate: \"\",\r\n previousdate: \"\",\r\n Order_id: \"\",\r\n goodsReq: \"\",\r\n loading: false,\r\n color1: \"\",\r\n deptOrdGrid: [],\r\n selected: {},\r\n orderItem: [],\r\n modal: {modalSpinnerShow: false}\r\n }\r\n\r\n this.handleCheckChange = this.handleCheckChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n let modal = this.state.modal;\r\n //Load Spinner\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n\r\n sessionStorage.setItem('DepotHistoryView', '0' ) \r\n\r\n var newDate = new Date();\r\n var pdate = new Date();\r\n pdate.setDate(pdate.getDate() - 45);\r\n\r\n this.state.checkfields.checkid = false;\r\n\r\n\r\n let depotOrdersController = new DepotOrdersController();\r\n depotOrdersController.getDepotPendingOrders().then(jsonDepotOrders => {\r\n this.setState({\r\n deptOrdGrid: JSON.parse(JSON.stringify(jsonDepotOrders)), loading: false\r\n });\r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading in search product\")\r\n });\r\n\r\n // let DU\r\n // DU = sessionStorage.getItem(\"DepotUpdateView\") \r\n // sessionStorage.setItem('DepotUpdateView', '0' ) \r\n // if ( DU==='1')\r\n // {\r\n // this.setState({ \r\n // deptOrdGrid: JSON.parse(sessionStorage.getItem('DepotUpdate') || \"\") \r\n // });\r\n // }\r\n\r\n modal = this.state.modal;\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n\r\n }\r\n\r\n handleCheckChange = (key, e: any) => {\r\n let fields = this.state.fields;\r\n var orderItem: Array<{ \"Billable\": string; \"Order_Id\": string; }>\r\n if (e.currentTarget.checked) {\r\n fields[\"isActive\"][key] = true;\r\n fields[\"OrderId\"] = e.currentTarget.value;\r\n\r\n }\r\n else {\r\n fields[\"isActive\"][key] = false;\r\n fields[\"OrderId\"] = \"\"\r\n }\r\n\r\n if (e.target.checked) {\r\n\r\n this.setState({\r\n orderItem: [...this.state.orderItem, e.target.value],\r\n }, () => {\r\n //alert(this.state.orderItem)\r\n });\r\n }\r\n else {\r\n let remove = this.state.orderItem.indexOf(e.target.value);\r\n this.setState({\r\n orderItem: this.state.orderItem.filter((_, i) => i !== remove)\r\n },\r\n () => {\r\n // alert(this.state.orderItem)\r\n }\r\n );\r\n }\r\n\r\n this.setState({\r\n fields\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n onSubmit = (e: any) => {\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n\r\n\r\n if (this.state.orderItem.length == 0) {\r\n alert(\"Please select atleast one order\")\r\n }\r\n\r\n else {\r\n\r\n const r = window.confirm(\"Do you really want to Cancel Order?\");\r\n if (r == true) {\r\n\r\n var data = {\r\n userName: \"dkass\",\r\n orderItem: this.state.orderItem\r\n }\r\n\r\n let depotOrdersController = new DepotOrdersController();\r\n depotOrdersController.cancelPendingOrders(data).then(response => {\r\n if (response.success) {\r\n //this.props.history.push('/admin/depot_pending_orders');\r\n window.location.reload(false);\r\n }\r\n }).catch(error => {\r\n this.setState({ errMsg: \"Cancel Depot Order Failed\" });\r\n })\r\n }\r\n\r\n }\r\n\r\n this.setState({ loading: false });\r\n\r\n }\r\n\r\n\r\n getItemInfo = (item) => {\r\n \r\n if (item == \"1\") {\r\n return \"Clean\";\r\n }\r\n else {\r\n return \"\"\r\n }\r\n };\r\n\r\n displayTableRecord = () => {\r\n let stateCnt: number = this.state.deptOrdGrid.length;\r\n \r\n\r\n if (stateCnt > 0) {\r\n return this.state.deptOrdGrid.map((prop, key) => {\r\n return \r\n \r\n this.handleCheckChange(key, e)} value={prop[\"Order_Id\"]} />\r\n \r\n \r\n {prop[\"Request_Date\"]}\r\n {prop[\"Ship_Method\"] === \"2nd Day Air\" ? \" 2nd Day Air\" : \"\"} \r\n {prop[\"Ship_Method\"] === \"Overnight\" ? \" Overnight\" : \"\"} \r\n \r\n \r\n \r\n {prop[\"Order_Id\"]}\r\n \r\n \r\n {prop[\"Billable\"] === \"1\" ? \" Billable\" : \"\"} \r\n {prop[\"Material\"] === \"1\" ? \" Clean\" : \"\"} \r\n {prop[\"NTBillable\"] === \"1\" ? \" NonBillable Transfer\" : \"\"} \r\n\r\n \r\n {prop[\"ShipToName\"]}\r\n {prop[\"Name\"]}\r\n {prop[\"StatusDesc\"]}\r\n \r\n })\r\n }\r\n else {\r\n return Record not found\r\n }\r\n }\r\n render() {\r\n const { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"0 0 0 0\"\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

Depot Order Update

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.displayTableRecord()}\r\n \r\n
SelectRequest DateOrder IdShip toAttentionStatus
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button, Navbar, Nav } from \"react-bootstrap\";\r\nimport { History, LocationState } from \"History\";\r\nimport { UserViewController } from \"../../../Controllers/UserViewController\"\r\nimport { format } from 'date-fns'\r\nimport { NavLink } from 'react-router-dom'\r\nimport '../../../assets/css/CreateOrder.css'\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\"\r\nimport DatePicker from 'react-datepicker';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css'\r\nimport '../../../assets/css/Style.css'\r\nimport { DepotHistoryParameter, Istate } from \"../../../Model/DepotOrderHistory\";\r\nimport { DepotOrdersController } from \"../../../Controllers/DepotOrdersController\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { FormModalSpinner } from \"../../CustomComponents/FormModalSpinner\";\r\n\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n\r\nexport class DepotOrderHistory extends Component {\r\n constructor(props: DepotHistoryParameter) {\r\n\r\n super(props)\r\n this.state = {\r\n fields: { find: '', searchType: '', checkid: '', searchText: '', filter: '', startDate: \"\", endDate: \"\" },\r\n selectfields: { search_field: '', },\r\n errors: { find: '', searchType: '', checkid: '' },\r\n errMsg: \"\",\r\n todayDate: \"\",\r\n previousdate: \"\",\r\n Order_id: \"\",\r\n goodsReq: \"\",\r\n loading: false,\r\n selectedDate: '2017-08-13',\r\n hidediv: false,\r\n startDate: \"\",\r\n endDate: \"\",\r\n SearchGrid: [],\r\n SearchGridExp: [],\r\n filter: \"\",\r\n modal: {modalSpinnerShow: false}\r\n }\r\n\r\n\r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n\r\n }\r\n\r\n handleSelectChange(e: any) {\r\n\r\n let selectfields = this.state.selectfields;\r\n let fields = this.state.fields;\r\n let SearchGrid = this.state.SearchGrid;\r\n \r\n //if (e.currentTarget.value === 'search_field') {\r\n if (e.currentTarget.value === \"Select Search Option\") {\r\n selectfields['search_field'] = \"\"\r\n fields['filter'] = '';\r\n SearchGrid = [];\r\n }\r\n else {\r\n selectfields['search_field'] = e.currentTarget.value;\r\n fields['filter'] = '';\r\n selectfields.search_field = e.currentTarget.value;\r\n this.state.fields.filter = '';\r\n SearchGrid = [];\r\n\r\n }\r\n // }\r\n\r\n // selectfields.search_field = e.currentTarget.value;\r\n // this.state.fields.filter = '';\r\n\r\n this.setState({\r\n selectfields\r\n });\r\n\r\n this.setState({\r\n fields\r\n });\r\n\r\n this.setState(\r\n {\r\n SearchGrid \r\n }\r\n )\r\n\r\n\r\n }\r\n\r\n handleChange(e: any) {\r\n let fields = this.state.fields;\r\n if (e.currentTarget.value.trim().length > 0)\r\n {\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n fields.filter = e.currentTarget.value;\r\n }\r\n else\r\n {\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n fields.filter = e.currentTarget.value;\r\n }\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n let fields = this.state.fields;\r\n let modal = this.state.modal;\r\n \r\n var newDate = new Date();\r\n var pdate = new Date();\r\n newDate.setDate(newDate.getDate() - 1);\r\n // pdate.setDate(pdate.getDate() + 1);\r\n fields['startDate'] = format(newDate, 'MM/dd/yyyy');\r\n fields['endDate'] = format(pdate, 'MM/dd/yyyy')\r\n\r\n // this.state.startDate = format(newDate, 'dd/MM/yyyy');\r\n this.setState({\r\n hidediv: false, fields\r\n }); \r\n\r\n let DH\r\n DH = sessionStorage.getItem(\"DepotHistoryView\") \r\n sessionStorage.setItem('DepotHistoryView', '0' ) \r\n if (DH==='1'){\r\n this.setState({ \r\n SearchGrid: JSON.parse(sessionStorage.getItem('DepotHistory') || \"\") \r\n });\r\n this.setState({ \r\n SearchGridExp: JSON.parse(sessionStorage.getItem('DepotHistoryExport') || \"\") \r\n })\r\n var temps = Date.parse(sessionStorage.getItem('startDate') || \"\")\r\n var tempe = Date.parse(sessionStorage.getItem('endDate') || \"\")\r\n if(sessionStorage.getItem('startDate') != '' && sessionStorage.getItem('endDate') != '' ){\r\n fields['startDate'] = format(temps, 'MM/dd/yyyy');\r\n fields['endDate'] = format(tempe, 'MM/dd/yyyy');\r\n }\r\n }\r\n }\r\n\r\n onSubmit = (e: any) => {\r\n e.preventDefault();\r\n \r\n var fromdate;\r\n var todate;\r\n let modal = this.state.modal;\r\n //modal['modalSpinnerShow']=true;\r\n //this.setState({ modal });\r\n\r\n if (this.state.startDate == '') {\r\n fromdate = this.state.fields.startDate;\r\n }\r\n else if (this.state.startDate == null) {\r\n // fromdate = format(this.state.startDate, 'MM/dd/yyyy');\r\n fromdate = this.state.fields.startDate;\r\n }\r\n else {\r\n fromdate = format(this.state.startDate, 'MM/dd/yyyy');\r\n }\r\n\r\n if (this.state.endDate == '') {\r\n todate = this.state.fields.endDate;\r\n }\r\n else if (this.state.endDate == null) {\r\n todate = this.state.fields.endDate;\r\n }\r\n else {\r\n // todate = format(this.state.endDate, 'MM/dd/yyyy');\r\n todate = format(this.state.endDate, 'MM/dd/yyyy');\r\n }\r\n\r\n if (this.state.fields.filter != '') {\r\n fromdate = '';\r\n todate = '';\r\n }\r\n\r\n if (this.state.selectfields.search_field == 'order_id') {\r\n fromdate = '';\r\n todate = '';\r\n }\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n \r\n this.setState({ loading: true });\r\n var data = {\r\n search_field: this.state.selectfields.search_field,\r\n filter: this.state.fields.filter,\r\n startDate: fromdate,\r\n endDate: todate\r\n\r\n }\r\n\r\n let depotsearchController = new DepotOrdersController();\r\n depotsearchController.getDepotHistory(data).then(jsonDepotHistory => {\r\n this.setState({\r\n SearchGrid: JSON.parse(JSON.stringify(jsonDepotHistory)), loading: false\r\n });\r\n sessionStorage.setItem('DepotHistory', JSON.stringify(jsonDepotHistory))\r\n sessionStorage.setItem('startDate', fromdate)\r\n sessionStorage.setItem('endDate', todate)\r\n this.setState({ loading: false });\r\n \r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading in search product\")\r\n });\r\n \r\n depotsearchController.getDepotHistoryExport(data).then(jsonDepotHistoryExport => {\r\n this.setState({\r\n SearchGridExp: JSON.parse(JSON.stringify(jsonDepotHistoryExport)), loading: false\r\n });\r\n sessionStorage.setItem('DepotHistoryExport', JSON.stringify(jsonDepotHistoryExport))\r\n // sessionStorage.setItem('startDate', fromdate)\r\n // sessionStorage.setItem('endDate', todate)\r\n // this.setState({ loading: false });\r\n \r\n \r\n }).catch(error => {\r\n this.setState({ loading: false });\r\n console.error(\"There was an error loading in search product\")\r\n });\r\n\r\n this.setState({\r\n hidediv: false \r\n });\r\n \r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n \r\n }\r\n\r\n handleChangeStartDate = date => {\r\n \r\n\r\n this.setState({\r\n startDate: date\r\n });\r\n };\r\n\r\n handleChangeEndDate = date => {\r\n \r\n this.setState({\r\n endDate: date\r\n });\r\n };\r\n\r\n displayOrderItemsTable = () => {\r\n let selection_id = this.state.selectfields.search_field\r\n\r\n if (selection_id === 'selection_id') {\r\n return this.displayHeaderSelectionID();\r\n }\r\n else { \r\n return this.displayHeaderNonSelectionID();\r\n }\r\n\r\n }\r\n \r\n displayHeaderSelectionID = () => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n\r\n }\r\n displayHeaderNonSelectionID = () => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n\r\n }\r\n\r\n\r\n getItemInfo = (item) => {\r\n \r\n if (item == \"1\") {\r\n return \"Clean\";\r\n }\r\n else {\r\n return \"\"\r\n }\r\n };\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"0 0 0 0\"\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

Depot History

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fields for Date Between\r\n \r\n \r\n \r\n \r\n \r\n and\r\n \r\n \r\n \r\n \r\n \r\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.selectfields.search_field ==='selection_id'\r\n ? \r\n Export to Excel}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n Export to Excel}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } \r\n \r\n \r\n {this.displayOrderItemsTable()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component, CSSProperties } from \"react\";\r\nimport { FormLabel, FormGroup, Container, Row, Col, Form, Navbar, Nav, Alert, Button, Card, CardGroup, FormControl, Modal, Table } from \"../../../../node_modules/react-bootstrap\";\r\n//import {Card} from '../../CustomComponents/Card';\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\nimport { FormInputSearch } from '../../CustomComponents/FormInputSearch';\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { FormSelectSearch } from '../../CustomComponents/FormSelectSearch';\r\nimport { FormLabelField } from '../../CustomComponents/FormLabelField';\r\nimport { ViewOrderController } from \"../../../Controllers/ViewOrderController\"\r\nimport jsonState from '../../../json/State.json';\r\nimport { CommonController } from '../../../Controllers/CommonController';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/Style.css';\r\nimport { FormCheckBox } from '../../CustomComponents/FormCheckBox';\r\nimport { Redirect, NavLink } from 'react-router-dom';\r\nimport { DepotOrderUpdateViewParameter, Istate } from \"../../../Model/DepotOrderUpdateView\";\r\nimport { DepotOrdersController } from \"../../../Controllers/DepotOrdersController\";\r\nimport {alert} from 'react-bootstrap-confirmation';\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\n\r\nexport class DepotOrderUpdateView extends Component\r\n{\r\n constructor(props: DepotOrderUpdateViewParameter) {\r\n super(props) \r\n \r\n this.state = {\r\n lblFields: {\r\n Order_Id: '', Alias: '', Process_Name: '', ArriveBy: '', BusinessUnit: '', SpecialInstructions: '', Reason: '', DepotComments: '', LegacyOrder: '',\r\n Status_Id: '', DateShipped: '', ShipTrackNo: '', Name: '', ShipToName: '', AddressLineOne: '', AddressLineTwo: '', City: '', State: '',\r\n Zip: '', Country: '', Phone: '', Requestor_Weight: '', Approver_Id: '', Approval_Date: '', Request_Date: '', ApproverComments: '',\r\n Label_Id: '', Super_Label_Id: '', IP_Address: '', Material: false, Date_Processed: '', Depot_Id: '', Department: '', ApproveBy_Clean: '', ApproveBy_Overnight: '',\r\n Overnight: '', CustomerNumber: '', RecordLock: '', Depot_Printer: '', Depot_Printer_Date: '', Ship_Method: '', Billable: false, Created: '',\r\n account_no: '', freight_billing_info: '', alias_Email: '', alias_phone: '', StatusDesc: '', status_id: '', Recordlabel_Id: '', ntbillablet: false,legacyordertxt: '', comments: ''\r\n },\r\n lblApproverFields: { approver_Alias: '', approver_Name: '', sales_type: '', alias_Name: '', bill_to_name: '', bill_to_address: '', bill_to_city_state_zip: '' },\r\n errors: {},\r\n errMsg: \"\",\r\n Order_id: \"\",\r\n alias: \"\", \r\n lblNextApprover: \"\",\r\n lblPageTitle: \"\",\r\n salesType: \"\",\r\n requestDate: \"\",\r\n displayOrdDetListGrid: [],\r\n displayAppHistoryList: [],\r\n displayDepotHistoryList: [],\r\n loading: false,\r\n modal: {modalSpinnerShow: false}\r\n }\r\n }\r\n \r\n\r\n componentWillMount() {\r\n \r\n \r\n // sessionStorage.setItem('DepotUpdateView', '1' )\r\n sessionStorage.setItem('DepotHistoryView', '0' ) \r\n \r\n let modal = this.state.modal;\r\n //Load Spinner\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n \r\n let oId = \"\";\r\n if (this.props.location.state.Order_id != \"\") {\r\n oId = this.props.location.state.Order_id;\r\n }\r\n this.setState({ Order_id: oId })\r\n this.loadOrderData()\r\n \r\n }\r\n \r\n loadOrderData() {\r\n \r\n let viewOrderController = new ViewOrderController();\r\n let lblFields = this.state.lblFields;\r\n viewOrderController.getOrderSummary(this.props.location.state.Order_id).then(resOrderdata => {\r\n lblFields[\"Order_Id\"] = resOrderdata.Order_Id || \"\";\r\n lblFields[\"Alias\"] = resOrderdata.Alias || \"\";\r\n lblFields[\"Process_Name\"] = resOrderdata.Process_Name || \"\";\r\n lblFields[\"ArriveBy\"] = resOrderdata.ArriveBy || \"\";\r\n lblFields[\"BusinessUnit\"] = resOrderdata.BusinessUnit || \"\";\r\n lblFields[\"SpecialInstructions\"] = resOrderdata.SpecialInstructions || \"\";\r\n lblFields[\"Reason\"] = resOrderdata.Reason || \"\";\r\n lblFields[\"DepotComments\"] = resOrderdata.DepotComments || \"\";\r\n lblFields[\"LegacyOrder\"] = resOrderdata.LegacyOrder || \"\";\r\n lblFields[\"Status_Id\"] = resOrderdata.Status_Id || \"\";\r\n lblFields[\"DateShipped\"] = resOrderdata.DateShipped || \"\";\r\n lblFields[\"ShipTrackNo\"] = resOrderdata.ShipTrackNo || \"\";\r\n lblFields[\"Name\"] = resOrderdata.Name || \"\";\r\n lblFields[\"ShipToName\"] = resOrderdata.ShipToName || \"\";\r\n lblFields[\"AddressLineOne\"] = resOrderdata.AddressLineOne || \"\";\r\n lblFields[\"AddressLineTwo\"] = resOrderdata.AddressLineTwo || \"\";\r\n lblFields[\"City\"] = resOrderdata.City || \"\";\r\n lblFields[\"State\"] = resOrderdata.State || \"\";\r\n lblFields[\"Zip\"] = resOrderdata.Zip || \"\";\r\n lblFields[\"Country\"] = resOrderdata.Country || \"\";\r\n lblFields[\"Phone\"] = resOrderdata.Phone || \"\";\r\n lblFields[\"Requestor_Weight\"] = resOrderdata.Requestor_Weight || \"\";\r\n lblFields[\"Approver_Id\"] = resOrderdata.Approver_Id || \"\";\r\n lblFields[\"Approval_Date\"] = resOrderdata.Approval_Date || \"\";\r\n lblFields[\"Request_Date\"] = resOrderdata.Request_Date || \"\";\r\n lblFields[\"ApproverComments\"] = resOrderdata.ApproverComments || \"\";\r\n lblFields[\"Label_Id\"] = resOrderdata.Label_Id || \"\";\r\n lblFields[\"Super_Label_Id\"] = resOrderdata.Super_Label_Id || \"\";\r\n lblFields[\"IP_Address\"] = resOrderdata.IP_Address || \"\";\r\n lblFields[\"Material\"] = Boolean(Number(resOrderdata.Material));\r\n lblFields[\"Date_Processed\"] = resOrderdata.Date_Processed || \"\";\r\n lblFields[\"Depot_Id\"] = resOrderdata.Depot_Id || \"\";\r\n lblFields[\"Department\"] = resOrderdata.Department || \"\";\r\n lblFields[\"ApproveBy_Clean\"] = resOrderdata.ApproveBy_Clean || \"\";\r\n lblFields[\"ApproveBy_Overnight\"] = resOrderdata.ApproveBy_Overnight || \"\";\r\n lblFields[\"Overnight\"] = resOrderdata.Overnight || \"\";\r\n lblFields[\"CustomerNumber\"] = resOrderdata.CustomerNumber || \"\";\r\n lblFields[\"RecordLock\"] = resOrderdata.RecordLock || \"\";\r\n lblFields[\"Depot_Printer\"] = resOrderdata.Depot_Printer || \"\";\r\n lblFields[\"Depot_Printer_Date\"] = resOrderdata.Depot_Printer_Date || \"\";\r\n lblFields[\"Ship_Method\"] = resOrderdata.Ship_Method || \"\";\r\n lblFields[\"Billable\"] = Boolean(Number(resOrderdata.Billable));\r\n lblFields[\"Created\"] = resOrderdata.Created || \"\";\r\n lblFields[\"account_no\"] = resOrderdata.account_no || \"\";\r\n lblFields[\"freight_billing_info\"] = resOrderdata.freight_billing_info || \"\";\r\n lblFields[\"alias_Email\"] = resOrderdata.alias_Email || \"\";\r\n lblFields[\"alias_Name\"] = resOrderdata.alias_Name || \"\";\r\n lblFields[\"alias_phone\"] = resOrderdata.alias_phone || \"\";\r\n lblFields[\"StatusDesc\"] = resOrderdata.StatusDesc || \"\";\r\n lblFields[\"status_id\"] = resOrderdata.status_id || \"\";\r\n lblFields[\"Recordlabel_Id\"] = resOrderdata.Recordlabel_Id || \"\";\r\n lblFields[\"ntbillablet\"] = Boolean(Number(resOrderdata.ntbillablet));\r\n lblFields[\"sales_type\"] = resOrderdata.sales_type || \"\";\r\n lblFields[\"bill_to_name\"] = resOrderdata.bill_to_name || \"\";\r\n lblFields[\"bill_to_address\"] = resOrderdata.bill_to_address || \"\";\r\n lblFields[\"bill_to_city_state_zip\"] = resOrderdata.bill_to_city_state_zip || \"\";\r\n this.setState({ lblFields });\r\n\r\n if (this.state.lblFields[\"Country\"] == 'USA')\r\n {\r\n this.state.lblFields[\"comments\"] = ''\r\n }\r\n else\r\n {\r\n this.state.lblFields[\"comments\"] = ''\r\n }\r\n this.setState({ lblFields });\r\n\r\n this.loadApproverData()\r\n }).catch(error => {\r\n \r\n })\r\n \r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handletextChange = this.handletextChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n \r\n }\r\n \r\n loadApproverData() {\r\n let viewOrderController = new ViewOrderController();\r\n let depotOrderController = new DepotOrdersController();\r\n let lblApproverFields = this.state.lblApproverFields;\r\n var data = {\r\n Order_ID: this.props.location.state.Order_id\r\n }\r\n depotOrderController.getDepotNextApprover(this.props.location.state.Order_id).then(resNxtApproverdata => {\r\n // depotOrderController.getNextApprover(data).then(jsonNxtAppr => {\r\n let approver = \"\";\r\n approver = resNxtApproverdata.Approver\r\n lblApproverFields[\"approver_Alias\"] = resNxtApproverdata.alias || \"\";\r\n lblApproverFields[\"approver_Name\"] = resNxtApproverdata.Approver || \"\";\r\n \r\n let lblNextApprover = \"\"\r\n lblNextApprover = this.state.lblFields.StatusDesc + \" (\" + approver + \" )\"\r\n this.loadLabelData()\r\n this.loadOrdDetails()\r\n this.loadApprovalHistory()\r\n this.loadDepotHistory()\r\n this.setState({ lblNextApprover: lblNextApprover });\r\n this.setState({ lblApproverFields });\r\n \r\n \r\n }).catch(error => {\r\n \r\n })\r\n \r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n \r\n }\r\n \r\n loadLabelData() {\r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n var str = this.state.lblFields.sales_type\r\n var salesType = str.split(\" \");\r\n this.setState({ salesType: salesType[0] })\r\n var dateString = this.state.lblFields.Request_Date\r\n var date = new Date(dateString);\r\n \r\n var curr_date = date.getDate();\r\n var curr_month = date.getMonth() + 1; //Months are zero based\r\n var curr_year = date.getFullYear();\r\n var reqDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n this.setState({ requestDate: date.toLocaleString() })\r\n if (billable) {\r\n this.setState({ lblPageTitle: \"BILLABLE ORDER REQUEST FORM\" })\r\n //sProcessName=dataSet.spGetOrderSummary[0].Process_Name;\r\n }\r\n else if (!billable && !ntBillable) {\r\n this.setState({ lblPageTitle: \"FREE GOODS REQUEST FORM\" })\r\n //this place needs to be change\r\n }\r\n else {\r\n this.setState({ lblPageTitle: \"NON BILLABLE TRANSFER FORM\" })\r\n }\r\n if (str === '66 Ticket Bundling')\r\n {\r\n this.setState({ lblPageTitle: \"Ticket Bundling\" })\r\n }\r\n if (str === '89 Sales Type')\r\n {\r\n this.setState({ lblPageTitle: \"D2C FORM\" })\r\n }\r\n\r\n\r\n }\r\n \r\n loadOrdDetails() {\r\n let depotsearchController = new DepotOrdersController();\r\n depotsearchController.getDepotOrderDetail(this.props.location.state.Order_id).then(jsonOrdDetList => {\r\n this.setState({\r\n displayOrdDetListGrid: JSON.parse(JSON.stringify(jsonOrdDetList))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Order Details\")\r\n })\r\n }\r\n \r\n loadApprovalHistory() {\r\n let viewOrderController = new ViewOrderController();\r\n viewOrderController.getApprovalHistory(this.props.location.state.Order_id).then(jsonAppHisList => {\r\n this.setState({\r\n displayAppHistoryList: JSON.parse(JSON.stringify(jsonAppHisList))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n }\r\n \r\n loadDepotHistory() {\r\n \r\n let viewOrderController = new ViewOrderController();\r\n viewOrderController.getOrderDepotHistory(this.props.location.state.Order_id).then(jsonDepotHisList => {\r\n this.setState({\r\n displayDepotHistoryList: JSON.parse(JSON.stringify(jsonDepotHisList))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n }\r\n \r\n handletextChange (e: any) {\r\n let lblFields = this.state.lblFields;\r\n \r\n if (e.currentTarget.id === \"legacyordertxt\")\r\n {\r\n lblFields.legacyordertxt = e.currentTarget.value; \r\n \r\n }\r\n else if (e.currentTarget.id === \"comments\")\r\n {\r\n lblFields.comments = e.currentTarget.value;\r\n }\r\n \r\n this.setState({\r\n lblFields\r\n })\r\n //alert(lblFields)\r\n \r\n }\r\n \r\n handleSelectChange = (item, e: any) => {\r\n let lblFields = this.state.displayOrdDetListGrid;\r\n item[\"ItemException\"] = e.currentTarget.value\r\n this.setState({\r\n lblFields\r\n })\r\n \r\n }\r\n \r\n onSubmit = (e: any) => {\r\n this.setState({ loading: true });\r\n \r\n var legacyorder\r\n var Comments\r\n var orderid\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n \r\n legacyorder = this.state.lblFields.legacyordertxt\r\n Comments = this.state.lblFields.comments\r\n orderid = this.state.lblFields.Order_Id \r\n \r\n let depotOrdersController = new DepotOrdersController();\r\n \r\n if (StatusDesc === 'Depot Pending')\r\n {\r\n if (legacyorder === '')\r\n {\r\n alert('Legacy Order Number is required!')\r\n }\r\n else\r\n {\r\n \r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id,\r\n depotCmts : this.state.lblFields.comments,\r\n legacyOrder : this.state.lblFields.legacyordertxt \r\n \r\n }\r\n \r\n depotOrdersController.depotProcessOrder(depot).then(response => {\r\n if (response.success) {\r\n \r\n alert('Depot Order has been processed');\r\n this.props.history.push('depot_history');\r\n }\r\n }).catch(error => {\r\n \r\n })\r\n }\r\n }\r\n else if (StatusDesc === 'Depot Processed')\r\n {\r\n if(Comments === '')\r\n {\r\n alert('Comments are required!')\r\n }\r\n else\r\n {\r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id,\r\n depotCmts : this.state.lblFields.comments,\r\n legacyOrder : this.state.lblFields.legacyordertxt \r\n \r\n }\r\n depotOrdersController.depotProcessOrder(depot).then(response => {\r\n if (response.success) {\r\n alert('Depot Order has been processed');\r\n this.props.history.push('depot_history');\r\n }\r\n }).catch(error => {\r\n \r\n })\r\n }\r\n \r\n }\r\n \r\n else\r\n {\r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id,\r\n depotCmts :this.state.lblFields.comments,\r\n legacyOrder : this.state.lblFields.legacyordertxt\r\n \r\n }\r\n \r\n depotOrdersController.depotProcessOrder(depot).then(response => {\r\n if (response.success) {\r\n alert('Depot Order has been Hold');\r\n this.props.history.push('depot_history');\r\n }\r\n }).catch(error => {\r\n \r\n })\r\n \r\n this.setState({ loading: false });\r\n \r\n }\r\n \r\n this.depotEmailRequestor();\r\n \r\n }\r\n \r\n loadShipTo() {\r\n return (\r\n
\r\n

{this.state.lblFields.Name}

\r\n

{this.state.lblFields.ShipToName}

\r\n

{this.state.lblFields.AddressLineOne}

\r\n

{this.state.lblFields.AddressLineTwo}

\r\n

{this.state.lblFields.City} {this.state.lblFields.State} {this.state.lblFields.Zip}

\r\n

{this.state.lblFields.Country}

\r\n

{this.state.lblFields.Phone}

\r\n
\r\n );\r\n }\r\n \r\n loadBillTo() {\r\n return (\r\n
\r\n

{this.state.lblFields.bill_to_name}

\r\n

{this.state.lblFields.bill_to_address}

\r\n

{this.state.lblFields.bill_to_city_state_zip}

\r\n
\r\n );\r\n }\r\n \r\n orderedBy(){\r\n return (\r\n
\r\n

{this.state.lblFields.alias_Name}

\r\n

{this.state.lblFields.Label_Id}

\r\n

{this.state.lblFields.alias_phone}

\r\n {this.state.lblFields.alias_Email}\r\n\r\n
\r\n );\r\n }\r\n \r\n displayItemException = (prop, key) => {\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 displayOrderItemsTable = () => {\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n \r\n if (StatusDesc === 'Depot Pending') {\r\n return this.displayNonBillableOrderTable();\r\n \r\n }\r\n else {\r\n return this.displayBillableOrderTable();\r\n }\r\n \r\n }\r\n \r\n displayDepotstatusText =() => {\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n \r\n // if (StatusDesc === 'Depot Pending' || StatusDesc === 'Depot Processed' ) {\r\n return this.displayDepotPendingtext(); \r\n //}\r\n \r\n }\r\n \r\n displayDepotstatusButton =() => {\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n \r\n // if (StatusDesc === 'Depot Pending'|| StatusDesc === 'Depot Processed' ) {\r\n return this.orderItemsTableForButton(); \r\n //}\r\n\r\n }\r\n \r\n \r\n \r\n depotEmailRequestor()\r\n {\r\n \r\n var orderDetail : string = \"\"; \r\n var sTo: string = \"\";\r\n var sBody: string = \"\";\r\n var sSubject: string = \"\";\r\n var sWebServer: string = \"\";\r\n \r\n \r\n let depotOrdersController = new DepotOrdersController();\r\n let viewOrderController = new ViewOrderController();\r\n \r\n \r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id \r\n \r\n }\r\n \r\n \r\n \r\n viewOrderController.getOrderSummary(this.props.location.state.Order_id).then(resOrderdata => {\r\n \r\n depotOrdersController.getDepotOrderItemDetail(depot).then(resOrderDetail =>{\r\n resOrderDetail.recordset.map((prop,key)=>{\r\n orderDetail += \"

\" + \"Selection: \" + prop[\"Selection_Id\"];\r\n orderDetail += \"
\" + \"Artist: \" + prop[\"Artist\"];\r\n orderDetail += \"
\" + \"Title: \" + prop[\"Title\"];\r\n orderDetail += \"
\" + \"Configuration: \" + prop[\"Configuration\"];\r\n orderDetail += \"
\" + \"Qty Req: \" + prop[\"Quantity_Requested\"]; \r\n orderDetail += \"
\" + \"Qty App: \" + prop[\"Quantity_Approved\"];\r\n \r\n })\r\n \r\n sTo = resOrderdata.alias_Email;\r\n if (sTo.length == 0) {\r\n sTo=\"egratis@umusic.com\";\r\n }\r\n \r\n sBody = \"Order #: \" + resOrderdata.Order_Id + \"
\";\r\n sBody = \"Legacy Order #: \" + resOrderdata.LegacyOrder + \"
\";\r\n sBody += \"Status: \" + resOrderdata.StatusDesc + \"
\";\r\n sBody += \"Ship To: \" + resOrderdata.Name+ \" at \" + resOrderdata.ShipToName + \"
\";\r\n sBody += \"Depot Comments: \" + resOrderdata.DepotComments+ \"
\";\r\n \r\n \r\n sBody += \"Thank you for using eGratis!\";\r\n \r\n sWebServer = window.location.hostname.toUpperCase();\r\n if (sWebServer==\"USUSH2KVWS11\")\tsSubject=\"(predev) \";\r\n if (sWebServer==\"USUSHWVIIS001\") sSubject=\"(dev) \";\r\n if (sWebServer==\"USUSHWVIIS002\") sSubject=\"(test) \";\r\n if (sWebServer==\"USUSH2KAP17\" || sWebServer==\"USUSHWVIIS010\") sSubject=\"(staging) \";\r\n \r\n \r\n depotOrdersController.sendEmail(\"egratis@umusic.com\", sTo, sSubject,sBody);\r\n \r\n }).catch(error =>{\r\n \r\n console.error('There was an error!', error);\r\n });\r\n \r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n \r\n \r\n \r\n }\r\n \r\n \r\n displayDepotPendingtext = () => {\r\n return \r\n \r\n {this.state.lblFields.StatusDesc === 'Depot Pending' ?\r\n \r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n orderItemsTableForButton = () => {\r\n const { loading } = this.state;\r\n \r\n return

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n \r\n displayBillableOrderTable = () => {\r\n const labelFont = {\r\n fontSize: \"5px\",\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 {(this.state.lblFields.Billable) ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n \r\n {this.state.displayOrdDetListGrid.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(this.state.lblFields.Billable) ?\r\n \r\n : \"\"}\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
Catalog #ArtistTitleConfigQtyPrice
{prop[\"Selection_Id\"]}{prop[\"Artist\"]}{prop[\"Title\"]}{prop[\"Configuration\"]}{prop[\"Quantity_Approved\"]} $ {prop[\"Price_Approved\"]}
\r\n \r\n
\r\n \r\n }\r\n \r\n displayNonBillableOrderTable = () => {\r\n const labelFont = {\r\n fontSize: \"5px\",\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 {(this.state.lblFields.Billable) ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n \r\n {this.state.displayOrdDetListGrid.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(this.state.lblFields.Billable) ?\r\n \r\n : \"\"}\r\n \r\n \r\n )\r\n })}\r\n \r\n
Catalog #ArtistTitleConfigQtyPrice
{prop[\"Selection_Id\"]}{prop[\"Artist\"]}{prop[\"Title\"]}{prop[\"Configuration\"]}{prop[\"Quantity_Approved\"]} $ {prop[\"Price_Approved\"]}
\r\n \r\n \r\n
\r\n }\r\n \r\n \r\n convertDateTimeFormat = (item) => {\r\n var dt = item[\"CreateDateTime\"];\r\n var date = new Date(dt);\r\n \r\n if (date.toLocaleString() !== 'Invalid Date')\r\n {\r\n return date.toLocaleString();\r\n }\r\n }\r\n \r\n convertApprDateTimeFormat = (item) => {\r\n var dt = item[\"ApprovalDateTime\"];\r\n var date = new Date(dt);\r\n \r\n if (date.toLocaleString() !== 'Invalid Date')\r\n {\r\n return date.toLocaleString();\r\n }\r\n \r\n }\r\n \r\n render() {\r\n \r\n const bottomBorder = {\r\n borderBottom: \"1px solid rgb(212, 212, 212)\"\r\n };\r\n const labelFont = {\r\n fontSize: \"5px\",\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 {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Approvers:\r\n {this.state.displayAppHistoryList.map((prop, key) => {\r\n return (\r\n \r\n {this.convertApprDateTimeFormat(prop)} : {prop[\"Approver\"]}\r\n \r\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.salesType}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Bill To:\r\n {this.loadBillTo()}\r\n \r\n \r\n Ship To:\r\n {this.loadShipTo()}\r\n \r\n \r\n Ordered By:\r\n {this.orderedBy()}\r\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.lblFields.Billable) ?\r\n \r\n \r\n :''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.displayOrderItemsTable()}\r\n {this.displayDepotstatusText()}\r\n {this.displayDepotstatusButton()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {new Variables().thDepotHistoryList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayDepotHistoryList.map((prop, key) => { \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ) \r\n })} \r\n \r\n
{prop}
{this.convertDateTimeFormat(prop)}{prop[\"Notes\"]}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {new Variables().thApproverList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayAppHistoryList.map((prop, key) => { \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
{prop}
{prop[\"ApproverType\"]}{prop[\"Approver\"]}{this.convertApprDateTimeFormat(prop)}{prop[\"Notes\"]}
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n}\r\n","import React, { Component, CSSProperties } from \"react\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button, Navbar, Nav, FormText } from \"react-bootstrap\";\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport { FormLabelField } from '../../CustomComponents/FormLabelField';\r\nimport { NavLink, withRouter } from 'react-router-dom';\r\nimport '../../../assets/css/Style.css'\r\nimport '../../../assets/css/ViewOrder.css'\r\nimport { ViewOrderController } from \"../../../Controllers/ViewOrderController\"\r\nimport { DepotOrderHistoryViewParameter, Istate } from \"../../../Model/DepotOrderHistoryView\";\r\nimport { FormInputs } from \"../../CustomComponents/FormInput\";\r\nimport { DepotOrdersController } from \"../../../Controllers/DepotOrdersController\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class DepotOrderHistoryView extends Component {\r\n constructor(props: DepotOrderHistoryViewParameter) {\r\n super(props)\r\n this.state = {\r\n lblFields: {\r\n Order_Id: '', Alias: '', Process_Name: '', ArriveBy: '', BusinessUnit: '', SpecialInstructions: '', Reason: '', DepotComments: '', LegacyOrder: '',\r\n Status_Id: '', DateShipped: '', ShipTrackNo: '', Name: '', ShipToName: '', AddressLineOne: '', AddressLineTwo: '', City: '', State: '',\r\n Zip: '', Country: '', Phone: '', Requestor_Weight: '', Approver_Id: '', Approval_Date: '', Request_Date: '', ApproverComments: '',\r\n Label_Id: '', Super_Label_Id: '', IP_Address: '', Material: false, Date_Processed: '', Depot_Id: '', Department: '', ApproveBy_Clean: '', ApproveBy_Overnight: '',\r\n Overnight: '', CustomerNumber: '', RecordLock: '', Depot_Printer: '', Depot_Printer_Date: '', Ship_Method: '', Billable: false, Created: '',\r\n account_no: '', freight_billing_info: '', alias_Email: '', alias_phone: '', StatusDesc: '', status_id: '', Recordlabel_Id: '', ntbillablet: false,legacyordertxt: '', comments: ''\r\n },\r\n lblApproverFields: { approver_Alias: '', approver_Name: '', sales_type: '', alias_Name: '', bill_to_name: '', bill_to_address: '', bill_to_city_state_zip: '' },\r\n errors: {},\r\n errMsg: \"\",\r\n Order_id: \"\",\r\n alias: \"\",\r\n lblNextApprover: \"\",\r\n lblPageTitle: \"\",\r\n salesType: \"\",\r\n requestDate: \"\",\r\n displayOrdDetListGrid: [],\r\n displayAppHistoryList: [],\r\n displayDepotHistoryList: [],\r\n displayNxtLevelApprover:[],\r\n loading: false,\r\n modal: {modalSpinnerShow: false}\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n \r\n\r\n sessionStorage.setItem('DepotHistoryView', '1' )\r\n\r\n let modal = this.state.modal;\r\n //Load Spinner\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n\r\n let oId = \"\";\r\n if (this.props.location.state.Order_id != \"\") {\r\n oId = this.props.location.state.Order_id;\r\n }\r\n this.setState({ Order_id: oId })\r\n this.loadOrderData()\r\n\r\n }\r\n\r\n loadOrderData() {\r\n \r\n let viewOrderController = new ViewOrderController();\r\n let lblFields = this.state.lblFields;\r\n viewOrderController.getOrderSummary(this.props.location.state.Order_id).then(resOrderdata => {\r\n lblFields[\"Order_Id\"] = resOrderdata.Order_Id || \"\";\r\n lblFields[\"Alias\"] = resOrderdata.Alias || \"\";\r\n lblFields[\"Process_Name\"] = resOrderdata.Process_Name || \"\";\r\n lblFields[\"ArriveBy\"] = resOrderdata.ArriveBy || \"\";\r\n lblFields[\"BusinessUnit\"] = resOrderdata.BusinessUnit || \"\";\r\n lblFields[\"SpecialInstructions\"] = resOrderdata.SpecialInstructions || \"\";\r\n lblFields[\"Reason\"] = resOrderdata.Reason || \"\";\r\n lblFields[\"DepotComments\"] = resOrderdata.DepotComments || \"\";\r\n lblFields[\"LegacyOrder\"] = resOrderdata.LegacyOrder || \"\";\r\n lblFields[\"Status_Id\"] = resOrderdata.Status_Id || \"\";\r\n lblFields[\"DateShipped\"] = resOrderdata.DateShipped || \"\";\r\n lblFields[\"ShipTrackNo\"] = resOrderdata.ShipTrackNo || \"\";\r\n lblFields[\"Name\"] = resOrderdata.Name || \"\";\r\n lblFields[\"ShipToName\"] = resOrderdata.ShipToName || \"\";\r\n lblFields[\"AddressLineOne\"] = resOrderdata.AddressLineOne || \"\";\r\n lblFields[\"AddressLineTwo\"] = resOrderdata.AddressLineTwo || \"\";\r\n lblFields[\"City\"] = resOrderdata.City || \"\";\r\n lblFields[\"State\"] = resOrderdata.State || \"\";\r\n lblFields[\"Zip\"] = resOrderdata.Zip || \"\";\r\n lblFields[\"Country\"] = resOrderdata.Country || \"\";\r\n lblFields[\"Phone\"] = resOrderdata.Phone || \"\";\r\n lblFields[\"Requestor_Weight\"] = resOrderdata.Requestor_Weight || \"\";\r\n lblFields[\"Approver_Id\"] = resOrderdata.Approver_Id || \"\";\r\n lblFields[\"Approval_Date\"] = resOrderdata.Approval_Date || \"\";\r\n lblFields[\"Request_Date\"] = resOrderdata.Request_Date || \"\";\r\n lblFields[\"ApproverComments\"] = resOrderdata.ApproverComments || \"\";\r\n lblFields[\"Label_Id\"] = resOrderdata.Label_Id || \"\";\r\n lblFields[\"Super_Label_Id\"] = resOrderdata.Super_Label_Id || \"\";\r\n lblFields[\"IP_Address\"] = resOrderdata.IP_Address || \"\";\r\n lblFields[\"Material\"] = Boolean(Number(resOrderdata.Material));\r\n lblFields[\"Date_Processed\"] = resOrderdata.Date_Processed || \"\";\r\n lblFields[\"Depot_Id\"] = resOrderdata.Depot_Id || \"\";\r\n lblFields[\"Department\"] = resOrderdata.Department || \"\";\r\n lblFields[\"ApproveBy_Clean\"] = resOrderdata.ApproveBy_Clean || \"\";\r\n lblFields[\"ApproveBy_Overnight\"] = resOrderdata.ApproveBy_Overnight || \"\";\r\n lblFields[\"Overnight\"] = resOrderdata.Overnight || \"\";\r\n lblFields[\"CustomerNumber\"] = resOrderdata.CustomerNumber || \"\";\r\n lblFields[\"RecordLock\"] = resOrderdata.RecordLock || \"\";\r\n lblFields[\"Depot_Printer\"] = resOrderdata.Depot_Printer || \"\";\r\n lblFields[\"Depot_Printer_Date\"] = resOrderdata.Depot_Printer_Date || \"\";\r\n lblFields[\"Ship_Method\"] = resOrderdata.Ship_Method || \"\";\r\n lblFields[\"Billable\"] = Boolean(Number(resOrderdata.Billable));\r\n lblFields[\"Created\"] = resOrderdata.Created || \"\";\r\n lblFields[\"account_no\"] = resOrderdata.account_no || \"\";\r\n lblFields[\"freight_billing_info\"] = resOrderdata.freight_billing_info || \"\";\r\n lblFields[\"alias_Email\"] = resOrderdata.alias_Email || \"\";\r\n lblFields[\"alias_Name\"] = resOrderdata.alias_Name || \"\";\r\n lblFields[\"alias_phone\"] = resOrderdata.alias_phone || \"\";\r\n lblFields[\"StatusDesc\"] = resOrderdata.StatusDesc || \"\";\r\n lblFields[\"status_id\"] = resOrderdata.status_id || \"\";\r\n lblFields[\"Recordlabel_Id\"] = resOrderdata.Recordlabel_Id || \"\";\r\n lblFields[\"ntbillablet\"] = Boolean(Number(resOrderdata.ntbillablet));\r\n lblFields[\"sales_type\"] = resOrderdata.sales_type || \"\";\r\n lblFields[\"bill_to_name\"] = resOrderdata.bill_to_name || \"\";\r\n lblFields[\"bill_to_address\"] = resOrderdata.bill_to_address || \"\";\r\n lblFields[\"bill_to_city_state_zip\"] = resOrderdata.bill_to_city_state_zip || \"\";\r\n this.setState({ lblFields });\r\n\r\n if (this.state.lblFields[\"Country\"] == 'USA')\r\n {\r\n this.state.lblFields[\"comments\"] = ''\r\n }\r\n else\r\n {\r\n this.state.lblFields[\"comments\"] = ''\r\n }\r\n this.setState({ lblFields });\r\n\r\n this.loadApproverData()\r\n\r\n }).catch(error => {\r\n\r\n })\r\n\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handletextChange = this.handletextChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n\r\n }\r\n\r\n /*\r\n\r\n loadApproverData() {\r\n let viewOrderController = new ViewOrderController();\r\n let depotOrderController = new DepotOrdersController();\r\n let lblApproverFields = this.state.lblApproverFields;\r\n var data = {\r\n Order_ID: this.props.location.state.Order_id\r\n }\r\n depotOrderController.getDepotNextApprover(this.props.location.state.Order_id).then(resNxtApproverdata => {\r\n // depotOrderController.getNextApprover(data).then(jsonNxtAppr => {\r\n\r\n this.setState({ \r\n displayNxtLevelApprover : JSON.parse(JSON.stringify(resNxtApproverdata))\r\n });\r\n\r\n let approver = \"\";\r\n approver = resNxtApproverdata.Approver\r\n lblApproverFields[\"approver_Alias\"] = resNxtApproverdata.alias || \"\";\r\n lblApproverFields[\"approver_Name\"] = resNxtApproverdata.Approver || \"\";\r\n \r\n \r\n let lblNextApprover = \"\"\r\n this.state.displayNxtLevelApprover.map((prop, key) => { \r\n if(prop[\"Approver\"] != \"\")\r\n {\r\n if(approver === \"\")\r\n {\r\n approver = prop[\"Approver\"];\r\n }\r\n else\r\n {\r\n approver = approver + \",\" + prop[\"Approver\"];\r\n } \r\n } \r\n })\r\n\r\n lblNextApprover = this.state.lblFields.StatusDesc + \" (\" + approver + \" )\"\r\n\r\n\r\n this.loadLabelData()\r\n this.loadOrdDetails()\r\n this.loadApprovalHistory()\r\n this.loadDepotHistory()\r\n this.setState({ lblNextApprover: lblNextAppr[over });\r\n this.setState({ lblApproverFields });\r\n\r\n \r\n }).catch(error => {\r\n\r\n })\r\n\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n\r\n }\r\n\r\n*/\r\n\r\nloadApproverData() {\r\n let viewOrderController = new ViewOrderController();\r\n let depotOrderController = new DepotOrdersController();\r\n let lblApproverFields = this.state.lblApproverFields; \r\n let modal = this.state.modal; \r\n viewOrderController.getNextApprover(this.props.location.state.Order_id).then(jsonNxtApproverdata=>{\r\n \r\n this.setState({ \r\n displayNxtLevelApprover : JSON.parse(JSON.stringify(jsonNxtApproverdata))\r\n });\r\n \r\n let approver = \"\"; \r\n \r\n this.state.displayNxtLevelApprover.map((prop, key) => { \r\n if(prop[\"Approver\"] != \"\")\r\n { \r\n if(approver === \"\")\r\n {\r\n approver = prop[\"Approver\"];\r\n }\r\n else\r\n {\r\n \r\n approver = approver + \",\" + prop[\"Approver\"];\r\n } \r\n } \r\n }) \r\n \r\n let lblNextApprover = \"\"\r\n lblNextApprover = this.state.lblFields.StatusDesc + \" (\" + approver + \" )\"\r\n this.loadLabelData()\r\n \r\n this.setState({lblNextApprover :lblNextApprover}); \r\n this.setState({lblApproverFields});\r\n \r\n if(!this.state.displayNxtLevelApprover.length)\r\n {\r\n/**/ \r\n viewOrderController.getApprovalHistory(this.props.location.state.Order_id).then(jsonAppHisList=>{\r\n this.setState({ \r\n displayAppHistoryList : JSON.parse(JSON.stringify(jsonAppHisList))\r\n });\r\n viewOrderController.getOrderDetails(this.props.location.state.Order_id).then(jsonOrdDetList=>{\r\n this.setState({ \r\n displayOrdDetListGrid : JSON.parse(JSON.stringify(jsonOrdDetList))\r\n });\r\n viewOrderController.getOrderDepotHistory(this.props.location.state.Order_id).then(jsonDepotHisList=>{\r\n this.setState({ \r\n displayDepotHistoryList : JSON.parse(JSON.stringify(jsonDepotHisList))\r\n })\r\n \r\n //Stop Spinner\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n }).catch(error => {\r\n console.error(\"There was an error loading Order Details\")\r\n })\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n /* */ \r\n } \r\n else{\r\n this.loadOrdDetails()\r\n this.loadApprovalHistory()\r\n this.loadDepotHistory()\r\n }\r\n \r\n \r\n }).catch(error => {\r\n\r\n })\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n}\r\n\r\n\r\n\r\n loadLabelData() {\r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n var str = this.state.lblFields.sales_type\r\n var salesType = str.split(\" \");\r\n this.setState({ salesType: salesType[0] })\r\n var dateString = this.state.lblFields.Request_Date\r\n var date = new Date(dateString);\r\n\r\n var curr_date = date.getDate();\r\n var curr_month = date.getMonth() + 1; //Months are zero based\r\n var curr_year = date.getFullYear();\r\n var reqDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n this.setState({ requestDate: date.toLocaleString() })\r\n if (billable) {\r\n this.setState({ lblPageTitle: \"BILLABLE ORDER REQUEST FORM\" })\r\n //sProcessName=dataSet.spGetOrderSummary[0].Process_Name;\r\n }\r\n else if (!billable && !ntBillable) {\r\n this.setState({ lblPageTitle: \"FREE GOODS REQUEST FORM\" })\r\n //this place needs to be change\r\n }\r\n else {\r\n this.setState({ lblPageTitle: \"NON BILLABLE TRANSFER FORM\" })\r\n }\r\n if (str === '66 Ticket Bundling')\r\n {\r\n this.setState({ lblPageTitle: \"Ticket Bundling\" })\r\n }\r\n if (str === '89 Sales Type')\r\n {\r\n this.setState({ lblPageTitle: \"D2C FORM\" })\r\n }\r\n }\r\n\r\n loadOrdDetails() {\r\n let depotsearchController = new DepotOrdersController();\r\n depotsearchController.getDepotOrderDetail(this.props.location.state.Order_id).then(jsonOrdDetList => {\r\n this.setState({\r\n displayOrdDetListGrid: JSON.parse(JSON.stringify(jsonOrdDetList))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Order Details\")\r\n })\r\n }\r\n\r\n loadApprovalHistory() {\r\n let viewOrderController = new ViewOrderController();\r\n viewOrderController.getApprovalHistory(this.props.location.state.Order_id).then(jsonAppHisList => {\r\n this.setState({\r\n displayAppHistoryList: JSON.parse(JSON.stringify(jsonAppHisList))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n }\r\n\r\n loadDepotHistory() {\r\n \r\n let viewOrderController = new ViewOrderController();\r\n viewOrderController.getOrderDepotHistory(this.props.location.state.Order_id).then(jsonDepotHisList => {\r\n this.setState({\r\n displayDepotHistoryList: JSON.parse(JSON.stringify(jsonDepotHisList))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n }\r\n\r\n handletextChange (e: any) {\r\n let lblFields = this.state.lblFields;\r\n\r\n if (e.currentTarget.id === \"legacyordertxt\")\r\n {\r\n lblFields.legacyordertxt = e.currentTarget.value; \r\n \r\n }\r\n else if (e.currentTarget.id === \"comments\")\r\n {\r\n lblFields.comments = e.currentTarget.value;\r\n }\r\n\r\n this.setState({\r\n lblFields\r\n })\r\n //alert(lblFields)\r\n\r\n }\r\n\r\n handleSelectChange = (item, e: any) => {\r\n let lblFields = this.state.displayOrdDetListGrid;\r\n item[\"ItemException\"] = e.currentTarget.value\r\n this.setState({\r\n lblFields\r\n })\r\n \r\n}\r\n \r\n onSubmit = (e: any) => {\r\n this.setState({ loading: true });\r\n\r\n var legacyorder\r\n var Comments\r\n var orderid\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n\r\n legacyorder = this.state.lblFields.legacyordertxt\r\n Comments = this.state.lblFields.comments\r\n orderid = this.state.lblFields.Order_Id \r\n\r\n let depotOrdersController = new DepotOrdersController();\r\n\r\n if (StatusDesc === 'Depot Pending')\r\n {\r\n if (legacyorder === '')\r\n {\r\n alert('Legacy Order Number is required!')\r\n }\r\n else\r\n {\r\n \r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id,\r\n depotCmts : this.state.lblFields.comments,\r\n legacyOrder : this.state.lblFields.legacyordertxt \r\n \r\n }\r\n \r\n depotOrdersController.depotProcessOrder(depot).then(response => {\r\n if (response.success) {\r\n \r\n alert('Depot Order has been processed');\r\n this.props.history.push('depot_history');\r\n }\r\n }).catch(error => {\r\n\r\n })\r\n }\r\n }\r\n else if (StatusDesc === 'Depot Processed')\r\n {\r\n if(Comments === '')\r\n {\r\n alert('Comments are required!')\r\n }\r\n else\r\n {\r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id,\r\n depotCmts : this.state.lblFields.comments,\r\n legacyOrder : this.state.lblFields.legacyordertxt \r\n \r\n }\r\n depotOrdersController.depotProcessOrder(depot).then(response => {\r\n if (response.success) {\r\n alert('Depot Order has been processed');\r\n this.props.history.push('depot_history');\r\n }\r\n }).catch(error => {\r\n\r\n })\r\n }\r\n\r\n }\r\n\r\n else\r\n {\r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id,\r\n depotCmts :this.state.lblFields.comments,\r\n legacyOrder : this.state.lblFields.legacyordertxt\r\n \r\n }\r\n \r\n depotOrdersController.depotProcessOrder(depot).then(response => {\r\n if (response.success) {\r\n alert('Depot Order has been Hold');\r\n this.props.history.push('depot_history');\r\n }\r\n }).catch(error => {\r\n\r\n })\r\n\r\n this.setState({ loading: false });\r\n\r\n }\r\n\r\n this.depotEmailRequestor();\r\n\r\n }\r\n\r\n loadShipTo() {\r\n return (\r\n
\r\n

{this.state.lblFields.Name}

\r\n

{this.state.lblFields.ShipToName}

\r\n

{this.state.lblFields.AddressLineOne}

\r\n

{this.state.lblFields.AddressLineTwo}

\r\n

{this.state.lblFields.City} {this.state.lblFields.State} {this.state.lblFields.Zip}

\r\n

{this.state.lblFields.Country}

\r\n

{this.state.lblFields.Phone}

\r\n
\r\n );\r\n }\r\n\r\n loadBillTo() {\r\n return (\r\n
\r\n

{this.state.lblFields.bill_to_name}

\r\n

{this.state.lblFields.bill_to_address}

\r\n

{this.state.lblFields.bill_to_city_state_zip}

\r\n
\r\n );\r\n }\r\n\r\n orderedBy(){\r\n //

{this.state.lblFields.alias_Email}

\r\n return (\r\n
\r\n

{this.state.lblFields.alias_Name}

\r\n

{this.state.lblFields.Label_Id}

\r\n

{this.state.lblFields.alias_phone}

\r\n \r\n {this.state.lblFields.alias_Email}\r\n
\r\n );\r\n }\r\n\r\n displayItemException = (prop, key) => {\r\n\r\n return \r\n \r\n { this.handleSelectChange(prop, e) }} size=\"sm\" id=\"itemexception\" > \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n\r\n displayOrderItemsTable = () => {\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n\r\n if (StatusDesc === 'Depot Pending') {\r\n return this.displayNonBillableOrderTable();\r\n \r\n }\r\n else {\r\n return this.displayBillableOrderTable();\r\n }\r\n\r\n }\r\n\r\n displayDepotstatusText =() => {\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n\r\n if (StatusDesc === 'Depot Pending' || StatusDesc === 'Depot Processed' ) {\r\n return this.displayDepotPendingtext(); \r\n }\r\n\r\n }\r\n\r\n displayDepotstatusButton =() => {\r\n let StatusDesc = this.state.lblFields.StatusDesc\r\n\r\n if (StatusDesc === 'Depot Pending'|| StatusDesc === 'Depot Processed' ) {\r\n return this.orderItemsTableForButton(); \r\n }\r\n }\r\n\r\n \r\n\r\ndepotEmailRequestor()\r\n{\r\n\r\n var orderDetail : string = \"\"; \r\n var sTo: string = \"\";\r\n var sBody: string = \"\";\r\n var sSubject: string = \"\";\r\n var sWebServer: string = \"\";\r\n\r\n \r\n let depotOrdersController = new DepotOrdersController();\r\n let viewOrderController = new ViewOrderController();\r\n \r\n\r\n var depot = {\r\n OrderId : this.state.lblFields.Order_Id \r\n \r\n }\r\n\r\n \r\n\r\nviewOrderController.getOrderSummary(this.props.location.state.Order_id).then(resOrderdata => {\r\n\r\n depotOrdersController.getDepotOrderItemDetail(depot).then(resOrderDetail =>{\r\n resOrderDetail.recordset.map((prop,key)=>{\r\n orderDetail += \"

\" + \"Selection: \" + prop[\"Selection_Id\"];\r\n orderDetail += \"
\" + \"Artist: \" + prop[\"Artist\"];\r\n orderDetail += \"
\" + \"Title: \" + prop[\"Title\"];\r\n orderDetail += \"
\" + \"Configuration: \" + prop[\"Configuration\"];\r\n orderDetail += \"
\" + \"Qty Req: \" + prop[\"Quantity_Requested\"]; \r\n orderDetail += \"
\" + \"Qty App: \" + prop[\"Quantity_Approved\"];\r\n \r\n })\r\n\r\n sTo = resOrderdata.alias_Email;\r\n if (sTo.length == 0) {\r\n sTo=\"egratis@umusic.com\";\r\n }\r\n\r\n sBody = \"Order #: \" + resOrderdata.Order_Id + \"
\";\r\n sBody = \"Legacy Order #: \" + resOrderdata.LegacyOrder + \"
\";\r\n sBody += \"Status: \" + resOrderdata.StatusDesc + \"
\";\r\n sBody += \"Ship To: \" + resOrderdata.Name+ \" at \" + resOrderdata.ShipToName + \"
\";\r\n sBody += \"Depot Comments: \" + resOrderdata.DepotComments+ \"
\";\r\n \t\t\t\r\n \r\n sBody += \"Thank you for using eGratis!\";\r\n\r\n sWebServer = window.location.hostname.toUpperCase();\r\n if (sWebServer==\"USUSH2KVWS11\")\tsSubject=\"(predev) \";\r\n if (sWebServer==\"USUSHWVIIS001\") sSubject=\"(dev) \";\r\n if (sWebServer==\"USUSHWVIIS002\") sSubject=\"(test) \";\r\n if (sWebServer==\"USUSH2KAP17\" || sWebServer==\"USUSHWVIIS010\") sSubject=\"(staging) \";\r\n \r\n\r\n depotOrdersController.sendEmail(\"egratis@umusic.com\", sTo, sSubject,sBody);\r\n \r\n }).catch(error =>{\r\n\r\n console.error('There was an error!', error);\r\n });\r\n\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n });\r\n \r\n\r\n\r\n}\r\n\r\n\r\n displayDepotPendingtext = () => {\r\n return \r\n\r\n {this.state.lblFields.StatusDesc === 'Depot Pending' ?\r\n \r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n\r\n orderItemsTableForButton = () => {\r\n const { loading } = this.state;\r\n\r\n return

\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n }\r\n\r\n displayBillableOrderTable = () => {\r\n const labelFont = {\r\n fontSize: \"5px\",\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 {(this.state.lblFields.Billable) ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n \r\n {this.state.displayOrdDetListGrid.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {(this.state.lblFields.Billable) ?\r\n \r\n : \"\"}\r\n\r\n \r\n\r\n \r\n )\r\n })}\r\n \r\n
Catalog #ArtistTitleConfigQtyPriceItem Exception
{prop[\"Selection_Id\"]}{prop[\"Artist\"]}{prop[\"Title\"]}{prop[\"Configuration\"]}{prop[\"Quantity_Approved\"]} $ {prop[\"Price_Approved\"]} {prop[\"itemStatusDesc\"]}
\r\n \r\n
\r\n\r\n }\r\n\r\n displayNonBillableOrderTable = () => {\r\n const labelFont = {\r\n fontSize: \"5px\",\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 {(this.state.lblFields.Billable) ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n \r\n {this.state.displayOrdDetListGrid.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {(this.state.lblFields.Billable) ?\r\n \r\n : \"\"}\r\n \r\n \r\n )\r\n })}\r\n \r\n
Catalog #ArtistTitleConfigQtyPriceItem Exception
{prop[\"Selection_Id\"]}{prop[\"Artist\"]}{prop[\"Title\"]}{prop[\"Configuration\"]}{prop[\"Quantity_Approved\"]} $ {prop[\"Price_Approved\"]} {this.displayItemException(prop, key)}
\r\n \r\n \r\n
\r\n }\r\n\r\n\r\n convertDateTimeFormat = (item) => {\r\n var dt = item[\"CreateDateTime\"];\r\n var date = new Date(dt);\r\n \r\n if (date.toLocaleString() !== 'Invalid Date')\r\n {\r\n return date.toLocaleString();\r\n }\r\n }\r\n\r\n convertApprDateTimeFormat = (item) => {\r\n var dt = item[\"ApprovalDateTime\"];\r\n var date = new Date(dt);\r\n \r\n if (date.toLocaleString() !== 'Invalid Date')\r\n {\r\n return date.toLocaleString();\r\n }\r\n \r\n }\r\n\r\n render() {\r\n\r\n const bottomBorder = {\r\n borderBottom: \"1px solid rgb(212, 212, 212)\"\r\n };\r\n const labelFont = {\r\n fontSize: \"5px\",\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 {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Approvers:\r\n {this.state.displayAppHistoryList.map((prop, key) => {\r\n return (\r\n \r\n {this.convertApprDateTimeFormat(prop)} : {prop[\"Approver\"]}\r\n \r\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.salesType}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Bill To:\r\n {this.loadBillTo()}\r\n \r\n \r\n Ship To:\r\n {this.loadShipTo()}\r\n \r\n \r\n Ordered By:\r\n {this.orderedBy()}\r\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.lblFields.Billable) ?\r\n \r\n \r\n :''}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {this.displayOrderItemsTable()}\r\n {this.displayDepotstatusText()}\r\n {this.displayDepotstatusButton()}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {new Variables().thDepotHistoryList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayDepotHistoryList.map((prop, key) => { \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ) \r\n })} \r\n \r\n
{prop}
{this.convertDateTimeFormat(prop)}{prop[\"Notes\"]}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {new Variables().thApproverList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayAppHistoryList.map((prop, key) => { \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
{prop}
{prop[\"ApproverType\"]}{prop[\"Approver\"]}{this.convertApprDateTimeFormat(prop)}{prop[\"Notes\"]}
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(DepotOrderHistoryView);","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class ReportController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response : any;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n\r\n \r\n\r\n getUserList(labelId : string){\r\n var url = this.variables.Url + this.variables.Controller.Report + this.variables.ReportServices.getUserList;\r\n var data = {\r\n \"labelId\": labelId, \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonUserList : Array<{\"name\": string; \"id\": string;}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { name:string;alias:string}, _index: number){\r\n jsonUserList.push({\"name\": item.name, \"id\": item.alias })\r\n }\r\n return JSON.parse(JSON.stringify(jsonUserList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n return JSON.parse(JSON.stringify(jsonUserList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n getUserActiveList(){\r\n var url = this.variables.Url + this.variables.Controller.Report + this.variables.ReportServices.getUserActiveList;\r\n var data = { \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonUserActiveList : Array<{\"name\": string; \"id\": string;}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { name:string;Alias:string}, _index: number){\r\n jsonUserActiveList.push({\"name\": item.name, \"id\": item.Alias })\r\n }\r\n return JSON.parse(JSON.stringify(jsonUserActiveList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n return JSON.parse(JSON.stringify(jsonUserActiveList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n } \r\n}","import React, { Component} from \"react\";\r\nimport {Container, Navbar, Nav,Card,Row,Col,Table,Form,Alert,Button} from \"react-bootstrap\";\r\nimport {FormControl,Modal} from \"../../../../node_modules/react-bootstrap\";\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {FormCheckBox} from '../../CustomComponents/FormCheckBox';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport DatePicker from 'react-datepicker';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css'\r\nimport '../../../assets/css/Style.css'\r\nimport { ReportController } from \"../../../Controllers/ReportController\"\r\nimport { IReportParameter, Istate } from \"../../../Model/Report\"; \r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\n\r\nexport class ReportView extends Component {\r\n constructor(props:IReportParameter){\r\n super(props) \r\n this.state={\r\n fields: {reportType:'',subTitle:''},\r\n errors: {userList:'',deptList:'',startDate:'',endDate:'' },\r\n radioOptionfields:{freegoods:false,nonBillable:false,billable:false,all:false},\r\n selectOption:{selectUser:'1',selectDept:'%20'},\r\n checkfields: {groupByDept:true},\r\n loading: false,\r\n errMsg:\"\",\r\n startDate: \"\", \r\n endDate:\"\",\r\n isUser:false, \r\n isDepartment:false,\r\n isDate:false,\r\n isgroupbyDept:false,\r\n isReporttype:false,\r\n isSubmit:false,\r\n userList:[],\r\n reportType:\"\",\r\n departmentList:[],\r\n reportName:\"\",\r\n reportRender:\"&rs:Command=Render&Label=\",\r\n modal: {modalSpinnerShow: false}\r\n } \r\n this.handleChange = this.handleChange.bind(this); \r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this); \r\n this.handleCheckChange = this.handleCheckChange.bind(this); \r\n this.handleRadioOptionChange = this.handleRadioOptionChange.bind(this);\r\n }\r\n\r\n handleChange (e:any) { \r\n let selectOption =this.state.selectOption; \r\n if(e.currentTarget.name === \"userList\")\r\n {\r\n let selectUser=\"\";\r\n selectUser = e.currentTarget.options[e.currentTarget.selectedIndex].value\r\n if (selectUser != \"All\")\r\n selectOption[\"selectUser\"] =selectUser\r\n else\r\n selectOption[\"selectUser\"] =\"1\"\r\n }\r\n else if(e.currentTarget.name === \"department\")\r\n {\r\n let selectDept=\"\";\r\n selectDept = e.currentTarget.options[e.currentTarget.selectedIndex].value\r\n if (selectDept != \"All\")\r\n selectOption[\"selectDept\"] =selectDept\r\n else\r\n selectOption[\"selectDept\"] =\"%20\"\r\n }\r\n this.setState({selectOption});\r\n }\r\n\r\n componentWillMount(){ \r\n let pathName = this.props.history.location.pathname.split(\"/\").pop();\r\n let fields = this.state.fields;\r\n let modal = this.state.modal; \r\n modal['modalSpinnerShow']=true; \r\n var today =new Date(); \r\n var startDate=new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000));\r\n this.setState({ startDate: startDate}); \r\n this.setState({ endDate: today});\r\n if(pathName === \"usertotals\")\r\n {\r\n fields['subTitle'] = 'User Totals Report';\r\n this.setState({isUser:true,isDepartment:false,isDate:true,isgroupbyDept:true,isReporttype:true,isSubmit:true,fields}); \r\n let radioOptionfields = this.state.radioOptionfields;\r\n radioOptionfields['freegoods'] = !this.state.radioOptionfields.freegoods \r\n this.setState({reportType:\"1\",reportName:\"User_Totals\"})\r\n let reportController = new ReportController();\r\n reportController.getUserList(sessionStorage.getItem(\"label_id\")!)\r\n .then(jsonUserList =>{\r\n this.setState({ \r\n userList : JSON.parse(JSON.stringify(jsonUserList))\r\n })\r\n })\r\n }\r\n else if(pathName === \"selectiontotals\")\r\n {\r\n fields['subTitle'] = 'Selection Totals Report';\r\n this.setState({isUser:false,isDepartment:false,isDate:true,isgroupbyDept:false,isReporttype:true,isSubmit:true,fields});\r\n let radioOptionfields = this.state.radioOptionfields;\r\n radioOptionfields['freegoods'] = !this.state.radioOptionfields.freegoods \r\n this.setState({reportType:\"1\",reportName:\"Selection_Totals\"})\r\n }\r\n else if(pathName === \"departmenttotals\")\r\n { \r\n fields['subTitle'] = 'Department Totals Report';\r\n this.setState({isUser:false,isDepartment:true,isDate:true,isgroupbyDept:false,isReporttype:true,isSubmit:true,fields});\r\n let radioOptionfields = this.state.radioOptionfields;\r\n radioOptionfields['freegoods'] = !this.state.radioOptionfields.freegoods \r\n this.setState({reportType:\"1\",reportName:\"Department_totals\"})\r\n let commonController = new CommonController();\r\n commonController.getAllDeptForLabel(sessionStorage.getItem(\"label_id\")!).then(jsonDept => {\r\n this.setState({ \r\n departmentList : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n })\r\n }\r\n else if(pathName === \"detailorderreport\")\r\n {\r\n fields['subTitle'] = 'Authorizer Report';\r\n this.setState({isUser:false,isDepartment:false,isDate:true,isgroupbyDept:false,isReporttype:true,isSubmit:true,fields});\r\n let radioOptionfields = this.state.radioOptionfields;\r\n radioOptionfields['freegoods'] = !this.state.radioOptionfields.freegoods \r\n this.setState({reportType:\"1\",reportName:\"Authorizer_Totals\"})\r\n }\r\n else if(pathName === \"shiptototals\")\r\n {\r\n fields['subTitle'] = 'Ship To Totals Report';\r\n this.setState({isUser:false,isDepartment:false,isDate:true,isgroupbyDept:false,isReporttype:true,isSubmit:true,fields});\r\n let radioOptionfields = this.state.radioOptionfields;\r\n radioOptionfields['freegoods'] = !this.state.radioOptionfields.freegoods \r\n this.setState({reportType:\"1\",reportName:\"Ship_Totals\"})\r\n }\r\n else \r\n {\r\n fields['subTitle'] = '';\r\n this.setState({isUser:false,isDepartment:false,isDate:false,isgroupbyDept:false,isReporttype:false,isSubmit:false,fields});\r\n }\r\n modal['modalSpinnerShow']=false;\r\n }\r\n handleChangeStartDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n \r\n if (date === null) \r\n errors[\"startDate\"] = \"Please enter start date\"; \r\n else{\r\n if(today < date )\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"startDate\"] = \"\"; \r\n } \r\n this.setState({startDate: date,errors});\r\n };\r\n handleChangeEndDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n if(date === null)\r\n errors[\"endDate\"] = \"Please enter start date\";\r\n else \r\n {\r\n if(today < date )\r\n errors[\"endDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"endDate\"] = \"\"; \r\n }\r\n this.setState({endDate: date, errors});\r\n };\r\n handleCheckChange(e:any){\r\n try {\r\n let checkfields = this.state.checkfields;\r\n checkfields[e.currentTarget.name] = !this.state.checkfields.groupByDept\r\n this.setState({\r\n checkfields\r\n });\r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n }\r\n handleRadioOptionChange =(e:any)=>{\r\n \r\n let fields = this.state.fields;\r\n let radioOptionfields = this.state.radioOptionfields;\r\n //console.log('----handleOptionChange----');\r\n //console.log(radioOptionfields);\r\n fields['reportType'] = e.currentTarget.id;\r\n if (e.currentTarget.id === \"fGoods\") {\r\n radioOptionfields['freegoods'] = !this.state.radioOptionfields.freegoods\r\n this.setState({reportType:\"1\"})\r\n radioOptionfields['nonBillable'] = false;\r\n radioOptionfields['billable'] = false;\r\n radioOptionfields['all'] = false;\r\n }\r\n else if (e.currentTarget.id === \"billable\") {\r\n radioOptionfields['freegoods'] = false;\r\n radioOptionfields['nonBillable'] = !this.state.radioOptionfields.nonBillable; \r\n radioOptionfields['billable'] = false;\r\n radioOptionfields['all'] = false;\r\n this.setState({reportType:\"2\"})\r\n }\r\n else if (e.currentTarget.id === \"nbillable\") {\r\n radioOptionfields['freegoods'] = false;\r\n radioOptionfields['nonBillable'] = false; \r\n radioOptionfields['billable'] = !this.state.radioOptionfields.billable;\r\n radioOptionfields['all'] = false;\r\n this.setState({reportType:\"3\"})\r\n }\r\n else if (e.currentTarget.id === \"all\") {\r\n radioOptionfields['freegoods'] = false;\r\n radioOptionfields['nonBillable'] = false;\r\n radioOptionfields['billable'] = false;\r\n radioOptionfields['all'] = !this.state.radioOptionfields.all;\r\n this.setState({reportType:\"4\"})\r\n } \r\n this.setState({\r\n fields,\r\n radioOptionfields\r\n });\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n if (this.ValidateDate()) \r\n { \r\n let pathName = this.props.history.location.pathname.split(\"/\").pop();\r\n var li=\"\";\r\n var groupbyDep =\"\"\r\n var sD = this.state.startDate; \r\n var startDate = sD.getMonth() + 1 + \"/\" + sD.getDate() + \"/\" + sD.getFullYear();\r\n var eD = this.state.endDate; \r\n var endDate = eD.getMonth() + 1 + \"/\" + eD.getDate() + \"/\" + eD.getFullYear();\r\n if(this.state.checkfields.groupByDept) \r\n groupbyDep =\"1\";\r\n \r\n if(pathName === \"usertotals\")\r\n { \r\n li= new Variables().ReportPath + this.state.reportName + this.state.reportRender +sessionStorage.getItem(\"label_id\")! +\"&Date1=\"+ startDate + \"&Date2=\"+ endDate +\"&Billable=\"+ this.state.reportType +\"&User_Select=\"+ this.state.selectOption.selectUser +\"&chkGroupByDepartment=\"+ groupbyDep +\"&rc:Parameters=False\"\r\n } \r\n else if(pathName === \"departmenttotals\")\r\n {\r\n li=new Variables().ReportPath + this.state.reportName + this.state.reportRender + sessionStorage.getItem(\"label_id\")! + \"&Date1=\"+ startDate + \"&Date2=\"+ endDate + \"&Department=\" + this.state.selectOption.selectDept + \"&Billable=\" + this.state.reportType + \"&rc:Parameters=False\"\r\n } \r\n else \r\n {\r\n li=new Variables().ReportPath + this.state.reportName + this.state.reportRender + sessionStorage.getItem(\"label_id\")! + \"&Date1=\"+ startDate + \"&Date2=\"+ endDate +\"&Billable=\" + this.state.reportType + \"&rc:Parameters=False\"\r\n }\r\n window.open(li)\r\n this.props.history.push('/admin/home');\r\n }\r\n }\r\n\r\n ValidateDate(){ \r\n let formIsValid = true;\r\n if(this.state.startDate === \"\" || this.state.startDate === null)\r\n {\r\n this.setState({errMsg : \"Please enter start date\"})\r\n formIsValid=false;\r\n }\r\n else if (this.state.endDate === \"\" || this.state.endDate === null)\r\n {\r\n this.setState({errMsg : \"Please enter end date\"})\r\n formIsValid=false;\r\n }\r\n return formIsValid\r\n }\r\n\r\n render(){\r\n \r\n //console.log('this.props');\r\n //console.log(this.props);\r\n \r\n if (this.props !== undefined)\r\n {\r\n //console.log(this.props.history.location.pathname.split(\"/\").pop());\r\n }\r\n \r\n const { loading } = this.state;\r\n const { isUser } = this.state;\r\n const { isDate } = this.state;\r\n const { isgroupbyDept } = this.state;\r\n const { isReporttype } = this.state;\r\n const { isSubmit } = this.state;\r\n const { isDepartment } = this.state;\r\n let fields = this.state.fields;\r\n return ( \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

View/ Print Reports

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n
\r\n \r\n {fields['subTitle']}\r\n \r\n \r\n
\r\n \r\n
\r\n { isUser ?\r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n { isDepartment ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n {isDate ?\r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.startDate}

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

 {this.state.errors.endDate}

\r\n
\r\n
\r\n \r\n \r\n
: \r\n }\r\n {isgroupbyDept ?\r\n \r\n \r\n \r\n \r\n : \r\n }\r\n {isReporttype ?\r\n \r\n \r\n Type Of The Report\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n }\r\n \r\n \r\n
\r\n {isSubmit ? \r\n : \"\"} \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n \r\n}\r\n","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container, Card, Row, Col, Form, Button, Table, Alert} from \"react-bootstrap\";\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {SysopController} from '../../../Controllers/SysopController'\r\nimport '../../../assets/css/Style.css'\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class ViewApprovalProcess extends Component {\r\n constructor(props:ViewApprovalProcessParameter){\r\n super(props);\r\n this.state = {\r\n selectfields: {recordLabelId:'', recordLabelName:''},\r\n errors: {recordLabelId:''},\r\n recordLabel: [],\r\n process: [],\r\n loading: false,\r\n selectLabel: false,\r\n errMsg:'',\r\n modal: {modalSpinnerShow: false}\r\n }\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n });\r\n }\r\n\r\n handleSelectChange = (e:any) => {\r\n let selectfields = this.state.selectfields;\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n if(e.currentTarget.name === 'recordLabelId'){\r\n this.setState({selectLabel:true});\r\n selectfields[\"recordLabelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n if(e.currentTarget.value === \"Select Your Operating Company\"){\r\n this.setState({selectLabel:false});\r\n }\r\n this.setState({\r\n selectfields\r\n });\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n let sysopController = new SysopController();\r\n sysopController.getAllProcessForLabel(this.state.selectfields.recordLabelId)\r\n .then(jsonProcess => {\r\n this.setState({ \r\n process : JSON.parse(JSON.stringify(jsonProcess))\r\n });\r\n this.setState({ loading: false });\r\n }).catch(error => {\r\n console.error(\"There was an error loading process\")\r\n }); \r\n }\r\n\r\n render(){\r\n const{ loading } = this.state;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

View Approval Process

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

Process Details

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.selectLabel ? \r\n \r\n {this.state.process.map((prop, key) => {\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
Assigned LabelDepartmentProcess NameMax ApproversDefaultOvernightCleanBillableNT BillableSuper UserEditAdd/Remove Approvers
{prop[\"assignedLabelId\"]}{prop[\"department\"]}{prop[\"processName\"]}{prop[\"maxApprovers\"]}{prop[\"default\"]}{prop[\"overnight\"]}{prop[\"clean\"]}{prop[\"billable\"]}{prop[\"NTBillable\"]}{prop[\"superUser\"]}
List is Empty...Please Select
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface ViewApprovalProcessParameter{\r\n uid?:string;\r\n pwd?:string;\r\n history?:History;\r\n}\r\n \r\ninterface Istate{\r\n selectfields:any;\r\n errors:any;\r\n recordLabel:[];\r\n process:[];\r\n selectLabel:boolean;\r\n loading:boolean;\r\n errMsg:string;\r\n modal:any;\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container, Card, Row, Col, Form, Button, Table, Alert} from \"react-bootstrap\";\r\nimport '../../../assets/css/Style.css'\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {SysopController} from '../../../Controllers/SysopController'\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class LabelMaintenance extends Component {\r\n constructor(props:LabelParameter){\r\n super(props);\r\n this.state = {\r\n fields: {recordLabelId:'', recordLabelName:''},\r\n errors: {recordLabelId:'', recordLabelName:''},\r\n checkfields: {parentLabel:''},\r\n recordLabel: [],\r\n loading: false,\r\n errMsg:'',\r\n edit:false,\r\n modal: {modalSpinnerShow: false}\r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleCheckChange = this.handleCheckChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company...\", error)\r\n });\r\n }\r\n\r\n handleChange = (e:any) => {\r\n \r\n let fields = this.state.fields;\r\n var regexpUpper = new RegExp(/^[a-zA-Z]*$/)\r\n var regexp = new RegExp(/^[a-zA-Z0-9]*$/)\r\n if(e.currentTarget.name === 'recordLabelId'){\r\n if(regexpUpper.test(e.currentTarget.value)){\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n }\r\n else if(e.currentTarget.name === 'recordLabelName'){\r\n // if(regexp.test(e.currentTarget.value)){\r\n // }\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({\r\n fields \r\n });\r\n }\r\n\r\n handleCheckChange = (e:any) => {\r\n let checkfields = this.state.checkfields;\r\n if(e.currentTarget.name === 'parentLabel'){\r\n checkfields[e.currentTarget.name] = !this.state.checkfields.parentLabel;\r\n } \r\n this.setState({\r\n checkfields\r\n });\r\n }\r\n\r\n clearAll(){\r\n this.clearError();\r\n let fields = this.state.fields;\r\n fields[\"recordLabelId\"] = \"\";\r\n fields[\"recordLabelName\"] = \"\";\r\n this.setState({\r\n fields, edit: false \r\n });\r\n }\r\n\r\n clearError(){\r\n let errors = this.state.errors;\r\n errors[\"recordLabelId\"] = \"\";\r\n errors[\"recordLabelName\"] = \"\";\r\n this.setState({\r\n errors, errMsg: \"\" \r\n });\r\n }\r\n\r\n insertValues(recordLabelId,recordLabelName,parentLabel){\r\n this.clearError();\r\n this.setState({edit:true});\r\n let fields = this.state.fields;\r\n let checkfields = this.state.checkfields;\r\n fields[\"recordLabelId\"] = recordLabelId;\r\n fields[\"recordLabelName\"] = recordLabelName;\r\n if(parentLabel === \"Yes\"){\r\n checkfields[\"parentLabel\"] = true;\r\n }\r\n else{\r\n checkfields[\"parentLabel\"] = false;\r\n }\r\n this.setState({\r\n fields, checkfields \r\n });\r\n }\r\n\r\n ValidateProfile(){\r\n this.clearError();\r\n let fields = this.state.fields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"recordLabelId\"]) {\r\n formIsValid = false;\r\n errors[\"recordLabelId\"] = \"Please enter label id.\";\r\n }\r\n if (!fields[\"recordLabelName\"]) {\r\n formIsValid = false;\r\n errors[\"recordLabelName\"] = \"Please enter label name.\";\r\n }\r\n if(!formIsValid)\r\n {\r\n this.setState({ loading: false });\r\n }\r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n checkDuplicateLabelId = () => {\r\n var duplicate = false;\r\n this.state.recordLabel.map((prop : any, key) => {\r\n if(prop[\"id\"].toUpperCase() === this.state.fields.recordLabelId.toUpperCase()){\r\n duplicate = true;\r\n }\r\n })\r\n return duplicate;\r\n }\r\n\r\n checkDuplicateLabelName = () => {\r\n var duplicate = false;\r\n this.state.recordLabel.map((prop : any, key) => {\r\n if(prop[\"name\"].toUpperCase() === this.state.fields.recordLabelName.toUpperCase()){\r\n duplicate = true;\r\n }\r\n })\r\n return duplicate;\r\n }\r\n\r\n\r\n\r\n onSubmit = (e:any) => {\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if (this.ValidateProfile()) {\r\n if(this.checkDuplicateLabelId()){\r\n alert(\"Label Id already exists...\")\r\n this.setState({ loading: false });\r\n }\r\n else if(this.checkDuplicateLabelName()){\r\n alert(\"Label name already exists...\")\r\n this.setState({ loading: false });\r\n }\r\n else{\r\n let sysopController = new SysopController();\r\n if(this.state.edit){\r\n sysopController.updateLabel(this.state.fields.recordLabelId,this.state.fields.recordLabelName,this.state.checkfields.parentLabel)\r\n .then(response => {\r\n if(response.success){\r\n alert(\"Label updated successfully...\")\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n }); \r\n }\r\n else{\r\n this.setState({errMsg: \"Error in update Label...\"})\r\n }\r\n this.setState({ loading: false });\r\n }).catch(error => {\r\n console.error(\"Error in update Label...,\" +error);\r\n })\r\n this.setState({edit:false});\r\n this.clearAll();\r\n }\r\n else{\r\n sysopController.insertLabel(this.state.fields.recordLabelId,this.state.fields.recordLabelName,this.state.checkfields.parentLabel)\r\n .then(response => {\r\n if(response.success){\r\n alert(\"Label created successfully...\")\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n }); \r\n }\r\n else{\r\n this.setState({errMsg: \"Error in adding label...\"})\r\n }\r\n this.setState({ loading: false });\r\n }).catch(error => {\r\n console.error(\"Error in insert label...,\" +error);\r\n })\r\n this.clearAll();\r\n } \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const{ loading } = this.state;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Label Maintenance

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

Label Details

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.recordLabel.map((prop, key) => {\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
Label IdLabel NameOwner LabelUpdate
{prop[\"id\"]}{prop[\"name\"]}{prop[\"ownerLabel\"]}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface LabelParameter{\r\n uid?:string;\r\n pwd?:string;\r\n history?:History;\r\n}\r\n \r\ninterface Istate{\r\n fields:any;\r\n errors:any;\r\n checkfields:any;\r\n recordLabel:[];\r\n loading:boolean;\r\n errMsg:string;\r\n edit:boolean;\r\n modal:any;\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container, Card, Row, Col, Form, Button, Table, Alert, Modal, NavLink} from \"react-bootstrap\";\r\nimport '../../../assets/css/Style.css'\r\nimport { FormLabelField } from \"../../CustomComponents/FormLabelField\";\r\nimport { FormSelect } from \"../../CustomComponents/FormSelect\";\r\nimport { SysopController } from \"../../../Controllers/SysopController\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class AddRemoveApprovers extends Component {\r\n constructor(props:AddRemoveApproversParameter){\r\n super(props);\r\n this.state = {\r\n fields: {approvalProcessName:'', label:'', assignedLabel:'', department:'', maxApprovers:'', crossLabel:'', default:false, allLabels:'', exceptions:''},\r\n selectfields: {approverId:'', approverName:'', approvalLevelId:'', approvalLevelName:''},\r\n optionfields: {defaultProcessNo:true, defaultProcessYes:false},\r\n errors: {approverId:'', approvalLevelId:''},\r\n approvers: [],\r\n approvalLevel: [],\r\n approverTable: [],\r\n process:[],\r\n loading: false, \r\n errMsg:'',\r\n modal: {modalSpinnerShow: false}\r\n }\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleOptionChange = this.handleOptionChange.bind(this);\r\n this.handleOnDelete = this.handleOnDelete.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n\r\n let fields = this.state.fields;\r\n fields[\"approvalProcessName\"] = this.props.location.state.item[\"processName\"];\r\n fields[\"label\"] = this.props.location.state.label;\r\n fields[\"assignedLabel\"] = this.props.location.state.item[\"assignedLabelId\"];\r\n fields[\"department\"] = this.props.location.state.item[\"department\"];\r\n fields[\"maxApprovers\"] = this.props.location.state.item[\"maxApprovers\"];\r\n fields[\"crossLabel\"] = this.props.location.state.item[\"crossLabel\"];\r\n if(this.props.location.state.item[\"default\"] === \"Yes\"){\r\n fields[\"default\"] = true;\r\n }\r\n fields[\"allLabels\"] = this.props.location.state.item[\"allLabels\"];\r\n fields[\"exceptions\"] = this.props.location.state.item[\"exceptions\"];\r\n this.setState({fields});\r\n let selectfields = this.state.selectfields;\r\n selectfields[\"approverName\"] = \"Select Approver Name\";\r\n selectfields[\"approvalLevelName\"] = \"Select Approval Level\";\r\n this.setState({selectfields});\r\n\r\n let sysopController = new SysopController();\r\n sysopController.getAllApprovers().then(jsonApprovers => {\r\n this.setState({ \r\n approvers : JSON.parse(JSON.stringify(jsonApprovers))\r\n });\r\n sysopController.getApprovalLevel(this.state.fields.maxApprovers).then(jsonApprovalLevel => {\r\n this.setState({ \r\n approvalLevel : JSON.parse(JSON.stringify(jsonApprovalLevel))\r\n });\r\n sysopController.getApprovalTable(this.state.fields.approvalProcessName).then(jsonApprovalTable => {\r\n this.setState({ \r\n approverTable : JSON.parse(JSON.stringify(jsonApprovalTable))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading approval Table\")\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading approval level\")\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading approvers name\")\r\n });\r\n }\r\n\r\n pageReload = () =>{\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let selectfields = this.state.selectfields;\r\n let optionfields = this.state.optionfields;\r\n selectfields[\"approverName\"] = \"Select Approver Name\";\r\n selectfields[\"approvalLevelName\"] = \"Select Approval Level\";\r\n selectfields[\"approverId\"] = \"Select Approver Name\";\r\n selectfields[\"approvalLevelId\"] = \"Select Approval Level\";\r\n optionfields[\"defaultProcessNo\"] = true;\r\n optionfields[\"defaultProcessYes\"] = false;\r\n this.setState({selectfields, optionfields});\r\n let sysopController = new SysopController();\r\n sysopController.getApprovalTable(this.state.fields.approvalProcessName).then(jsonApprovalTable => {\r\n this.setState({ \r\n approverTable : JSON.parse(JSON.stringify(jsonApprovalTable))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading approval Table\")\r\n });\r\n }\r\n\r\n handleSelectChange = (e:any) => {\r\n let selectfields = this.state.selectfields;\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n if(e.currentTarget.name === 'approverId'){\r\n selectfields[\"approverName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n if(e.currentTarget.name === 'approvalLevelId'){\r\n selectfields[\"approvalLevelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n this.setState({\r\n selectfields\r\n });\r\n }\r\n\r\n handleOptionChange =(e:any)=>{\r\n let optionfields = this.state.optionfields;\r\n let fields = this.state.fields;\r\n if (e.currentTarget.id === \"defaultProcessNo\") {\r\n optionfields['defaultProcessNo'] = !this.state.optionfields.defaultProcessNo;\r\n optionfields['defaultProcessYes'] = false;\r\n }\r\n else if (e.currentTarget.id === \"defaultProcessYes\") {\r\n optionfields['defaultProcessNo'] = false;\r\n optionfields['defaultProcessYes'] = !this.state.optionfields.defaultProcessYes;\r\n }\r\n else {\r\n optionfields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({ optionfields, fields });\r\n }\r\n\r\n clearError(){\r\n let errors = this.state.errors;\r\n errors[\"approverId\"] = \"\";\r\n errors[\"approvalLevelId\"] = \"\";\r\n this.setState({ errors });\r\n }\r\n\r\n validateProfile(){\r\n this.clearError();\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if(selectfields[\"approverName\"] === \"Select Approver Name\"){\r\n formIsValid = false;\r\n errors[\"approverId\"] = \"Please select approver\";\r\n }\r\n if(selectfields[\"approvalLevelName\"] === \"Select Approval Level\"){\r\n formIsValid = false;\r\n errors[\"approvalLevelId\"] = \"Please select approval level\";\r\n }\r\n if(!formIsValid){\r\n this.setState({ loading: false });\r\n }\r\n this.setState({ errors });\r\n return formIsValid;\r\n }\r\n \r\n checkAlreadyAdded = () => {\r\n var alreadyAdded = false\r\n this.state.approverTable.map((prop, key) => {\r\n if(this.state.selectfields.approverId === prop['alias'] && this.state.selectfields.approvalLevelId === prop['labelId']){\r\n alreadyAdded = true;\r\n }\r\n })\r\n return alreadyAdded;\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n e.preventDefault();\r\n this.setState({ loading: true });\r\n if(this.validateProfile()){\r\n if(this.checkAlreadyAdded()){\r\n alert(\"This approver has been already added for this same level...\")\r\n this.setState({ loading: false });\r\n this.pageReload();\r\n }\r\n else{\r\n let sysopController = new SysopController();\r\n sysopController.getProcessLookupCounter(this.state.fields.approvalProcessName,this.state.selectfields.approverId).then(response => {\r\n var counter = response.value + 1;\r\n if(this.state.fields.crossLabel){\r\n sysopController.addApproverForExport(this.state.fields.approvalProcessName,this.state.selectfields.approverId,this.state.selectfields.approvalLevelId,counter).then(response => {\r\n sysopController.addFullLengthCleanApproverToProcess().then(response => {\r\n alert(\"Approver added successfully...\")\r\n this.setState({ loading: false });\r\n this.pageReload();\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was an error...\", error)\r\n })\r\n }\r\n else{\r\n if(this.state.optionfields.defaultProcessYes){\r\n var isDefault = 1;\r\n sysopController.checkIsDefaultProcessLookup(this.state.fields.approvalProcessName,this.state.selectfields.approverId).then(response =>{\r\n if(response.Is_Default === 1){\r\n alert(\"A default process already exists for this approver. Please rectify before continuing.\")\r\n }\r\n this.setState({ loading: false });\r\n this.handleIsDefault(isDefault,counter);\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n }) \r\n }\r\n else{\r\n isDefault = 0;\r\n this.handleIsDefault(isDefault,counter);\r\n }\r\n }\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n })\r\n }\r\n }\r\n }\r\n\r\n handleIsDefault = (isDefault, counter) => {\r\n let sysopController = new SysopController();\r\n if(isDefault < 1){\r\n sysopController.addApproverNonExport(this.state.fields.approvalProcessName,this.state.selectfields.approverId,this.state.selectfields.approvalLevelId,0,counter).then(response => {\r\n sysopController.addFullLengthCleanApproverToProcess().then(response => {\r\n alert(\"Approver added successfully...\")\r\n this.setState({ loading: false });\r\n this.pageReload();\r\n })\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n }) \r\n }\r\n else{\r\n sysopController.getNonExportDefaultProcessCount(this.state.selectfields.approverId).then(response => {\r\n if(response.value < 1){\r\n sysopController.addApproverNonExport(this.state.fields.approvalProcessName,this.state.selectfields.approverId,this.state.selectfields.approvalLevelId,1,counter).then(response => {\r\n sysopController.addFullLengthCleanApproverToProcess().then(response => {\r\n sysopController.updatePermissions(this.state.selectfields.approverId,this.state.fields.allLabels,this.state.fields.exceptions);\r\n alert(\"Approver added successfully...\")\r\n this.setState({ loading: false });\r\n this.pageReload();\r\n })\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n })\r\n }\r\n else{\r\n alert(\"This approver is already assigned to a default process. Please proceed accordingly.\")\r\n this.setState({ loading: false });\r\n }\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n })\r\n }\r\n }\r\n\r\n handleOnDelete = (item, e:any) => {\r\n e.preventDefault();\r\n \r\n let sysopController = new SysopController();\r\n sysopController.checkAlternateApprover(this.state.fields.approvalProcessName,item['labelId']).then(response => {\r\n if(response.value <= 1){\r\n alert(\"No alternate approver for selected usertype: \" + item['label'] + \". Kindly go back and add approver.\")\r\n }\r\n else{\r\n if(this.state.fields.crossLabel){\r\n sysopController.deleteApproverByProcess(this.state.fields.approvalProcessName,item['alias'],item['labelId'],1).then(response => {\r\n alert(\"Approver removed successfully...\")\r\n this.pageReload();\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n })\r\n }\r\n else{\r\n sysopController.deleteApproverByProcess(this.state.fields.approvalProcessName,item['alias'],item['labelId'],0).then(response => {\r\n alert(\"Approver removed successfully...\")\r\n this.pageReload();\r\n }).catch(error => {\r\n console.log(\"There was an error...\", error)\r\n })\r\n }\r\n }\r\n })\r\n } \r\n\r\n \r\n render(){\r\n const{ loading } = this.state;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Add/ Remove Approvers

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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.fields.crossLabel ? \r\n \r\n \r\n :\r\n \r\n \r\n Default Requestor Process for Approver?\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Process Details

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.approverTable.map((prop, key) => {\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
NameLevelDelete
{prop[\"name\"]}{prop[\"label\"]}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\ninterface AddRemoveApproversParameter{\r\n uid?:string;\r\n pwd?:string;\r\n history?:History;\r\n location?:any;\r\n}\r\n \r\ninterface Istate{\r\n fields:any;\r\n selectfields:any;\r\n optionfields:any;\r\n errors:any;\r\n approvers:[];\r\n approvalLevel:[];\r\n approverTable:[];\r\n process:[];\r\n loading:boolean;\r\n errMsg:string;\r\n modal:any;\r\n}","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class FtpHistoryController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response : any;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n\r\n getFTPOrderHistory(filter : string,filter_type : string,start_date : string,end_date : string,status_id : string){\r\n var url = this.variables.Url + this.variables.Controller.ftpHistory + this.variables.ftpHistoryService.getFTPOrderHistory;\r\n var data = {\r\n \"filter\": filter,\r\n \"filterType\" : filter_type,\r\n \"startDate\":start_date,\r\n \"endDate\" : end_date,\r\n \"statusId\" : status_id\r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonFtpHistoryList : Array<{\"isChecked\":boolean;\"Order_Id\": string; \"billable\": boolean;\"material\":boolean; \"Requestor\":string;\"RequestDate\":string;\"FTPFileName\":string;\r\n \"Date_Uploaded\": string;\"StatusDesc\": string }> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { Order_Id:string;billable:boolean;material:boolean;Requestor:string;RequestDate:string;FTPFileName:string;\r\n Date_Uploaded:string;StatusDesc:string }, _index: number){\r\n jsonFtpHistoryList.push({\"isChecked\":false,\"Order_Id\": item.Order_Id, \"billable\": item.billable,\"material\":item.material,\r\n \"Requestor\":item.Requestor,\"RequestDate\":item.RequestDate,\"FTPFileName\":item.FTPFileName,\"Date_Uploaded\":item.Date_Uploaded,\"StatusDesc\":item.StatusDesc })\r\n }\r\n return JSON.parse(JSON.stringify(jsonFtpHistoryList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return JSON.parse(JSON.stringify(jsonFtpHistoryList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n resetFTPOrders(order_id : string){ \r\n var url = this.variables.Url+ this.variables.Controller.ftpHistory + this.variables.ftpHistoryService.resetFTPOrders;\r\n var data = { \r\n order_id : order_id, \r\n }\r\n return this.serviceProxy.put(url,data).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport { History, LocationState } from \"History\";\r\nimport { Container,Card, Row, Col, Table, Form, Alert, Button} from \"react-bootstrap\";\r\n//import { Container, Row, Col, Form, Alert, Button, ProgressBar } from \"../../../../node_modules/react-bootstrap\";\r\nimport '../../../assets/css/AdminLayout.css'\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\n//import Table from 'react-bootstrap/Table'\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/Style.css'\r\nimport DatePicker from 'react-datepicker';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css'\r\nimport { NavLink } from 'react-router-dom'\r\nimport { IFtpHistoryParameter, Istate } from \"../../../Model/FTPHistory\"; \r\nimport{FtpHistoryController} from \"../../../Controllers/FtpHistoryController\"\r\nimport { format } from 'date-fns'\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class FtpHistory extends Component {\r\n\r\n constructor(props: IFtpHistoryParameter) {\r\n \r\n super(props)\r\n this.state = {\r\n fields: { find:'',searchType:'',statusBy:'' },\r\n selectfields: { searchBy: '',statusBy:'' },\r\n checkfields: { multipleSelect: false },\r\n errors: {startDate:'',endDate:''}, \r\n errMsg: '',\r\n loading: false,\r\n loadingReset:false, \r\n startDate: \"\", \r\n endDate:\"\",\r\n hidediv:true,\r\n displayGrid:[], \r\n checkedItems: new Map(), \r\n isDateEnabled:false,\r\n isListAvl:false,\r\n isListAvlMsg: \"List is Empty...Please search for the needs\",\r\n orderList:\"\"\r\n }\r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this);\r\n this.handleTextChange = this.handleTextChange.bind(this); \r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.onSubmit=this.onSubmit.bind(this); \r\n }\r\n\r\n componentWillMount()\r\n { \r\n var today =new Date(); \r\n var startDate=new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000));\r\n this.setState({ startDate: startDate}); \r\n this.setState({ endDate: today});\r\n let selectfields = this.state.selectfields;\r\n selectfields[\"statusBy\"] = \"17\";\r\n this.setState({selectfields})\r\n }\r\n\r\n handleChangeStartDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n if(date != \"\") \r\n if(today < date )\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"startDate\"] = \"\"; \r\n \r\n this.setState({startDate: date,errors});\r\n };\r\n handleChangeEndDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n if(today < date )\r\n errors[\"endDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"endDate\"] = \"\"; \r\n \r\n this.setState({endDate: date, errors});\r\n };\r\n\r\n handleTextChange (e:any) { \r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n handleSelectChange (e:any) { \r\n let selectfields = this.state.selectfields;\r\n if (e.currentTarget.id == \"searchBy\")\r\n {\r\n selectfields.searchBy= e.currentTarget.value; \r\n if (e.currentTarget.value === \"Order_id\") \r\n { \r\n this.setState({isDateEnabled : true}) \r\n }\r\n else\r\n {\r\n this.setState({isDateEnabled : false}) \r\n } \r\n } \r\n else if (e.currentTarget.id == \"statusBy\")\r\n {\r\n selectfields.statusBy= e.currentTarget.value; \r\n if (e.currentTarget.value === \"2\") \r\n { \r\n this.setState({isDateEnabled : true}) \r\n }\r\n else\r\n {\r\n this.setState({isDateEnabled : false})\r\n } \r\n }\r\n this.setState({\r\n selectfields\r\n })\r\n } \r\n\r\n onSubmit =(e:any)=>{\r\n try{\r\n e.preventDefault();\r\n if (this.ValidateDate()) { \r\n this.setState({ loading: true });\r\n this.setState({isListAvl:false})\r\n var sD = this.state.startDate;\r\n var curr_date = sD.getDate();\r\n var curr_month = sD.getMonth() + 1; //Months are zero based\r\n var curr_year = sD.getFullYear();\r\n var startDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n var eD = this.state.endDate;\r\n var curr_date = eD.getDate();\r\n var curr_month = eD.getMonth() + 1; //Months are zero based\r\n var curr_year = eD.getFullYear();\r\n var endDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n let ftpHistoryController = new FtpHistoryController();\r\n ftpHistoryController.getFTPOrderHistory(this.state.fields.find,this.state.selectfields.searchBy,\r\n startDate,endDate,this.state.selectfields.statusBy)\r\n .then(jsonFTPHistoryList =>{\r\n this.setState({ \r\n displayGrid : JSON.parse(JSON.stringify(jsonFTPHistoryList)), loading: false\r\n }); \r\n if(this.state.displayGrid.length > 0)\r\n { \r\n this.setState({isListAvl:true})\r\n this.setState({isListAvlMsg:\"\"})\r\n this.setState({ loading: false });\r\n }\r\n else\r\n { \r\n this.setState({isListAvlMsg:\"No record(s) found\"})\r\n this.setState({ loading: false });\r\n } \r\n }).catch(error => { \r\n this.setState({ loading: false });\r\n console.log(error);\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n } \r\n }\r\n\r\n ValidateDate(){ \r\n this.clearError();\r\n let formIsValid = true; \r\n let errors = this.state.errors;\r\n var sD = format(this.state.startDate, 'dd/MM/yyyy');\r\n var eD = format(this.state.endDate, 'dd/MM/yyyy');\r\n var today =new Date();\r\n var todayDate = format(today, 'dd/MM/yyyy');\r\n\r\n if(today < this.state.startDate )\r\n {\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n formIsValid =false;\r\n }\r\n else if(todayDate === sD)\r\n {\r\n errors[\"startDate\"] = \"Date must be less today's date\";\r\n formIsValid =false;\r\n } \r\n if(eD > todayDate)\r\n {\r\n errors[\"endDate\"] = \"Date is greater than today's date\";\r\n formIsValid =false;\r\n } \r\n return formIsValid;\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"startDate\"] = \"\"; \r\n errors[\"endDate\"]=\"\"; \r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n getItemInfo= (item) =>{\r\n if(item[\"material\"] || item[\"billable\"])\r\n {\r\n if (item[\"material\"] && item[\"billable\"])\r\n {\r\n return \" Billable Clean\"\r\n }\r\n else\r\n {\r\n if(item[\"material\"] )\r\n {\r\n return \" Clean\"\r\n }\r\n else if(item[\"billable\"])\r\n {\r\n return \" Billable\"\r\n }\r\n }\r\n }\r\n else{\r\n return \"\"\r\n } \r\n };\r\n \r\n getLinkWithtestPath= (item) =>{\r\n return ({item[\"Order_Id\"]})\r\n }\r\n\r\n getLinkWithPath= (item) =>{\r\n return ({item[\"Order_Id\"]})\r\n };\r\n\r\n resetCheckInfo=(e:any) => { \r\n try{\r\n if (this.ValidateOrder() && this.validteConfirmation()) { \r\n var orderList = this.state.orderList;\r\n orderList= orderList.replace(/,\\s*$/, \"\");\r\n this.setState({ loadingReset: true }); \r\n let ftpHistoryController = new FtpHistoryController();\r\n ftpHistoryController.resetFTPOrders(orderList)\r\n .then(response => {\r\n if (response.success){ \r\n alert(\"Order Reseted...\")\r\n this.props.history.push('/admin/home'); \r\n }\r\n }).catch(error => {\r\n this.setState({ errMsg : \"Process Failed\" });\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n } \r\n \r\n }\r\n\r\n validteConfirmation() {\r\n let formIsValid = true; \r\n const r = window.confirm(\"Are you want to reset these items?\"); \r\n if(r != true){ formIsValid = false; }\r\n return formIsValid; \r\n }\r\n\r\n ValidateOrder(){ \r\n this.clearError(); \r\n let formIsValid = true; \r\n let errors = this.state.errors; \r\n if(this.state.orderList === \"\")\r\n {\r\n formIsValid = false \r\n this.setState({errMsg : \"Please slect checkbox to reset order(s)\"}) \r\n }\r\n this.setState({\r\n errors}) \r\n return formIsValid;\r\n }\r\n\r\n handleChange(event) {\r\n var isChecked = event.target.checked;\r\n var item = event.target.value;\r\n var listOrder = this.state.orderList\r\n let ids:any = this.state.displayGrid; \r\n if(item === \"checkAll\") \r\n {\r\n ids.map((prop,key) => { \r\n ids[key][\"isChecked\"] = isChecked;\r\n listOrder += prop[\"Order_Id\"] + \",\" \r\n })\r\n }\r\n else{\r\n ids.map((prop,key) => { \r\n if(prop[\"Order_Id\"] === item)\r\n {\r\n ids[key][\"isChecked\"] = isChecked; \r\n listOrder += prop[\"Order_Id\"] + \",\" \r\n } \r\n })\r\n }\r\n this.setState({displayGrid : ids})\r\n this.setState({orderList : listOrder}) \r\n }\r\n \r\n \r\n\r\n render() {\r\n const { loading } = this.state; \r\n const { loadingReset } = this.state; \r\n const { isListAvl } = this.state; \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

FTP History Search

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n In\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.searchType}

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

 {this.state.errors.startDate}

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

 {this.state.errors.endDate}

\r\n
\r\n \r\n \r\n For Status\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.statusBy}

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n { isListAvl ? \r\n \r\n \r\n \r\n \r\n {new Variables().thFtpHistoryList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.displayGrid.map((prop, key) => { \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 {prop}
\r\n \r\n {this.getLinkWithPath(prop)}\r\n {this.getItemInfo(prop)}\r\n {prop[\"Requestor\"]}{prop[\"RequestDate\"]}{prop[\"FTPFileName\"]}{prop[\"Date_Uploaded\"]}{prop[\"StatusDesc\"]}
:\r\n \r\n \r\n \r\n {new Variables().thFtpHistoryList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{prop}
{this.state.isListAvlMsg}
} \r\n
\r\n \r\n
\r\n {isListAvl ?\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
: \"\"} \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button, Navbar, Nav } from \"react-bootstrap\";\r\nimport { History, LocationState } from \"History\";\r\nimport { format } from 'date-fns'\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { NavLink } from 'react-router-dom'\r\nimport '../../../assets/css/Style.css'\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\"\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css';\r\nimport { IApprovalHistoryParameter, Istate } from \"../../../Model/ApprovalHistory\"; \r\nimport{OrderApprovalController} from \"../../../Controllers/OrderApprovalController\"\r\n\r\nexport class ApprovalOrderHistory extends Component {\r\n constructor(props: IApprovalHistoryParameter) {\r\n\r\n super(props)\r\n this.state = {\r\n fields: { find: '', searchType: '', checkid: '', searchText: '' },\r\n errors: { find: '', searchType: '', checkid: '' },\r\n errMsg: \"\",\r\n todayDate: \"\",\r\n previousdate: \"\",\r\n Order_id: \"\",\r\n goodsReq: \"\",\r\n loading: false,\r\n selectedDate: '2017-08-13', \r\n startDate: \"\", \r\n endDate:\"\",\r\n displayListGrid:[],\r\n isListAvlMsg:\"\",\r\n isListAvl:false, \r\n task_For:\"\",\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n var today =new Date(); \r\n var sD=new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000)); \r\n var curr_date = sD.getDate();\r\n var curr_month = sD.getMonth() + 1; //Months are zero based\r\n var curr_year = sD.getFullYear();\r\n var startDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n \r\n let orderApprovalController = new OrderApprovalController();\r\n orderApprovalController.getApproverHistoryList(sessionStorage.getItem(\"uid\")!,startDate)\r\n .then(jsonApproverHistory =>{\r\n this.setState({ \r\n displayListGrid : JSON.parse(JSON.stringify(jsonApproverHistory))\r\n }); \r\n \r\n if(this.state.displayListGrid.length > 0)\r\n { \r\n this.setState({isListAvl:true})\r\n this.setState({isListAvlMsg:\"\"})\r\n }\r\n else\r\n { \r\n this.setState({isListAvlMsg:\"No record(s) found\"}) \r\n } \r\n }).catch(error => { \r\n console.log(error);\r\n })\r\n\r\n }\r\n\r\n handleLog(date) {\r\n this.setState({\r\n selectedDate: date\r\n });\r\n }\r\n \r\n\r\n getItemInfo= (item) =>{\r\n const styleObj = {\r\n fontSize: 10,\r\n color: \"red\", \r\n } \r\n const styleBilObj = {\r\n fontSize: 10,\r\n color: \"#800000\", \r\n } \r\n \r\n if(item[\"material\"] === true)\r\n {\r\n return (Clean) \r\n }\r\n else{\r\n return \"\"\r\n } \r\n };\r\n\r\n getBillItemInfo= (item) =>{\r\n\r\n const styleBilObj = {\r\n fontSize: 10,\r\n color: \"#800000\", \r\n } \r\n if(item[\"billable\"] === true)\r\n {\r\n return (Billable) \r\n }\r\n else if(item[\"NTBillableT\"] === true)\r\n {\r\n return (Non Billable Transfer) \r\n }\r\n else{\r\n return \"\"\r\n } \r\n};\r\n\r\n getLinkWithPath= (item) =>{\r\n return ({item[\"order_id\"]}) \r\n }\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"0 0 0 0\"\r\n };\r\n const { isListAvl } = this.state; \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Approver History

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n
\r\n {isListAvl ? \r\n \r\n \r\n \r\n {new Variables().thApproverHistoryList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayListGrid.map((prop, key) => { \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
{prop}
{this.getLinkWithPath(prop)} {this.getBillItemInfo(prop)} {this.getItemInfo(prop)}{prop[\"request_date\"]}{prop[\"ShipToName\"]}{prop[\"Name\"]}{prop[\"statusdesc\"]}
:\r\n \r\n \r\n \r\n {new Variables().thApproverHistoryList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{prop}
{this.state.isListAvlMsg}
} \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component, CSSProperties } from \"react\";\r\nimport {FormLabel,FormGroup,Container,Row,Col,Form,Navbar, Nav, Alert,Button,Card,CardGroup,FormControl,Modal,Table} from \"../../../../node_modules/react-bootstrap\";\r\n//import {Card} from '../../CustomComponents/Card';\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormInputSearch} from '../../CustomComponents/FormInputSearch';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {FormSelectSearch} from '../../CustomComponents/FormSelectSearch';\r\nimport {FormLabelField} from '../../CustomComponents/FormLabelField';\r\nimport jsonState from '../../../json/State.json';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport '../../../assets/css/Style.css'\r\nimport {FormCheckBox} from '../../CustomComponents/FormCheckBox';\r\nimport { Redirect, NavLink } from 'react-router-dom';\r\nimport { OrderRequestFormParameter, Istate } from \"../../../Model/OrderRequestForm\"; \r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class ApprovalHistoryView extends Component \r\n{\r\n constructor(props:OrderRequestFormParameter){ \r\n super(props)\r\n const userLogin = sessionStorage.getItem(\"userLogin\")\r\n     let loggedIn = true;\r\n     if (userLogin == null){\r\n         loggedIn = false;\r\n     }\r\n this.state={\r\n fields: { nextStep:'',depot:'',approvers:'',legacyOrder:'',requestDate:'',customerPO:'',salesType:'',shipmentMethod:'',orderBy:'',accountNo:'',customerNumber:'',businessUnit:'',department:'',uid:'',pwd:'',lblSearchContact:'',businessunit:'',orderType:'',billTo:'',shipTo:'',specialIns:'',orderId:'',label:'',reason:'',qtyReq:[],rejectItem:[],comments:'' },\r\n selectfields: {shipmentMethod:''},\r\n errMsg:\"\",\r\n items:[],\r\n approvers:[],\r\n key:0,\r\n loggedIn,\r\n loading:false\r\n }\r\n }\r\n componentWillMount(){\r\n let fields = this.state.fields;\r\n //this.props.location.state.Order_id;\r\n //this.props.location.state.goodsReq === \"V\"\r\n //\r\n fields['nextStep'] = \"Approved\";\r\n fields['depot'] = \"\";\r\n fields['approvers'] = \"6/18/2020 5:18:07 PM : KEVIN LIPSON \\n 6/22/2020 1:53:30 PM : DOUG KOCH \\n 6/22/2020 1:53:32 PM : DOUG KOCH\";\r\n fields['legacyOrder'] = \"\";\r\n fields['requestDate'] = \"6/24/2020 10:00 AM\";\r\n fields['customerPO'] = \"566748\";\r\n fields['salesType'] = \"53 Marked\";\r\n fields['shipmentMethod'] = \"Standard Ground\";\r\n fields['orderBy'] = \"RYAN STEVEN\";\r\n fields['accountNo'] = \"\";\r\n fields['customerNumber'] = \"ON890\";\r\n fields['businessUnit'] = \"US1A0283\";\r\n fields['department'] = \"Shared Svcs-Sales\";\r\n fields['billTo'] = \"\";\r\n fields['shipTo'] = \"Lauren LeTourneau \\n Lauren LeTourneau \\n 1347 Clearwater Drive \\n Woodbury, MN 55129 \\n USA\";\r\n fields['orderId'] = \"566748\";\r\n fields['label'] = \"Republic Records\";\r\n fields['reason'] = \"Promo copy - Lauren LeTourneau (Target)\";\r\n\r\n this.setState({ fields, items:JSON.parse(JSON.stringify(jsonState.result)), approvers:JSON.parse(JSON.stringify(jsonState.result)) }); \r\n }\r\n displayOrderItemsTable=()=>{\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return this.orderItemsTableForView();\r\n }\r\n else\r\n {\r\n return this.orderItemsTableForEdit();\r\n }\r\n\r\n }\r\n displayShipingMethod=()=>{\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return \r\n }\r\n else\r\n {\r\n return \r\n Shipment Method\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n orderItemsTableForView=()=>{\r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderView.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderView.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
{prop + key}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEdit=()=>{\r\n \r\n return \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderEdit.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderEdit.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return this.formControl(prop, key);\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
\r\n
\r\n \r\n
\r\n\r\n }\r\n orderItemsTableForEditButton=()=>{\r\n const {loading} = this.state;\r\n if(this.props.location.state.goodsReq === 'V')\r\n {\r\n return <>\r\n }\r\n else\r\n {\r\n return
\r\n \r\n \r\n \r\n Comments (Order Changes/Depot)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n }\r\n formControl=(prop, key)=>{\r\n if(key === 0){\r\n return {prop};\r\n }\r\n else if(key === 7){\r\n return \r\n }\r\n else if(key === 8){\r\n return \r\n }\r\n else\r\n {\r\n return {prop};\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.loggedIn === false){\r\n return \r\n }\r\n return (
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.errMsg}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {'Approvers'}\r\n {this.state.fields.approvers.split('\\n').map((item, key) => {\r\n return
{item}
\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n

FREE GOODS REQUEST FORM

\r\n

53

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Request Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.displayShipingMethod()}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Order Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {'Ship To'}\r\n {this.state.fields.shipTo.split('\\n').map((item, key) => {\r\n return
{item}
\r\n })}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Ordered Items\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {this.displayOrderItemsTable()}\r\n
\r\n {this.orderItemsTableForEditButton()}\r\n \r\n \r\n
\r\n \r\n Approver Details\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {new Variables().thArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {new Variables().tdArrayFreeGoodsOrderApprovers.map((prop, key) => {\r\n return (\r\n \r\n {prop.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{prop}
{prop}
\r\n
\r\n \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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class OrderViewController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response : any;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n\r\n getListOrderView(filter : string,filter_type : string,start_date : string,end_date : string){\r\n var url = this.variables.Url + this.variables.Controller.orderView + this.variables.orderViewService.getListOrderView;\r\n var data = {\r\n \"filter\": filter,\r\n \"filterType\" : filter_type,\r\n \"startDate\":start_date,\r\n \"endDate\" : end_date \r\n } \r\n return this.serviceProxy.get(url,data)\r\n .then(response => {\r\n var jsonOrderViewList : Array<{ \"Order_Id\": string; \"Billable\": boolean;\"Material\":boolean;\"Overnight\":boolean; \"Requestor\":string;\"Label_Id\":string;\r\n \"Super_Label_Id\": string;\"Status\": string;\"Requestor_Weight\":string;\"Ship_Method\":string;\"Created\":string}> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { Order_Id:string;Billable:boolean;Material:boolean;Overnight:boolean;Requestor:string;Label_Id:string;Super_Label_Id:string;Status:string;Requestor_Weight:string;Ship_Method:string;Created:string\r\n Date_Uploaded:string;StatusDesc:string }, _index: number){\r\n jsonOrderViewList.push({\"Order_Id\": item.Order_Id,\"Billable\":item.Billable,\"Material\":item.Material,\"Overnight\":item.Overnight,\r\n \"Requestor\":item.Requestor,\"Label_Id\":item.Label_Id,\"Super_Label_Id\":item.Super_Label_Id,\"Status\":item.Status,\"Requestor_Weight\":item.Requestor_Weight,\"Ship_Method\":item.Ship_Method,\"Created\":item.Created})\r\n }\r\n return JSON.parse(JSON.stringify(jsonOrderViewList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n this.response.msg = response.message.toString();\r\n this.response.success = false;\r\n return JSON.parse(JSON.stringify(jsonOrderViewList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button, Navbar, Nav } from \"react-bootstrap\";\r\nimport { History, LocationState } from \"History\";\r\nimport { UserViewController } from \"../../../Controllers/UserViewController\"\r\nimport { format } from 'date-fns'\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { NavLink } from 'react-router-dom'\r\nimport '../../../assets/css/CreateOrder.css'\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\"\r\nimport DatePicker from 'react-datepicker';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css'\r\nimport { IOrderViewParameter, Istate } from \"../../../Model/OrdersView\"; \r\nimport{OrderViewController} from \"../../../Controllers/OrderViewController\"\r\n\r\nexport class OrdersView extends Component {\r\n constructor(props: IOrderViewParameter) {\r\n\r\n super(props)\r\n this.state = {\r\n fields: { find: ''},\r\n errors: { find: ''},\r\n selectfields: { searchBy: '' },\r\n errMsg: \"\",\r\n todayDate: \"\",\r\n previousdate: \"\",\r\n Order_id: \"\",\r\n goodsReq: \"\",\r\n loading: false,\r\n selectedDate: '2017-08-13',\r\n hidediv: true,\r\n startDate: \"\", \r\n endDate:\"\",\r\n isListAvl:false,\r\n displayGrid:[],\r\n isListAvlMsg:\"List is Empty...Please search for the needs\",\r\n task_For:\"\",\r\n }\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleCheckChange = this.handleCheckChange.bind(this); \r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this);\r\n this.onSubmit=this.onSubmit.bind(this); \r\n this.setActiveTab=this.setActiveTab.bind(this);\r\n this.handleTextChange = this.handleTextChange.bind(this);\r\n }\r\n\r\n componentWillMount()\r\n {\r\n var today =new Date(); \r\n var startDate=new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000));\r\n this.setState({ startDate: startDate}); \r\n this.setState({ endDate: today}); \r\n let selectfields = this.state.selectfields;\r\n selectfields.searchBy= \"Requestor\"; \r\n this.setState({selectfields }) \r\n }\r\n\r\n\r\n componentDidMount() {\r\n var newDate = new Date();\r\n var pdate = new Date();\r\n pdate.setDate(pdate.getDate() - 45);\r\n //var previousDate = format(pdate, 'dd/MM/yyyy');\r\n //var todayDate = format(newDate, 'dd/MM/yyyy')\r\n\r\n\r\n //this.setState({todayDate : todayDate}) \r\n // this.setState({previousdate : previousDate})\r\n\r\n // var hiddenInputElement = document.getElementById(\"example-datepicker\");\r\n // console.log(hiddenInputElement.value); // ISO String, ex: \"2016-11-19T12:00:00.000Z\"\r\n // console.log(hiddenInputElement.getAttribute('data-formattedvalue')) // Formatted String, ex: \"11/19/2016\"\r\n\r\n sessionStorage.setItem('ViewOrderStatus', '0' )\r\n let SH\r\n SH = sessionStorage.getItem(\"OrdersViewStatus\") \r\n sessionStorage.setItem('OrdersViewStatus', '0' ) \r\n if (SH==='1')\r\n {\r\n this.setState({isListAvl:true})\r\n this.setState({ \r\n displayGrid: JSON.parse(sessionStorage.getItem('OrdersView') || \"\") \r\n });\r\n }\r\n else\r\n {\r\n this.setState({isListAvl:false})\r\n }\r\n\r\n this.setState({\r\n hidediv: true\r\n });\r\n\r\n }\r\n\r\n handleLog(date) {\r\n this.setState({\r\n selectedDate: date\r\n });\r\n }\r\n\r\n handleClick(e: any) { \r\n this.setState({\r\n hidediv: false\r\n });\r\n }\r\n\r\n handleChangeStartDate = date => {\r\n this.setState({\r\n startDate: date\r\n });\r\n };\r\n handleChangeEndDate = date => {\r\n this.setState({\r\n endDate: date\r\n });\r\n };\r\n\r\n handleSelectChange (e:any) { \r\n let selectfields = this.state.selectfields;\r\n selectfields.searchBy= e.currentTarget.value; \r\n this.setState({\r\n selectfields\r\n })\r\n }\r\n\r\n handleCheckChange = (e: any) => {\r\n let checkfields = this.state.fields.checkid;\r\n // checkfields[e.currentTarget.name] = !this.state.optionfields.name\r\n // this.setState({\r\n // checkfields\r\n // });\r\n // backgroundColor:'lightblue';\r\n\r\n const color1 = this.state.fields.checkid.CHECKED === 'Y' ? \"red\" : \"\";\r\n\r\n }\r\n\r\n handleTextChange (e:any) {\r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n onSubmit =(e:any)=>{\r\n try{\r\n e.preventDefault();\r\n if (this.ValidateDate()) { \r\n this.setState({ loading: true });\r\n this.setState({isListAvl:false})\r\n var sD = this.state.startDate;\r\n var curr_date = sD.getDate();\r\n var curr_month = sD.getMonth() + 1; //Months are zero based\r\n var curr_year = sD.getFullYear();\r\n var startDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n \r\n var eD = this.state.endDate;\r\n var curr_date = eD.getDate();\r\n var curr_month = eD.getMonth() + 1; //Months are zero based\r\n var curr_year = eD.getFullYear();\r\n var endDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n let orderViewController = new OrderViewController();\r\n orderViewController.getListOrderView(this.state.fields.find,this.state.selectfields.searchBy,\r\n startDate,endDate)\r\n .then(jsonOrderViewList =>{\r\n this.setState({ \r\n displayGrid : JSON.parse(JSON.stringify(jsonOrderViewList)), loading: false\r\n }); \r\n sessionStorage.setItem('OrdersView', JSON.stringify(jsonOrderViewList))\r\n if(this.state.displayGrid.length > 0)\r\n { \r\n this.setState({isListAvl:true})\r\n this.setState({isListAvlMsg:\"\"})\r\n this.setState({ loading: false });\r\n }\r\n else\r\n { \r\n this.setState({isListAvlMsg:\"No record(s) found\"})\r\n this.setState({ loading: false });\r\n } \r\n }).catch(error => { \r\n this.setState({ loading: false });\r\n console.log(error);\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n } \r\n }\r\n\r\n setActiveTab = (e) => {\r\n e.preventDefault();\r\n } \r\n\r\n ValidateDate(){ \r\n this.clearError();\r\n let formIsValid = true; \r\n let errors = this.state.errors;\r\n var sD = format(this.state.startDate, 'dd/MM/yyyy');\r\n var eD = format(this.state.endDate, 'dd/MM/yyyy');\r\n var today =new Date();\r\n var todayDate = format(today, 'dd/MM/yyyy');\r\n \r\n if(today < this.state.startDate )\r\n {\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n formIsValid =false;\r\n }\r\n else if(todayDate === sD)\r\n {\r\n errors[\"startDate\"] = \"Date must be less today's date\";\r\n formIsValid =false;\r\n } \r\n if(eD > todayDate)\r\n {\r\n errors[\"endDate\"] = \"Date is greater than today's date\";\r\n formIsValid =false;\r\n } \r\n return formIsValid;\r\n }\r\n \r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"startDate\"] = \"\"; \r\n errors[\"endDate\"]=\"\"; \r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n getItemInfo= (item) =>{\r\n if(item[\"Material\"] === \"1\" || item[\"Billable\"] === \"1\")\r\n {\r\n if(item[\"Material\"] === \"1\")\r\n {\r\n return \" Clean\"\r\n }\r\n else if(item[\"Billable\"] === \"1\")\r\n {\r\n return \" Billable\"\r\n }\r\n }\r\n else if(item[\"Billable\"] === \"2\")\r\n {\r\n return \" Non Billable Transfer\"\r\n }\r\n else{\r\n return \"\"\r\n } \r\n }; \r\n \r\n getBillablewithCheckBox= (item) =>{\r\n if (item[\"Billable\"] === true) {\r\n return ()\r\n } \r\n }\r\n\r\n getOvernightwithCheckBox= (item) =>{\r\n if (item[\"Overnight\"] === true) {\r\n return ()\r\n } \r\n }\r\n\r\n getCleanwithCheckBox= (item) =>{\r\n if (item[\"Material\"] === true) {\r\n return ()\r\n } \r\n }\r\n\r\n convertDateTimeFormat=(item) =>{\r\n var dt = item[\"Created\"];\r\n var date = new Date(dt);\r\n return date.toLocaleString();\r\n }\r\n\r\n getLinkWithOrderPath= (item) =>{\r\n return ({item[\"Order_Id\"]}) \r\n }\r\n\r\n handleRefreshPage=(e:any) => {\r\n window.location.reload(); \r\n }\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"0 0 0 0\"\r\n };\r\n const { isListAvl } = this.state; \r\n return (\r\n
\r\n \r\n \r\n \r\n

Orders

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n Select\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Fields for Date Between\r\n \r\n\r\n \r\n \r\n \r\n \r\n and\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n { isListAvl ? \r\n \r\n \r\n \r\n {new Variables().thOrderViewList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.displayGrid.map((prop, key) => {\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
{prop}
{this.getLinkWithOrderPath(prop)}{prop[\"Requestor\"]}\r\n {this.getBillablewithCheckBox(prop)}\r\n \r\n {this.getOvernightwithCheckBox(prop)}\r\n \r\n {this.getCleanwithCheckBox(prop)}\r\n {prop[\"Status\"]}{prop[\"Requestor_Weight\"]}{prop[\"Label_Id\"]}{prop[\"Super_Label_Id\"]}{prop[\"Ship_Method\"]}{this.convertDateTimeFormat(prop)}
:\r\n \r\n \r\n {new Variables().thOrderViewList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{prop}
{this.state.isListAvlMsg}
} \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container, Card, Row, Col, Form, Button, Table, Alert, Modal} from \"react-bootstrap\";\r\nimport '../../../assets/css/Style.css'\r\nimport { FormSelect } from \"../../CustomComponents/FormSelect\";\r\nimport { SysopController } from \"../../../Controllers/SysopController\";\r\nimport { CommonController } from \"../../../Controllers/CommonController\";\r\nimport { IApprovalProcessAdminParameter, Istate } from \"../../../Model/ApprovalProcessAdmin\";\r\nimport publicIP from 'react-native-public-ip';\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport ReactExport from \"react-export-excel\";\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n\r\nexport class ApprovalProcessAdmin extends Component {\r\n constructor(props:IApprovalProcessAdminParameter){\r\n super(props);\r\n this.state = {\r\n fields: {ipAddress: ''},\r\n selectfields: {currentApproverId:'', currentApproverName:'', newApproverId:'', newApproverName:'', recordLabelId:'', recordLabelName:''},\r\n optionfields: {addApprover: true, replaceApprover: false, deleteApprover: false},\r\n errors: {currentApproverId:'', newApproverId:'', recordLabelId:''},\r\n approvers: [],\r\n recordLabel: [],\r\n process: [],\r\n checkAlternateApprovers: [],\r\n loading: {showLoading: false, proceedLoading: false}, \r\n errMsg:'',\r\n show: false,\r\n modal: {modalShow: false, modalTitle: '', modalSpinnerShow: false}\r\n }\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleOptionChange = this.handleOptionChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n //Load Spinner\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n\r\n let selectfields = this.state.selectfields;\r\n selectfields[\"currentApproverName\"] = \"Select Current Approver\";\r\n selectfields[\"newApproverName\"] = \"Select New Approver\";\r\n selectfields[\"recordLabelName\"] = \"Select All\";\r\n this.setState({ selectfields });\r\n\r\n let sysopController = new SysopController();\r\n sysopController.getApproverNames().then(jsonApprovers => {\r\n this.setState({ \r\n approvers : JSON.parse(JSON.stringify(jsonApprovers))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading approvers name\")\r\n });\r\n\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n });\r\n\r\n publicIP().then(ip => {\r\n let fields = this.state.fields;\r\n fields['ipAddress'] = ip\r\n this.setState({ fields });\r\n //Stop Spinner\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading IP Address..., \" + error)\r\n });\r\n }\r\n\r\n pageReload = () =>{\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let selectfields = this.state.selectfields;\r\n let optionfields = this.state.optionfields;\r\n selectfields[\"currentApproverId\"] = \"Select Current Approver\";\r\n selectfields[\"currentApproverName\"] = \"Select Current Approver\";\r\n selectfields[\"newApproverId\"] = \"Select New Approver\";\r\n selectfields[\"newApproverName\"] = \"Select New Approver\";\r\n selectfields[\"recordLabelId\"] = \"Select All\";\r\n selectfields[\"recordLabelName\"] = \"Select All\";\r\n optionfields[\"addApprover\"] = true;\r\n optionfields[\"replaceApprover\"] = false;\r\n optionfields[\"deleteApprover\"] = false;\r\n this.setState({selectfields, optionfields});\r\n this.setState({process:[], show:false});\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }\r\n\r\n handleSelectChange = (e:any) => {\r\n let selectfields = this.state.selectfields;\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n if(e.currentTarget.name === 'currentApproverId'){\r\n selectfields[\"currentApproverName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n if(e.currentTarget.name === 'newApproverId'){\r\n selectfields[\"newApproverName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n let errors = this.state.errors;\r\n errors[\"newApproverId\"] = \"\";\r\n this.setState({ errors });\r\n }\r\n if(e.currentTarget.name === 'recordLabelId'){\r\n selectfields[\"recordLabelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n this.setState({\r\n selectfields\r\n });\r\n }\r\n\r\n handleOptionChange = (e:any) =>{\r\n let optionfields = this.state.optionfields;\r\n if (e.currentTarget.id === \"addApprover\") {\r\n optionfields['addApprover'] = !this.state.optionfields.addApprover;\r\n optionfields['replaceApprover'] = false;\r\n optionfields['deleteApprover'] = false;\r\n }\r\n else if (e.currentTarget.id === \"replaceApprover\") {\r\n optionfields['addApprover'] = false;\r\n optionfields['replaceApprover'] = !this.state.optionfields.replaceApprover;\r\n optionfields['deleteApprover'] = false;\r\n }\r\n else if (e.currentTarget.id === \"deleteApprover\") {\r\n optionfields['addApprover'] = false;\r\n optionfields['replaceApprover'] = false;\r\n optionfields['deleteApprover'] = !this.state.optionfields.deleteApprover;\r\n }\r\n else {\r\n optionfields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n this.setState({\r\n optionfields\r\n });\r\n }\r\n\r\n clearError(){\r\n let errors = this.state.errors;\r\n errors[\"currentApproverId\"] = \"\";\r\n errors[\"newApproverId\"] = \"\";\r\n errors[\"recordLabelId\"] = \"\";\r\n this.setState({ errors });\r\n }\r\n\r\n validateProfile(){\r\n this.clearError();\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if(selectfields[\"currentApproverName\"] === \"Select Current Approver\"){\r\n formIsValid = false;\r\n errors[\"currentApproverId\"] = \"Please select current approver\";\r\n }\r\n if(!formIsValid){\r\n let loading = this.state.loading;\r\n loading[\"showLoading\"] = false;\r\n this.setState({ loading });\r\n }\r\n this.setState({ errors });\r\n return formIsValid;\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n e.preventDefault();\r\n let loading = this.state.loading;\r\n loading[\"showLoading\"] = true;\r\n this.setState({ loading });\r\n if(this.validateProfile()){\r\n let sysopController = new SysopController();\r\n var label = this.state.selectfields.recordLabelId;\r\n if(this.state.selectfields.recordLabelId === \"Select All\"){\r\n label = '';\r\n }\r\n sysopController.getApprovalProcessDetails(this.state.selectfields.currentApproverId,label).then(jsonProcessTable => {\r\n this.setState({ \r\n process : JSON.parse(JSON.stringify(jsonProcessTable))\r\n });\r\n loading[\"showLoading\"] = false;\r\n this.setState({ loading });\r\n }).catch(error => {\r\n console.error(\"There was an error loading process table\")\r\n });\r\n this.setState({\r\n show:true\r\n });\r\n }\r\n }\r\n\r\n handleProceed = (e:any) => {\r\n e.preventDefault();\r\n let loading = this.state.loading;\r\n loading[\"proceedLoading\"] = true;\r\n this.setState({ loading });\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let sysopController = new SysopController();\r\n if(this.state.optionfields.addApprover){\r\n if(selectfields[\"newApproverName\"] === \"Select New Approver\"){\r\n errors[\"newApproverId\"] = \"Please select new approver\";\r\n loading[\"proceedLoading\"] = false;\r\n this.setState({ loading });\r\n this.setState({errors});\r\n }\r\n else{\r\n sysopController.addApprover(this.state.selectfields.currentApproverId,this.state.selectfields.newApproverId,this.state.selectfields.recordLabelId).then(response => {\r\n alert(\"Approver added successfully...\")\r\n loading[\"proceedLoading\"] = false;\r\n this.setState({ loading });\r\n this.pageReload();\r\n }).catch(error => {\r\n console.error(\"There was an error...\")\r\n });\r\n }\r\n }\r\n else if(this.state.optionfields.replaceApprover){\r\n if(selectfields[\"newApproverName\"] === \"Select New Approver\"){\r\n errors[\"newApproverId\"] = \"Please select new approver\";\r\n this.setState({errors});\r\n loading[\"proceedLoading\"] = false;\r\n this.setState({ loading });\r\n }\r\n else{\r\n sysopController.replaceApprover(this.state.selectfields.currentApproverId,this.state.selectfields.newApproverId,this.state.selectfields.recordLabelId,sessionStorage.getItem(\"uid\")!,this.state.fields.ipAddress).then(response => {\r\n alert(\"Approver replaced successfully...\")\r\n loading[\"proceedLoading\"] = false;\r\n this.setState({ loading });\r\n this.pageReload();\r\n }).catch(error => {\r\n console.error(\"There was an error...\")\r\n });\r\n }\r\n }\r\n else if(this.state.optionfields.deleteApprover){\r\n sysopController.checkAlternateApprovers(this.state.selectfields.currentApproverId,this.state.selectfields.recordLabelId).then(jsonCheckAlternateApprovers => {\r\n this.setState({ \r\n checkAlternateApprovers : JSON.parse(JSON.stringify(jsonCheckAlternateApprovers))\r\n });\r\n if(Object.keys(this.state.checkAlternateApprovers).length === 0){\r\n sysopController.deleteApprover(this.state.selectfields.currentApproverId,this.state.selectfields.recordLabelId,sessionStorage.getItem(\"uid\")!,this.state.fields.ipAddress).then(response => {\r\n alert(\"Approver removed successfully...\")\r\n loading[\"proceedLoading\"] = false;\r\n this.setState({ loading });\r\n this.pageReload();\r\n }).catch(error => {\r\n console.error(\"There was an error...\")\r\n });\r\n }\r\n else{\r\n loading[\"proceedLoading\"] = false;\r\n this.setState({ loading });\r\n let modal = this.state.modal;\r\n modal['modalShow']=true;\r\n modal['modalTitle'] = 'Approval Process Model';\r\n this.setState({ modal })\r\n }\r\n }).catch(error => {\r\n console.error(\"There was an error...\")\r\n });\r\n }\r\n }\r\n\r\n handleModalClose = (e : any) => {\r\n let modal = this.state.modal;\r\n modal['modalShow'] = false;\r\n this.setState({ modal })\r\n }\r\n\r\n showModalBody = () => {\r\n return \r\n \r\n \r\n \r\n \r\n
No alternate approver for below approval process. Please add the alternate approver before delete the approver
\r\n \r\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.checkAlternateApprovers.map((prop, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Process NameType
{prop[\"processName\"]}{prop[\"type\"]}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n render(){\r\n const{ loading } = this.state;\r\n return (\r\n
\r\n \r\n \r\n {this.state.modal.modalTitle}\r\n \r\n \r\n {this.showModalBody()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Approval Process Admin

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\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.show && Export to Excel}>\r\n \r\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.show && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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.show && \r\n \r\n \r\n \r\n

Approval Process Detail

\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Object.keys(this.state.process).length === 0 ?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n {this.state.process.map((prop, key) => {\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
Process NameUser NameApproval TypeNameLabelDepartment
No approval process associated to selected user
{prop[\"processName\"]}{prop[\"alias\"]}{prop[\"typedesc\"]}{prop[\"name\"]}{prop[\"labelName\"]}{prop[\"department\"]}
\r\n
\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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class AutoAddExecUserController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n \r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n\r\n getExecUserDept(){\r\n var url = this.variables.Url+ this.variables.Controller.autoAddExecUser + this.variables.autoAddExecUserService.getExecUserDept;\r\n return this.serviceProxy.get(url,{})\r\n .then(response => {\r\n var jsonDept : Array<{\"id\": string, \"dept\": string, \"label\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(dept);\r\n function dept(item: { department: any; RecordLabel: any; AutoAddExecUserDeptID: any;}, index: number){\r\n jsonDept.push({\"id\": item.AutoAddExecUserDeptID, \"dept\": item.department, \"label\": item.RecordLabel})\r\n }\r\n return JSON.parse(JSON.stringify(jsonDept).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonDept).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n }\r\n\r\n insertExecUserDeptFlag(dept : string , recordLabelId : string){\r\n var url = this.variables.Url + this.variables.Controller.autoAddExecUser + this.variables.autoAddExecUserService.insertExecUserDeptFlag;\r\n var data = {\r\n dept : dept,\r\n recordLabelId : recordLabelId, \r\n }\r\n return this.serviceProxy.post(url,data).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n deleteExecUserDeptFlag(id:number){\r\n var url = this.variables.Url + this.variables.Controller.autoAddExecUser + this.variables.autoAddExecUserService.deleteExecUserDeptFlag;\r\n var data = {\r\n id : id \r\n }\r\n return this.serviceProxy.delete(url, data).then(response =>{\r\n return response\r\n }).catch(error => {\r\n console.error(\"Error in update dept...,\" + error);\r\n });\r\n }\r\n\r\n\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { History, LocationState } from \"History\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button} from \"react-bootstrap\";\r\n//import { Container, Row, Col, Form, Alert, Button, ProgressBar } from \"../../../../node_modules/react-bootstrap\";\r\nimport '../../../assets/css/AdminLayout.css'\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport { AutoAddExecUserController} from '../../../Controllers/AutoAddExecUserController';\r\nimport { IAddExecutiveUserParameter, Istate } from \"../../../Model/AddExecutiveUser\"; \r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class AddExecutiveUser extends Component {\r\n constructor(props: IAddExecutiveUserParameter) {\r\n super(props)\r\n this.state = { \r\n selectfields: { recordlabelId:'',department:'',}, \r\n errors: {recordLabelName:'',department:''},\r\n errMsg: '', \r\n Recordlabel:[],\r\n Department:[],\r\n ExecUserDeptList:[],\r\n loading:false \r\n }\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.onSubmit=this.onSubmit.bind(this);\r\n }\r\n\r\n componentWillMount()\r\n {\r\n let commonController = new CommonController();\r\n let autoAddExecUserController = new AutoAddExecUserController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n Recordlabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company..., \" + error)\r\n }); \r\n \r\n commonController.getAllDepartment().then(jsonDept => {\r\n this.setState({ \r\n Department : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading department..., \" +error )\r\n }); \r\n\r\n autoAddExecUserController.getExecUserDept().then(jsonExecUser =>{\r\n this.setState({ \r\n ExecUserDeptList : JSON.parse(JSON.stringify(jsonExecUser))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading the list..., \" +error )\r\n });\r\n\r\n }\r\n\r\n deleteExecUser = (e) => { \r\n let autoAddExecUserController = new AutoAddExecUserController();\r\n autoAddExecUserController.deleteExecUserDeptFlag(e).then(response => { \r\n if (response.success){ \r\n alert(\"Data Deleted...\")\r\n window.location.reload(); \r\n }\r\n }).catch(error => {\r\n this.setState({ errMsg : \"Process Failed\" });\r\n })\r\n }\r\n\r\n handleSelectChange (e:any) {\r\n try{\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors; \r\n if (e.currentTarget.name === \"recordlabelId\"){ \r\n selectfields[e.currentTarget.name] = e.currentTarget.value; \r\n errors[\"recordLabelName\"] = \"\"; \r\n } \r\n if (e.currentTarget.name === \"department\"){\r\n selectfields['department'] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n errors[\"department\"] = \"\"; \r\n }\r\n this.setState({\r\n selectfields,errors\r\n });\r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n };\r\n\r\n onSubmit =(e:any)=>{\r\n try{\r\n e.preventDefault();\r\n if (this.ValidateSelect()) { \r\n this.setState({ loading: true }); \r\n let autoAddExecUserController = new AutoAddExecUserController();\r\n autoAddExecUserController.insertExecUserDeptFlag(this.state.selectfields.department,this.state.selectfields.recordlabelId)\r\n .then(response => {\r\n if (response.success){ \r\n alert(\"Data Added...\")\r\n window.location.reload(); \r\n }\r\n }).catch(error => {\r\n this.setState({ errMsg : \"Process Failed\" });\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n }\r\n\r\n ValidateSelect(){\r\n this.clearError(); \r\n let formIsValid = true; \r\n let selectLabel =this.state.selectfields.recordlabelId; \r\n let selectDepartment =this.state.selectfields.department;\r\n let errors = this.state.errors;\r\n if (selectLabel === \"\" || selectLabel === \"Select Label\") {\r\n formIsValid = false;\r\n errors[\"recordLabelName\"] = \"Select Label\"; \r\n }\r\n if(selectDepartment === \"\" || selectDepartment === \"Select Department\"){\r\n formIsValid = false;\r\n errors[\"department\"] = \"Select Department\";\r\n }\r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"recordLabelName\"] = \"\"; \r\n errors[\"department\"]=\"\";\r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n render() {\r\n const {loading} = this.state; \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Auto Add Executive User to Department\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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.ExecUserDeptList.map((prop, key) => { \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) \r\n })} \r\n \r\n
Record LabelDepartment
{prop[\"label\"]}{prop[\"dept\"]} this.deleteExecUser(prop[\"id\"])}>Delete
\r\n
\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 { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class AppSettingsController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n \r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n\r\n getAllAppSetting(){\r\n var url = this.variables.Url+ this.variables.Controller.appSettings + this.variables.appSettingsService.getAllAppSetting;\r\n return this.serviceProxy.get(url,{})\r\n .then(response => {\r\n var jsonAppSet : Array<{\"name\": string, \"value\": string}> = [];\r\n if(response.success){\r\n response.recordset.forEach(dept);\r\n function dept(item: { Name: any; Value: any;}, index: number){\r\n jsonAppSet.push({\"name\": item.Name, \"value\": item.Value})\r\n }\r\n return JSON.parse(JSON.stringify(jsonAppSet).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else {\r\n return JSON.parse(JSON.stringify(jsonAppSet).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error =>{\r\n console.error('There was an error!', error);\r\n }); \r\n } \r\n\r\n updateAppSetting(name : string , value : string){ \r\n var url = this.variables.Url+ this.variables.Controller.appSettings + this.variables.appSettingsService.updateAppSetting;\r\n var data = {\r\n name : name,\r\n value : value, \r\n }\r\n return this.serviceProxy.put(url,data).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport { History, LocationState } from \"History\";\r\nimport { Container,Card, Row, Col, Table, Form, Alert, Button} from \"react-bootstrap\";\r\n//import { Container, Row, Col, Form, Alert, Button, ProgressBar } from \"../../../../node_modules/react-bootstrap\";\r\nimport '../../../assets/css/AdminLayout.css'\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport { AppSettingsController} from '../../../Controllers/AppSettingsController';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class AppSettings extends Component {\r\n\r\n constructor(props: AppSettingsParameter) {\r\n super(props)\r\n this.state = { \r\n selectfields: { appName:''}, \r\n errors: {appName:''},\r\n errMsg: '', \r\n appName:[], \r\n loading:false,\r\n value: ''\r\n }\r\n this.onSubmit=this.onSubmit.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n componentWillMount()\r\n { \r\n let appSettingsController = new AppSettingsController();\r\n appSettingsController.getAllAppSetting().then(jsonappName => {\r\n this.setState({ \r\n appName : JSON.parse(JSON.stringify(jsonappName))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading Application settings..., \" + error)\r\n }); \r\n }\r\n\r\n handleSelectChange (e:any) {\r\n try{ \r\n let selectfields = this.state.selectfields;\r\n let selectvalue = e.currentTarget.value;\r\n let errors = this.state.errors; \r\n selectfields[\"appName\"] = e.currentTarget.value; \r\n errors[\"appName\"] = \"\"; \r\n this.state.appName.map((prop) => { \r\n if(prop[\"name\"] === selectvalue)\r\n {\r\n this.setState({ \r\n value : prop[\"value\"]\r\n });\r\n }\r\n })\r\n this.setState({\r\n selectfields,errors\r\n }); \r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n } \r\n\r\n handleChange =(e:any)=>{\r\n let value = this.state.value;\r\n if (e.currentTarget.value.trim().length > 0){\r\n value = e.currentTarget.value;\r\n }\r\n else{\r\n value = e.currentTarget.value.trim();\r\n }\r\n this.setState({ value });\r\n }\r\n\r\n onSubmit =(e:any)=>{\r\n try{\r\n e.preventDefault();\r\n if (this.ValidateSelect()) { \r\n this.setState({ loading: true }); \r\n let appSettingsController = new AppSettingsController();\r\n appSettingsController.updateAppSetting(this.state.selectfields.appName,this.state.value)\r\n .then(response => {\r\n if (response.success){ \r\n alert(\"Data Updated...\")\r\n window.location.reload(); \r\n }\r\n }).catch(error => {\r\n this.setState({ errMsg : \"Process Failed\" });\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n }\r\n\r\n ValidateSelect(){\r\n this.clearError(); \r\n let formIsValid = true; \r\n let selectsetting =this.state.selectfields.appName; \r\n let errors = this.state.errors;\r\n if (selectsetting === \"\" || selectsetting === \"Select Setting\") {\r\n formIsValid = false;\r\n errors[\"appName\"] = \"Select Setting\"; \r\n }\r\n \r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"appName\"] = \"\"; \r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n render() {\r\n const {loading} = this.state; \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Edit Application Setting\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 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\ninterface AppSettingsParameter { \r\n history?: History;\r\n }\r\n \r\n interface Istate { \r\n selectfields: any; \r\n errMsg: string; \r\n appName:[]; \r\n errors:any;\r\n loading:boolean;\r\n value:any;\r\n }","import React, { Component, CSSProperties} from \"react\";\r\nimport {Container,Card, Row, Col,Table,Form,Alert,Button,Navbar, Nav,FormText} from \"react-bootstrap\";\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport {FormLabelField} from '../../CustomComponents/FormLabelField';\r\nimport { NavLink, withRouter } from 'react-router-dom'\r\nimport '../../../assets/css/Style.css'\r\nimport '../../../assets/css/ViewOrder.css'\r\nimport * as CopyToClipboard from \"../../../js/CopyToClipboard.js\"\r\nimport { ViewOrderDetailsParameter, Istate } from \"../../../Model/ViewOrderDetails\"; \r\nimport{ViewOrderController} from \"../../../Controllers/ViewOrderController\";\r\nimport flag from \"../../../assets/img/redflag.gif\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\n\r\nexport class ViewOrderDetails extends Component {\r\n constructor(props:ViewOrderDetailsParameter){ \r\n super(props) \r\n \r\n this.state={ \r\n lblFields: {Order_Id:'',Alias:'',Process_Name:'',ArriveBy:'',BusinessUnit:'',SpecialInstructions:'',Reason:'',DepotComments:'',LegacyOrder:'',\r\n Status_Id:'',DateShipped:'',ShipTrackNo:'',Name:'',ShipToName:'',AddressLineOne:'',AddressLineTwo:'',City:'',State:'',label:'',\r\n Zip:'',Country:'',Phone:'',Requestor_Weight:'',Approver_Id:'',Approval_Date:'',Request_Date:'',ApproverComments:'',\r\n Label_Id:'',Super_Label_Id:'',IP_Address:'',Material:false,Date_Processed:'',Depot_Id:'',Department:'',ApproveBy_Clean:'',ApproveBy_Overnight:'',\r\n Overnight:'',CustomerNumber:'',RecordLock:'',Depot_Printer:'',Depot_Printer_Date:'',Ship_Method:'',Billable:false,Created:'',\r\n account_no:'',freight_billing_info:'',alias_Email:'',StatusDesc:'',status_id:'',Recordlabel_Id:'',ntbillablet:false,prePaid:false}, \r\n lblApproverFields: {approver_Alias:'',approver_Name:'',sales_type:'',alias_Name:'',bill_to_name:'',bill_to_address:'',bill_to_city_state_zip:''}, \r\n errors: {}, \r\n errMsg:\"\", \r\n Order_id:\"\", \r\n alias:\"\", \r\n lblNextApprover:\"\", \r\n lblPageTitle:\"\", \r\n salesType:\"\",\r\n requestDate:\"\",\r\n isPrint:false,\r\n discount:\"\",\r\n clean_54_DISCOUNT_THRESHOLD:.4.toFixed(2),\r\n clean_56_DISCOUNT_THRESHOLD:.15.toFixed(2),\r\n clean_59_DISCOUNT_THRESHOLD:.3.toFixed(2),\r\n clean_66_DISCOUNT_THRESHOLD:.15.toFixed(2),\r\n displayOrdDetListGrid:[],\r\n displayAppHistoryList:[], \r\n displayDepotHistoryList:[], \r\n displayNxtLevelApprover:[],\r\n modal: {modalSpinnerShow: false},\r\n formdata: [] \r\n \r\n } \r\n\r\n this.onSubmit = this.onSubmit.bind(this);\r\n \r\n }\r\n\r\n componentWillMount(){\r\n\r\n sessionStorage.setItem('SearchHistoryView', '1' )\r\n sessionStorage.setItem('ViewOrderStatus', '1' )\r\n sessionStorage.setItem('OrdersViewStatus', '1' ) \r\n var bchk = sessionStorage.getItem('Bchk')\r\n\r\n\r\n if (bchk === '1')\r\n {\r\n sessionStorage.setItem('Bchk', '0' ) \r\n sessionStorage.setItem('ViewOrderStatusSR', '1' )\r\n }\r\n else\r\n {\r\n sessionStorage.setItem('ViewOrderStatusSR', '0' ) \r\n }\r\n\r\n let oId= \"\";\r\n let isPrint = this.state.isPrint;\r\n let modal = this.state.modal;\r\n if(this.props.location.state.Order_id != \"\") \r\n {\r\n oId= this.props.location.state.Order_id;\r\n } \r\n if(this.props.location.state.task_For != \"\") \r\n {\r\n if(this.props.location.state.task_For === \"P\") \r\n {\r\n isPrint = true;\r\n }\r\n else\r\n {\r\n isPrint = false;\r\n //Load Spinner\r\n modal['modalSpinnerShow']=true; \r\n }\r\n }\r\n \r\n \r\n \r\n this.setState({Order_id:oId,isPrint,modal }) \r\n this.loadOrderData()\r\n \r\n \r\n } \r\n\r\n \r\n\r\n loadOrderData() {\r\n let viewOrderController = new ViewOrderController();\r\n let lblFields = this.state.lblFields; \r\n viewOrderController.getOrderSummary(this.props.location.state.Order_id).then(resOrderdata=>{ \r\n this.loadApproverData() \r\n lblFields[\"Order_Id\"] = resOrderdata.Order_Id || \"\";\r\n lblFields[\"Alias\"] = resOrderdata.Alias || \"\";\r\n lblFields[\"Process_Name\"] = resOrderdata.Process_Name || \"\";\r\n lblFields[\"ArriveBy\"] = resOrderdata.ArriveBy || \"\";\r\n lblFields[\"BusinessUnit\"] = resOrderdata.BusinessUnit || \"\";\r\n lblFields[\"SpecialInstructions\"] = resOrderdata.SpecialInstructions || \"\";\r\n lblFields[\"Reason\"] = resOrderdata.Reason || \"\";\r\n lblFields[\"DepotComments\"] = resOrderdata.DepotComments || \"\";\r\n lblFields[\"LegacyOrder\"] = resOrderdata.LegacyOrder || \"\";\r\n lblFields[\"Status_Id\"] = resOrderdata.Status_Id || \"\";\r\n lblFields[\"DateShipped\"] = resOrderdata.DateShipped || \"\";\r\n lblFields[\"ShipTrackNo\"] = resOrderdata.ShipTrackNo || \"\";\r\n lblFields[\"Name\"] = resOrderdata.Name || \"\";\r\n lblFields[\"ShipToName\"] = resOrderdata.ShipToName || \"\";\r\n lblFields[\"AddressLineOne\"] = resOrderdata.AddressLineOne || \"\";\r\n lblFields[\"AddressLineTwo\"] = resOrderdata.AddressLineTwo || \"\";\r\n lblFields[\"City\"] = resOrderdata.City || \"\";\r\n lblFields[\"State\"] = resOrderdata.State || \"\";\r\n lblFields[\"Zip\"] = resOrderdata.Zip || \"\";\r\n lblFields[\"Country\"] = resOrderdata.Country || \"\";\r\n lblFields[\"Phone\"] = resOrderdata.Phone || \"\";\r\n lblFields[\"Requestor_Weight\"] = resOrderdata.Requestor_Weight || \"\";\r\n lblFields[\"Approver_Id\"] = resOrderdata.Approver_Id || \"\";\r\n lblFields[\"Approval_Date\"] = resOrderdata.Approval_Date || \"\";\r\n lblFields[\"Request_Date\"] = resOrderdata.Request_Date || \"\";\r\n lblFields[\"ApproverComments\"] = resOrderdata.ApproverComments || \"\";\r\n lblFields[\"Label_Id\"] = resOrderdata.Label_Id || \"\";\r\n lblFields[\"Super_Label_Id\"] = resOrderdata.Super_Label_Id || \"\";\r\n lblFields[\"IP_Address\"] = resOrderdata.IP_Address || \"\";\r\n lblFields[\"Material\"] = Boolean(Number(resOrderdata.Material));\r\n lblFields[\"Date_Processed\"] = resOrderdata.Date_Processed || \"\";\r\n lblFields[\"Depot_Id\"] = resOrderdata.Depot_Id || \"\";\r\n lblFields[\"Department\"] = resOrderdata.Department || \"\";\r\n lblFields[\"ApproveBy_Clean\"] = resOrderdata.ApproveBy_Clean || \"\";\r\n lblFields[\"ApproveBy_Overnight\"] = resOrderdata.ApproveBy_Overnight || \"\";\r\n lblFields[\"Overnight\"] = resOrderdata.Overnight || \"\";\r\n lblFields[\"CustomerNumber\"] = resOrderdata.CustomerNumber || \"\";\r\n lblFields[\"RecordLock\"] = resOrderdata.RecordLock || \"\";\r\n lblFields[\"Depot_Printer\"] = resOrderdata.Depot_Printer || \"\";\r\n lblFields[\"Depot_Printer_Date\"] = resOrderdata.Depot_Printer_Date || \"\";\r\n lblFields[\"Ship_Method\"] = resOrderdata.Ship_Method || \"\";\r\n lblFields[\"Billable\"] = Boolean(Number(resOrderdata.Billable));\r\n lblFields[\"Created\"] = resOrderdata.Created || \"\";\r\n lblFields[\"account_no\"] = resOrderdata.account_no || \"\";\r\n lblFields[\"freight_billing_info\"] = resOrderdata.freight_billing_info || \"\";\r\n lblFields[\"alias_Email\"] = resOrderdata.alias_Email || \"\";\r\n lblFields[\"alias_Name\"] = resOrderdata.alias_Name || \"\";\r\n lblFields[\"StatusDesc\"] = resOrderdata.StatusDesc || \"\";\r\n lblFields[\"status_id\"] = resOrderdata.status_id || \"\";\r\n lblFields[\"Recordlabel_Id\"] = resOrderdata.Recordlabel_Id || \"\";\r\n lblFields[\"ntbillablet\"] = Boolean(Number(resOrderdata.ntbillablet)); \r\n lblFields[\"sales_type\"] = resOrderdata.sales_type || \"\";\r\n lblFields[\"bill_to_name\"] = resOrderdata.bill_to_name || \"\";\r\n lblFields[\"bill_to_address\"] = resOrderdata.bill_to_address || \"\";\r\n lblFields[\"bill_to_city_state_zip\"] = resOrderdata.bill_to_city_state_zip || \"\";\r\n lblFields[\"prePaid\"] = Boolean(Number(resOrderdata.prepaid)); \r\n lblFields[\"label\"] = resOrderdata.label|| \"\";\r\n this.setState({lblFields}); \r\n }).catch(error => {\r\n\r\n })\r\n\r\n \r\n }\r\n\r\n loadApproverData() {\r\n let viewOrderController = new ViewOrderController();\r\n let lblApproverFields = this.state.lblApproverFields; \r\n let modal = this.state.modal; \r\n viewOrderController.getNextApprover(this.props.location.state.Order_id).then(jsonNxtApproverdata=>{\r\n \r\n this.setState({ \r\n displayNxtLevelApprover : JSON.parse(JSON.stringify(jsonNxtApproverdata))\r\n });\r\n \r\n let approver = \"\"; \r\n this.state.displayNxtLevelApprover.map((prop, key) => { \r\n if(prop[\"Approver\"] != \"\")\r\n {\r\n if(approver === \"\")\r\n {\r\n approver = prop[\"Approver\"];\r\n }\r\n else\r\n {\r\n approver = approver + \",\" + prop[\"Approver\"];\r\n } \r\n } \r\n }) \r\n \r\n let lblNextApprover = \"\"\r\n lblNextApprover = this.state.lblFields.StatusDesc + \" (\" + approver + \" )\"\r\n this.loadLabelData()\r\n \r\n this.setState({lblNextApprover :lblNextApprover}); \r\n this.setState({lblApproverFields});\r\n\r\n viewOrderController.getApprovalHistory(this.props.location.state.Order_id).then(jsonAppHisList=>{\r\n this.setState({ \r\n displayAppHistoryList : JSON.parse(JSON.stringify(jsonAppHisList))\r\n });\r\n viewOrderController.getOrderDetails(this.props.location.state.Order_id).then(jsonOrdDetList=>{\r\n this.setState({ \r\n displayOrdDetListGrid : JSON.parse(JSON.stringify(jsonOrdDetList))\r\n });\r\n viewOrderController.getOrderDepotHistory(this.props.location.state.Order_id).then(jsonDepotHisList=>{\r\n this.setState({ \r\n displayDepotHistoryList : JSON.parse(JSON.stringify(jsonDepotHisList))\r\n });\r\n if(this.state.isPrint)\r\n { \r\n window.print();\r\n alert('Your Order has been Submitted');\r\n this.props.history.push('/admin/home');\r\n }\r\n //Stop Spinner\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n }).catch(error => {\r\n console.error(\"There was an error loading Order Details\")\r\n })\r\n }).catch(error => {\r\n console.error(\"There was an error loading Approval History\")\r\n })\r\n \r\n \r\n }).catch(error => {\r\n\r\n })\r\n }\r\n\r\n \r\n loadLabelData()\r\n {\r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n let material = this.state.lblFields.Material\r\n var str =this.state.lblFields.sales_type\r\n var salesType = str.split(\" \"); \r\n this.setState({salesType : salesType[0]}) \r\n var dateString = this.state.lblFields.Request_Date\r\n var date = new Date(dateString);\r\n \r\n var curr_date = date.getDate();\r\n var curr_month = date.getMonth() + 1; //Months are zero based\r\n var curr_year = date.getFullYear();\r\n var reqDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n this.setState({requestDate : date.toLocaleString()})\r\n if (billable)\r\n\t\t\t{\r\n\t\t\t\tthis.setState({lblPageTitle : \"BILLABLE ORDER REQUEST FORM\"})\r\n\t\t\t\t//sProcessName=dataSet.spGetOrderSummary[0].Process_Name;\r\n\t\t\t}\r\n\t\t\telse if(!billable&&!ntBillable)\r\n\t\t\t{\r\n\t\t\t\tthis.setState({lblPageTitle : \"FREE GOODS REQUEST FORM\"})\r\n\t\t\t\t//this place needs to be change\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.setState({lblPageTitle : \"NON BILLABLE TRANSFER FORM\"})\t\t\t\t\r\n }\r\n \r\n if (this.state.lblFields.sales_type === \"66 Ticket Bundling\") {\r\n this.setState({ lblPageTitle: \"Ticket Bundling\" })\r\n }\r\n if (this.state.lblFields.sales_type === \"89 Sales Type\") {\r\n this.setState({ lblPageTitle: \"D2C Form\" })\r\n }\r\n }\r\n\r\n loadShipTo()\r\n {\r\n return (\r\n
\r\n

{this.state.lblFields.Name}

\r\n

{this.state.lblFields.ShipToName}

\r\n

{this.state.lblFields.AddressLineOne}

\r\n

{this.state.lblFields.AddressLineTwo}

\r\n

{this.state.lblFields.City} {this.state.lblFields.State} {this.state.lblFields.Zip}

\r\n

{this.state.lblFields.Country}

\r\n

{this.state.lblFields.Phone}

\r\n
\r\n ); \r\n } \r\n\r\n loadBillTo()\r\n {\r\n return (\r\n
\r\n

{this.state.lblFields.bill_to_name}

\r\n

{this.state.lblFields.bill_to_address}

\r\n

{this.state.lblFields.bill_to_city_state_zip}

\r\n
\r\n ); \r\n } \r\n\r\n convertDateTimeFormat=(item) =>{\r\n if(item[\"ApprovalDateTime\"] != \"\")\r\n {\r\n var dt = item[\"ApprovalDateTime\"];\r\n var date = new Date(dt);\r\n return date.toLocaleString() + \" :\";\r\n }\r\n }\r\n\r\n calculatePercent=(item)=>{ \r\n if(item[\"Price_Approved\"]>0 && item[\"Price_Approved\"]<=item[\"cost\"])\r\n\t\t\t\t\t{\t\r\n var strDiscount = (item[\"cost\"] - item[\"Price_Approved\"]) / item[\"cost\"];\t\t\t\t\t\r\n var num = strDiscount*100 ; \r\n return num.toFixed();\r\n\t\t\t\t\t}\r\n }\r\n\r\n displayFlag=(item)=>{\r\n \r\n var strDiscount = (item[\"cost\"] - item[\"Price_Approved\"]) / item[\"cost\"];\t\r\n var num = strDiscount*100 ; \r\n \r\n if(this.state.lblFields.sales_type === \"54 - Clean (non-royalty bearing)\")\r\n {\r\n if (item[\"Price_Approved\"]>0)\r\n {\r\n if(item[\"Price_Approved\"]<=item[\"cost\"])\r\n {\r\n if(strDiscount.toFixed(2) != this.state.clean_54_DISCOUNT_THRESHOLD)\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n else \r\n return \"\";\r\n }\r\n else\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n }\r\n else\r\n {\t\t\t\t\t\t\t\t \r\n return \"\";\r\n }\r\n }\r\n else if(this.state.lblFields.sales_type === \"56 - Clean (fully royalty bearing)\")\r\n {\r\n if (item[\"Price_Approved\"]>0)\r\n {\r\n if(item[\"Price_Approved\"]<=item[\"cost\"])\r\n {\r\n if(strDiscount.toFixed(2) > this.state.clean_56_DISCOUNT_THRESHOLD)\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n else \r\n return \"\";\r\n }\r\n else\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n }\r\n else\r\n {\r\n return \"\";\r\n }\r\n }\r\n else if(this.state.lblFields.sales_type === \"59 - Clean (publisher royalties only)\")\r\n {\r\n if (item[\"Price_Approved\"]>0)\r\n {\r\n if(item[\"Price_Approved\"]<=item[\"cost\"])\r\n {\r\n if(strDiscount.toFixed(2) != this.state.clean_59_DISCOUNT_THRESHOLD)\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n else \r\n return \"\";\r\n }\r\n else\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n }\r\n else\r\n {\r\n return \"\";\r\n }\r\n }\r\n else if(this.state.lblFields.sales_type === \"66 Ticket Bundling\")\r\n {\r\n if (item[\"Price_Approved\"]>0)\r\n {\r\n if(item[\"Price_Approved\"]<=item[\"cost\"])\r\n {\r\n if(strDiscount.toFixed(2) > this.state.clean_66_DISCOUNT_THRESHOLD)\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n else \r\n return \"\";\r\n }\r\n else\r\n {\r\n return (Product discount requires EVP approval);\r\n }\r\n }\r\n else\r\n {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n\r\n onSubmit = (e: any) => {\r\n \r\n e.preventDefault();\r\n \r\n CopyToClipboard.CopyToClipboard(\"copycontent\")\r\n\r\n \r\n }\r\n \r\n render(){ \r\n let billable = this.state.lblFields.Billable\r\n let ntBillable = this.state.lblFields.ntbillablet\r\n let material = this.state.lblFields.Material \r\n const bottomBorder = {\r\n borderBottom: \"1px solid rgb(212, 212, 212)\" \r\n }; \r\n const labelFont = {\r\n fontSize: \"5px\",\r\n }; \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

View Order Details

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n Approvers:\r\n {this.state.displayAppHistoryList.map((prop, key) => { \r\n return (\r\n \r\n {this.convertDateTimeFormat(prop)} {prop[\"Approver\"]} \r\n \r\n ) \r\n })}\r\n \r\n \r\n Depot:\r\n {this.state.displayDepotHistoryList.map((prop, key) => { \r\n return (\r\n \r\n {prop[\"Notes\"]} \r\n \r\n ) \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

{this.state.salesType}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { billable ?\r\n \r\n \r\n :\r\n \"\"\r\n } \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n { billable ?\r\n \r\n \r\n :\r\n \"\"\r\n } \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Bill To:\r\n {this.loadBillTo()}\r\n \r\n \r\n Ship To:\r\n {this.loadShipTo()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n { billable && material ?\r\n new Variables().thOrderDetailBillableCleanList.map((prop, key) => {\r\n return ;\r\n }):\r\n billable ?\r\n new Variables().thOrderDetailBillableList.map((prop, key) => {\r\n return ;\r\n }):\r\n new Variables().thOrderDetailList.map((prop, key) => {\r\n return ;\r\n })\r\n \r\n }\r\n \r\n \r\n \r\n \r\n {this.state.displayOrdDetListGrid.map((prop, key) => { \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 {billable ?: \"\" }\r\n {billable ?: \"\" } \r\n \r\n { billable && material ? : \"\" } \r\n { billable && material ? : \"\" }\r\n { billable && material ? : \"\" } \r\n \r\n ) \r\n })} \r\n \r\n
{prop}{prop}{prop}
{prop[\"Selection_Id\"]}{prop[\"ReleaseDate\"]}{prop[\"label_id\"]}{prop[\"Artist\"]}{prop[\"Title\"]}{prop[\"Configuration\"]}{prop[\"unitstoset\"]}{prop[\"Quantity_Requested\"]}{prop[\"Quantity_Approved\"]}${prop[\"Price_Requested\"]}${prop[\"Price_Approved\"]}{prop[\"itemStatusDesc\"]}{prop[\"cost\"]}{this.calculatePercent(prop)}{this.displayFlag(prop)}
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {new Variables().thApproverList.map((prop, key) => {\r\n return ;\r\n })} \r\n \r\n \r\n \r\n {this.state.displayAppHistoryList.map((prop, key) => { \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) \r\n })} \r\n \r\n
{prop}
{prop[\"ApproverType\"]}{prop[\"Approver\"]}{this.convertDateTimeFormat(prop)}{prop[\"Notes\"]}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ) \r\n }\r\n}\r\n\r\nexport default withRouter(ViewOrderDetails);","\r\nexport function CopyToClipboard(containerid) {\r\n \r\n if (document.selection)\r\n {\r\n \r\n var range = document.body.createTextRange();\r\n range.moveToElementText(document.getElementById(containerid));\r\n range.select().createTextRange();\r\n document.execCommand(\"copy\");\r\n } \r\n else if (window.getSelection)\r\n {\r\n \r\n // var range = document.createRange();\r\n // range.selectNode(document.getElementById(containerid));\r\n // window.getSelection().addRange(range);\r\n\r\n var selection = window.getSelection(); // Save the selection.\r\n var range = document.createRange();\r\n range.selectNodeContents(document.getElementById(containerid));\r\n selection.removeAllRanges(); // Remove all ranges from the selection.\r\n selection.addRange(range);\r\n\r\n document.execCommand(\"copy\"); \r\n }\r\n }\r\n ","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Container,Card, Row, Col, Form, Button, Table, Alert} from \"react-bootstrap\";\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport '../../../assets/css/Style.css';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {SysopController} from \"../../../Controllers/SysopController\";\r\nimport {FormLabelField} from \"../../CustomComponents/FormLabelField\";\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class EditApprovalProcess extends Component {\r\n constructor(props:EditProcessParameter){\r\n super(props);\r\n this.state = {\r\n fields:{ownerLabelId:'', assignedLabelId:'', department:'', processName:'', maxApprovers:'', processDescription:''},\r\n errors:{ownerLabelId:'', assignedLabelId:'', processName:'', department:'', maxApprovers:''},\r\n selectfields:{},\r\n optionfields: {defaultDeptNo:true, defaultDeptYes:false, superUserNo:true, superUserYes:false, freeGoods:true, billable:false, nonBillableTransfer:false, overnightOrdersYes:true, overnightOrdersNo:false,cleanOrdersYes:true, cleanOrdersNo:false, otherLabelOrdersYes:true, otherLabelOrdersNo:false, labelExceptOrdersYes:true, labelExceptOrdersNo:false, crossLabelProcessYes:false, crossLabelProcessNo:true, exportProcessYes:false, exportProcessNo:true },\r\n recordLabel:[],\r\n department:[],\r\n labelExceptOrders:[], \r\n crossLabelProcess:[],\r\n errMsg:'',\r\n loading: false,\r\n modal: {modalSpinnerShow: false},\r\n update: {maxApprovers: false, crossLabels: false, labelExceptions: false}\r\n }\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSelectMultipleChange = this.handleSelectMultipleChange.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n recordLabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n });\r\n let sysopController = new SysopController();\r\n sysopController.getApprovalProcess(this.props.location.state.item[\"processName\"]).then(response =>{\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let optionfields = this.state.optionfields;\r\n fields[\"ownerLabelId\"] = response.Label_ID;\r\n fields[\"assignedLabelId\"] = response.Assigned_Label_ID;\r\n fields[\"department\"] = response.Department;\r\n fields[\"processName\"] = response.Process_Name;\r\n fields[\"maxApprovers\"] = response.Max_Approvers;\r\n fields[\"processDescription\"] = response.Process_Description;\r\n if(response.Is_Default){\r\n optionfields['defaultDeptNo'] = false;\r\n optionfields['defaultDeptYes'] = true;\r\n }\r\n else{\r\n optionfields['defaultDeptNo'] = true;\r\n optionfields['defaultDeptYes'] = false;\r\n }\r\n if(response.Is_Billable){\r\n optionfields['freeGoods'] = false;\r\n optionfields['billable'] = true;\r\n optionfields['nonBillableTransfer'] = false;\r\n }\r\n else if(response.is_NTBillable){\r\n optionfields['freeGoods'] = false;\r\n optionfields['billable'] = false;\r\n optionfields['nonBillableTransfer'] = true;\r\n }\r\n else{\r\n optionfields['freeGoods'] = true;\r\n optionfields['billable'] = false;\r\n optionfields['nonBillableTransfer'] = false;\r\n }\r\n if(response.Is_Super_User){\r\n optionfields['superUserYes'] = true;\r\n optionfields['superUserNo'] = false;\r\n }\r\n else{\r\n optionfields['superUserYes'] = false;\r\n optionfields['superUserNo'] = true;\r\n }\r\n if(response.Is_Overnight){\r\n optionfields['overnightOrdersYes'] = true;\r\n optionfields['overnightOrdersNo'] = false;\r\n }\r\n else{\r\n optionfields['overnightOrdersYes'] = false;\r\n optionfields['overnightOrdersNo'] = true;\r\n }\r\n if(response.Is_Clean){\r\n optionfields['cleanOrdersYes'] = true;\r\n optionfields['cleanOrdersNo'] = false;\r\n }\r\n else{\r\n optionfields['cleanOrdersYes'] = false;\r\n optionfields['cleanOrdersNo'] = true;\r\n }\r\n if(response.Is_Cross_Label){\r\n optionfields['crossLabelProcessYes'] = true;\r\n optionfields['crossLabelProcessNo'] = false;\r\n }\r\n else{\r\n optionfields['crossLabelProcessYes'] = false;\r\n optionfields['crossLabelProcessNo'] = true;\r\n }\r\n if(response.Is_Exceptions){\r\n optionfields['labelExceptOrdersYes'] = true;\r\n optionfields['labelExceptOrdersNo'] = false;\r\n }\r\n else{\r\n optionfields['labelExceptOrdersYes'] = false;\r\n optionfields['labelExceptOrdersNo'] = true;\r\n }\r\n if(response.Is_All_Labels){\r\n optionfields['otherLabelOrdersYes'] = true;\r\n optionfields['otherLabelOrdersNo'] = false;\r\n }\r\n else{\r\n optionfields['otherLabelOrdersYes'] = false;\r\n optionfields['otherLabelOrdersNo'] = true;\r\n }\r\n this.setState({fields, selectfields, optionfields});\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company\")\r\n }); \r\n sysopController.getCrossLabels(this.props.location.state.item[\"processName\"]).then(jsonCrossLabels =>{\r\n var crossLabels: string[]= [];\r\n jsonCrossLabels.map((data) => {\r\n crossLabels.push(data.id)\r\n })\r\n this.setState({ \r\n crossLabelProcess: crossLabels\r\n });\r\n //console.log(this.state.crossLabelProcess);\r\n }).catch(error => {\r\n console.error(\"There was an error loading cross Labels\")\r\n });\r\n sysopController.getLabelExceptions(this.props.location.state.item[\"processName\"]).then(jsonLabelExceptions =>{\r\n var labelExceptions: string[]= [];\r\n jsonLabelExceptions.map((data) => {\r\n labelExceptions.push(data.id)\r\n })\r\n this.setState({ \r\n labelExceptOrders : labelExceptions\r\n });\r\n //console.log(this.state.labelExceptOrders);\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading label exceptions\")\r\n });\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n \r\n e.preventDefault();\r\n this.setState({ loading: true });\r\n let sysopController =new SysopController();\r\n if(this.state.update.maxApprovers){\r\n sysopController.updateMaxApprovers(this.state.fields.processName, this.state.fields.maxApprovers)\r\n }\r\n if(this.state.update.crossLabels){\r\n sysopController.deleteCrossLabels(this.state.fields.processName).then(response => {\r\n this.state.crossLabelProcess.map(data =>{\r\n var crossLabelData ={\r\n processName: this.state.fields.processName,\r\n labelId: data,\r\n ownerLabel: this.state.selectfields.ownerLabelId,\r\n isOn: '1',\r\n defaultDept: this.state.selectfields.department,\r\n isBillable: this.state.optionfields.billable,\r\n isNonBillableTransfer: this.state.optionfields.nonBillableTransfer\r\n }\r\n //console.log(crossLabelData);\r\n sysopController.insertCrossLabels(crossLabelData);\r\n })\r\n }).catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n if(this.state.update.labelExceptions){\r\n sysopController.deleteLabelExceptions(this.state.fields.processName).then(response => {\r\n this.state.labelExceptOrders.map(data =>{\r\n var labelExceptionData ={\r\n processName: this.state.fields.processName,\r\n labelId: data, \r\n }\r\n //console.log(labelExceptionData);\r\n sysopController.insertLabelExceptions(labelExceptionData);\r\n })\r\n })\r\n .catch(error => {\r\n console.error(\"There was an error\")\r\n });\r\n }\r\n this.setState({ loading: false });\r\n alert(\"Approval process: \" + this.state.fields.processName + \" updated successfully.\")\r\n this.props.history.push('/admin/home');\r\n }\r\n\r\n handleChange = (e:any) => {\r\n let fields = this.state.fields;\r\n let update = this.state.update;\r\n if(e.currentTarget.name === \"maxApprovers\"){\r\n update['maxApprovers'] = true\r\n if(e.currentTarget.value <= 4){\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n else{\r\n fields[e.currentTarget.name] = 1;\r\n alert(\"Maximum limit for max approvers is 4...\")\r\n }\r\n }\r\n this.setState({\r\n fields, update\r\n });\r\n }\r\n\r\n handleSelectMultipleChange = (e: any) => {\r\n var options = e.currentTarget.options;\r\n var value : string[] = [];\r\n for (var i = 0, l = options.length; i < l; i++) {\r\n if (options[i].selected) {\r\n value.push(options[i].value);\r\n }\r\n }\r\n let update = this.state.update;\r\n if(e.currentTarget.name === 'labelExceptOrders'){\r\n this.setState({labelExceptOrders: value});\r\n update['labelExceptions'] = true;\r\n }\r\n if(e.currentTarget.name === 'crossLabelProcess'){\r\n this.setState({crossLabelProcess: value});\r\n update['crossLabels'] = true;\r\n }\r\n this.setState({ update });\r\n }\r\n\r\n render(){\r\n const{ loading } = this.state;\r\n return(\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Edit Approval Process

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Billable Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Super User Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Is this Default for this Department?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Overnight Orders Allowed\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Clean Orders Allowed\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Can requestor orders from other label?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Are there labels the requestor may not order from ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.optionfields.labelExceptOrdersYes ?\r\n \r\n Which Labels may the requestor NOT order from?\r\n \r\n {this.state.recordLabel.map((data: any) => {\r\n return(\r\n \r\n )\r\n })}\r\n \r\n \r\n :\r\n \r\n Which Labels may the requestor NOT order from?\r\n \r\n {this.state.recordLabel.map((data: any) => {\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 Is this a Cross-Label Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.optionfields.crossLabelProcessYes ? \r\n \r\n If this is a cross-label process, which labels does it pertain to?\r\n \r\n {this.state.recordLabel.map((data: any) => {\r\n return(\r\n \r\n )\r\n })}\r\n \r\n \r\n :\r\n \r\n If this is a cross-label process, which labels does it pertain to?\r\n \r\n {this.state.recordLabel.map((data: any) => {\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 Is this an EXPORT Process?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a description for this process\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.update.maxApprovers || this.state.update.crossLabels || this.state.update.labelExceptions ? \r\n \r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\ninterface EditProcessParameter{\r\n uid?:string;\r\n pwd?:string;\r\n history?:History;\r\n location?:any;\r\n}\r\ninterface Istate{\r\n fields:any;\r\n errors:any;\r\n selectfields:any;\r\n optionfields:any;\r\n recordLabel:[];\r\n department:[];\r\n labelExceptOrders:string[]; \r\n crossLabelProcess:string[];\r\n errMsg:string;\r\n loading:boolean;\r\n modal:any;\r\n update:any;\r\n}","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\n\r\nexport class SearchHistoryController {\r\n\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response : any;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables(); \r\n }\r\n\r\n getSearchHistory(data){\r\n var url = this.variables.Url + this.variables.Controller.SearchHistory + this.variables.SearchHistoryServices.getSearchHistory;\r\n var data1 = {\r\n filter: data.filter,\r\n filterType : data.filterType,\r\n uId : data.uId,\r\n startDate:data.startDate,\r\n endDate : data.endDate \r\n } \r\n return this.serviceProxy.get(url,data1)\r\n .then(response => {\r\n var jsonSearchHistoryList : Array<{\"Order_Id\": string; \"billable\": boolean;\"material\":boolean; \"Name\":string;\"Artist\":string;\"Title\":string;\r\n \"Selection_Id\": string;\"Configuration\": string;\"Quantity\": string;\"statusdesc\": string;\"Requestor\": string;\r\n \"ShipToName\": string;\"ShipToCo\": string }> = [];\r\n if(response.success){ \r\n response.recordset.forEach(list); \r\n function list(item: { Order_Id:string;billable:boolean;material:boolean;Name:string;Artist:string;Title:string;\r\n Selection_Id:string;Configuration:string;Quantity:string;statusdesc:string;Requestor:string\r\n ;ShipToName:string;ShipToCo:string}, _index: number){\r\n jsonSearchHistoryList.push({\"Order_Id\": item.Order_Id, \"billable\": item.billable,\"material\":item.material,\r\n \"Name\":item.Name,\"Artist\":item.Artist,\"Title\":item.Title,\"Selection_Id\":item.Selection_Id,\"Configuration\":item.Configuration,\r\n \"Quantity\":item.Quantity,\"statusdesc\":item.statusdesc,\"Requestor\":item.Requestor,\"ShipToName\":item.ShipToName,\"ShipToCo\":item.ShipToCo })\r\n }\r\n return JSON.parse(JSON.stringify(jsonSearchHistoryList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n else { \r\n return JSON.parse(JSON.stringify(jsonSearchHistoryList).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n }\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n return error;\r\n }); \r\n }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport { Container, Card, Row, Col, Table, Form, Alert, Button, Navbar, Nav } from \"react-bootstrap\";\r\nimport { ISearchHistoryParameter, Istate } from \"../../../Model/SearchHistory\"; \r\nimport { SearchHistoryController } from \"../../../Controllers/SearchHistoryController\"\r\nimport { format } from 'date-fns'\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport { FormInputs } from '../../CustomComponents/FormInput';\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { NavLink, withRouter } from 'react-router-dom'\r\nimport '../../../assets/css/Style.css'\r\nimport { FormCheckBox } from \"../../CustomComponents/FormCheckBox\"\r\nimport DatePicker from 'react-datepicker';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css'\r\n\r\nexport class SearchHistory extends Component {\r\n constructor(props: ISearchHistoryParameter) {\r\n super(props)\r\n this.state = {\r\n fields: { find:'',searchType:'',statusBy:'' },\r\n selectfields: { searchBy: '',statusBy:'' },\r\n checkfields: { multipleSelect: false },\r\n errors: {startDate:'',endDate:''}, \r\n errMsg: '',\r\n loading: false,\r\n loadingReset:false, \r\n startDate: \"\", \r\n endDate:\"\",\r\n hidediv:true,\r\n displayGrid:[], \r\n checkedItems: new Map(), \r\n isDateEnabled:false,\r\n isListAvl:false,\r\n isListAvlMsg: \"List is Empty...Please search for the needs\",\r\n orderList:\"\"\r\n\r\n }\r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this);\r\n this.handleTextChange = this.handleTextChange.bind(this); \r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.onSubmit=this.onSubmit.bind(this); \r\n\r\n }\r\n\r\n\r\n componentDidMount() {\r\n \r\n var today =new Date(); \r\n var startDate=new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000));\r\n this.setState({ startDate: startDate}); \r\n this.setState({ endDate: today});\r\n let selectfields = this.state.selectfields;\r\n selectfields[\"statusBy\"] = \"17\";\r\n this.setState({selectfields})\r\n\r\n sessionStorage.setItem('ViewOrderStatus', '0' )\r\n sessionStorage.setItem('ViewOrder','')\r\n let SH\r\n SH = sessionStorage.getItem(\"SearchHistoryView\") \r\n sessionStorage.setItem('SearchHistoryView', '0' ) \r\n \r\n var temparray = sessionStorage.getItem('SearchHistory') || \"\"\r\n\r\n \r\n if (SH ==='1' && temparray != \"\" )\r\n { \r\n this.setState({isListAvl:true})\r\n this.setState({ \r\n displayGrid: JSON.parse(sessionStorage.getItem('SearchHistory') || \"\") \r\n });\r\n\r\n this.setState({ startDate: \"\"}); \r\n this.setState({ endDate: \"\"});\r\n\r\n }\r\n else\r\n {\r\n this.setState({isListAvl:false})\r\n }\r\n\r\n }\r\n \r\n \r\n handleChangeStartDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n if(date != \"\") \r\n if(today < date )\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"startDate\"] = \"\"; \r\n \r\n this.setState({startDate: date,errors});\r\n };\r\n\r\n handleChangeEndDate = date => {\r\n var today =new Date();\r\n let errors = this.state.errors; \r\n if(today < date )\r\n errors[\"endDate\"] = \"Date is greater than today's date\"; \r\n else\r\n errors[\"endDate\"] = \"\"; \r\n \r\n this.setState({endDate: date, errors});\r\n };\r\n \r\n handleTextChange (e:any) { \r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({\r\n fields\r\n })\r\n }\r\n \r\n handleSelectChange (e:any) { \r\n let selectfields = this.state.selectfields;\r\n if (e.currentTarget.id == \"searchBy\")\r\n {\r\n selectfields.searchBy= e.currentTarget.value; \r\n if (e.currentTarget.value === \"Order_id\") \r\n { \r\n this.setState({isDateEnabled : true}) \r\n }\r\n else\r\n {\r\n this.setState({isDateEnabled : false}) \r\n } \r\n } \r\n else if (e.currentTarget.id == \"statusBy\")\r\n {\r\n selectfields.statusBy= e.currentTarget.value; \r\n if (e.currentTarget.value === \"2\") \r\n { \r\n this.setState({isDateEnabled : true}) \r\n }\r\n else\r\n {\r\n this.setState({isDateEnabled : false})\r\n } \r\n }\r\n this.setState({\r\n selectfields\r\n })\r\n } \r\n\r\n onSubmit =(e:any)=>{\r\n try{\r\n e.preventDefault();\r\n if (this.ValidateDate()) \r\n { \r\n this.setState({ loading: true });\r\n this.setState({isListAvl:false})\r\n var sD = this.state.startDate;\r\n var curr_date = sD.getDate();\r\n var curr_month = sD.getMonth() + 1; //Months are zero based\r\n var curr_year = sD.getFullYear();\r\n var startDate = \"\";\r\n if(this.state.selectfields.searchBy != \"Order_id\")\r\n startDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n var eD = this.state.endDate;\r\n var curr_date = eD.getDate();\r\n var curr_month = eD.getMonth() + 1; //Months are zero based\r\n var curr_year = eD.getFullYear();\r\n var endDate = \"\";\r\n if(this.state.selectfields.searchBy != \"Order_id\")\r\n endDate = curr_month + \"/\" + curr_date + \"/\" + curr_year;\r\n\r\n let searchHistoryController = new SearchHistoryController();\r\n var data = {\r\n filter: this.state.fields.find,\r\n filterType : this.state.selectfields.searchBy,\r\n uId : sessionStorage.getItem(\"uid\")!,\r\n startDate:startDate,\r\n endDate : endDate \r\n } \r\n \r\n searchHistoryController.getSearchHistory(data).then(jsonSearchHistoryList =>{\r\n this.setState({ \r\n displayGrid : JSON.parse(JSON.stringify(jsonSearchHistoryList)), loading: false\r\n }); \r\n //console.log(this.state.displayGrid.length)\r\n sessionStorage.setItem('SearchHistory', JSON.stringify(jsonSearchHistoryList))\r\n if(this.state.displayGrid.length > 0)\r\n { \r\n //console.log(this.state.displayGrid.length) \r\n this.setState({isListAvl:true})\r\n this.setState({isListAvlMsg:\"\"})\r\n this.setState({ loading: false }); \r\n }\r\n else\r\n { \r\n this.setState({isListAvlMsg:\"No record(s) found\"})\r\n this.setState({ loading: false });\r\n } \r\n }).catch(error => { \r\n this.setState({ loading: false });\r\n console.log(error);\r\n })\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n } \r\n }\r\n\r\n ValidateDate(){ \r\n this.clearError();\r\n let formIsValid = true; \r\n let errors = this.state.errors;\r\n var sD = format(this.state.startDate, 'dd/MM/yyyy');\r\n var eD = format(this.state.endDate, 'dd/MM/yyyy');\r\n var today =new Date();\r\n var todayDate = format(today, 'dd/MM/yyyy');\r\n \r\n if(today < this.state.startDate )\r\n {\r\n errors[\"startDate\"] = \"Date is greater than today's date\"; \r\n formIsValid =false;\r\n }\r\n else if(todayDate === sD)\r\n {\r\n errors[\"startDate\"] = \"Date must be less today's date\";\r\n formIsValid =false;\r\n } \r\n if(eD < todayDate)\r\n {\r\n errors[\"endDate\"] = \"Date must be less than today's date\";\r\n formIsValid =false;\r\n }\r\n if(this.state.selectfields.searchBy === \"\")\r\n {\r\n errors[\"searchType\"] = \"Please select the Option\";\r\n formIsValid =false;\r\n } \r\n return formIsValid;\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"startDate\"] = \"\"; \r\n errors[\"endDate\"]=\"\"; \r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n getItemInfo= (item) =>{\r\n const styleObj = {\r\n fontSize: 10,\r\n color: \"red\", \r\n } \r\n const styleBilObj = {\r\n fontSize: 10,\r\n color: \"#800000\", \r\n } \r\n \r\n if(item[\"material\"] === true)\r\n {\r\n return (Clean) \r\n }\r\n else{\r\n return \"\"\r\n } \r\n };\r\n \r\ngetBillItemInfo= (item) =>{\r\n \r\n const styleBilObj = {\r\n fontSize: 10,\r\n color: \"#800000\", \r\n } \r\n if(item[\"billable\"] === true)\r\n {\r\n return (Billable) \r\n }\r\n else if(item[\"NTBillableT\"] === true)\r\n {\r\n return (Non Billable Transfer) \r\n }\r\n else{\r\n return \"\"\r\n } \r\n };\r\n\r\n \r\n getLinkWithPath= (item) =>{\r\n return ({item[\"Order_Id\"]}) \r\n };\r\n \r\n\r\n render() {\r\n const { loading } = this.state; \r\n const { loadingReset } = this.state; \r\n const { isListAvl } = this.state; \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Search History

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n In\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.searchType}

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

 {this.state.errors.startDate}

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

 {this.state.errors.endDate}

\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n { isListAvl ? \r\n \r\n \r\n \r\n {new Variables().thSearchHistoryList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this.state.displayGrid.map((prop, key) => { \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
{prop}
{this.getLinkWithPath(prop)} {this.getBillItemInfo(prop)} {this.getItemInfo(prop)}{prop[\"Requestor\"]}{prop[\"Artist\"]}{prop[\"Title\"]}{prop[\"Selection_Id\"]}{prop[\"Configuration\"]}{prop[\"Quantity\"]}{prop[\"ShipToName\"]}{prop[\"ShipToCo\"]}
:\r\n \r\n \r\n \r\n {new Variables().thSearchHistoryList.map((prop, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{prop}
{this.state.isListAvlMsg}
\r\n } \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import React, { Component } from \"react\";\r\nimport { Container, Navbar, Nav, Card, Row, Col, Table, Form, Alert, Button } from \"react-bootstrap\";\r\nimport { FormControl, Modal } from \"../../../../node_modules/react-bootstrap\";\r\nimport { FormInputs } from '../../CustomComponents/FormInput'\r\nimport { FormSelect } from '../../CustomComponents/FormSelect';\r\nimport { FormCheckBox } from '../../CustomComponents/FormCheckBox';\r\nimport { Variables } from '../../../Variables/Variables';\r\nimport DatePicker from 'react-datepicker';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../../../assets/css/demo.css'\r\nimport '../../../assets/css/Style.css'\r\nimport { ReportController } from \"../../../Controllers/ReportController\"\r\nimport { IReportOrderByRequestorParameter, Istate } from \"../../../Model/ReportOrderByRequestor\";\r\nimport { CommonController } from '../../../Controllers/CommonController';\r\nimport { FormModalSpinner } from '../../CustomComponents/FormModalSpinner';\r\nimport Autocomplete from 'react-autocomplete';\r\n\r\nexport class ReportOrderByRequestor extends Component {\r\n constructor(props: IReportOrderByRequestorParameter) {\r\n super(props)\r\n this.state = {\r\n fields: { reportType: '', subTitle: '', salesType: '', alias: '' },\r\n errors: { userList: '', startDate: '', endDate: '' },\r\n selectOption: { selectUser: '1' },\r\n checkboxOptionfields: { fivefour: false, fivesix: false, fivenine: false, all: false },\r\n loading: false,\r\n errMsg: \"\",\r\n startDate: \"\",\r\n endDate: \"\",\r\n userList: [],\r\n salesType: \"\",\r\n reportName: \"\",\r\n reportRender: \"&rs:Command=Render\",\r\n modal: { modalSpinnerShow: false }\r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleChangeStartDate = this.handleChangeStartDate.bind(this);\r\n this.handleChangeEndDate = this.handleChangeEndDate.bind(this);\r\n this.handlecheckboxOptionChange = this.handlecheckboxOptionChange.bind(this);\r\n }\r\n componentWillMount() {\r\n \r\n\r\n let fields = this.state.fields;\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow'] = true;\r\n var today = new Date();\r\n var startDate = new Date(today.getTime() - (45 * 24 * 60 * 60 * 1000));\r\n this.setState({ startDate: startDate });\r\n this.setState({ endDate: today });\r\n this.setState({ reportName: \"OrderByRequestorPeriod\" });\r\n fields['subTitle'] = 'Order By Requestor';\r\n let reportController = new ReportController();\r\n reportController.getUserActiveList()\r\n .then(jsonUserActiveList => {\r\n this.setState({\r\n userList: JSON.parse(JSON.stringify(jsonUserActiveList))\r\n })\r\n modal['modalSpinnerShow'] = false;\r\n this.setState({ modal })\r\n })\r\n }\r\n handleChange(e: any) {\r\n \r\n let selectOption = this.state.selectOption;\r\n if (e.currentTarget.name === \"userList\") {\r\n let selectUser = \"\";\r\n selectUser = e.currentTarget.options[e.currentTarget.selectedIndex].value\r\n if (selectUser != \"All\")\r\n selectOption[\"selectUser\"] = selectUser\r\n else\r\n selectOption[\"selectUser\"] = \"1\"\r\n }\r\n this.setState({ selectOption });\r\n }\r\n handleChangeStartDate = date => {\r\n // \r\n var today = new Date();\r\n let errors = this.state.errors;\r\n\r\n if (date === null)\r\n errors[\"startDate\"] = \"Please enter start date\";\r\n else {\r\n if (today < date)\r\n errors[\"startDate\"] = \"Date is greater than today's date\";\r\n else\r\n errors[\"startDate\"] = \"\";\r\n }\r\n this.setState({ startDate: date, errors });\r\n };\r\n handleChangeEndDate = date => {\r\n var today = new Date();\r\n let errors = this.state.errors;\r\n if (date === null)\r\n errors[\"endDate\"] = \"Please enter start date\";\r\n else {\r\n if (today < date)\r\n errors[\"endDate\"] = \"Date is greater than today's date\";\r\n else\r\n errors[\"endDate\"] = \"\";\r\n }\r\n this.setState({ endDate: date, errors });\r\n };\r\n handlecheckboxOptionChange = (e: any) => {\r\n \r\n let fields = this.state.fields;\r\n let checkboxOptionfields = this.state.checkboxOptionfields;\r\n\r\n if (e.currentTarget.name === \"all\") {\r\n checkboxOptionfields[\"all\"] = !checkboxOptionfields[\"all\"]\r\n\r\n if (checkboxOptionfields[\"all\"] === true) {\r\n checkboxOptionfields[\"fiveone\"] = true\r\n checkboxOptionfields[\"fivethree\"] = true\r\n checkboxOptionfields[\"fivefourclean\"] = true\r\n checkboxOptionfields[\"fivefourmarked\"] = true\r\n checkboxOptionfields[\"fivesixclean\"] = true\r\n checkboxOptionfields[\"fivesixmarked\"] = true\r\n checkboxOptionfields[\"fivenineclean\"] = true\r\n checkboxOptionfields[\"fiveninemarked\"] = true\r\n checkboxOptionfields[\"sixtysix\"] = true\r\n checkboxOptionfields[\"eightynine\"] = true\r\n checkboxOptionfields[\"ninetyone\"] = true\r\n this.setState({ salesType: \"all\" })\r\n }\r\n else {\r\n checkboxOptionfields[\"fiveone\"] = false\r\n checkboxOptionfields[\"fivethree\"] = false\r\n checkboxOptionfields[\"fivefourclean\"] = false\r\n checkboxOptionfields[\"fivefourmarked\"] = false\r\n checkboxOptionfields[\"fivesixclean\"] = false\r\n checkboxOptionfields[\"fivesixmarked\"] = false\r\n checkboxOptionfields[\"fivenineclean\"] = false\r\n checkboxOptionfields[\"fiveninemarked\"] = false\r\n checkboxOptionfields[\"sixtysix\"] = false\r\n checkboxOptionfields[\"eightynine\"] = false\r\n checkboxOptionfields[\"ninetyone\"] = false\r\n this.setState({ salesType: \"\" })\r\n }\r\n\r\n } else {\r\n checkboxOptionfields[e.currentTarget.name] = !checkboxOptionfields[e.currentTarget.name]\r\n this.setState({ salesType: e.currentTarget.id })\r\n }\r\n\r\n this.setState({\r\n fields,\r\n checkboxOptionfields\r\n });\r\n\r\n }\r\n onSubmit = (e: any) => {\r\n \r\n e.preventDefault();\r\n if (this.ValidateDate()) {\r\n \r\n var li = \"\";\r\n var sD = this.state.startDate;\r\n var startDate = sD.getMonth() + 1 + \"/\" + sD.getDate() + \"/\" + sD.getFullYear();\r\n var eD = this.state.endDate;\r\n var endDate = eD.getMonth() + 1 + \"/\" + eD.getDate() + \"/\" + eD.getFullYear();\r\n\r\n li = new Variables().ReportPath + this.state.reportName + \"&Requestor=\" + this.state.fields.alias + \"&StartDate=\" + startDate + \"&EndDate=\" + endDate\r\n\r\n if (this.state.checkboxOptionfields.fiveone === true)\r\n li = li + \"&SalesType=\" + \"51 Clean\"\r\n\r\n if (this.state.checkboxOptionfields.fivethree === true)\r\n li = li + \"&SalesType=\" + \"53 Marked\"\r\n\r\n if (this.state.checkboxOptionfields.fivefourclean === true)\r\n li = li + \"&SalesType=\" + \"54 - Clean (non-royalty bearing)\"\r\n \r\n if (this.state.checkboxOptionfields.fivefourmarked === true)\r\n li = li + \"&SalesType=\" + \"54 - Marked (non-royalty bearing)\"\r\n\r\n if (this.state.checkboxOptionfields.fivesixclean === true)\r\n li = li + \"&SalesType=\" + \"56 - Clean (fully royalty bearing)\"\r\n\r\n if (this.state.checkboxOptionfields.fivesixmarked === true)\r\n li = li + \"&SalesType=\" + \"56 - Marked (fully royalty bearing)\"\r\n \r\n if (this.state.checkboxOptionfields.fivenineclean === true)\r\n li = li + \"&SalesType=\" + \"59 - Clean (publisher royalties only)\"\r\n\r\n if (this.state.checkboxOptionfields.fiveninemarked === true)\r\n li = li + \"&SalesType=\" + \"59 - Marked (publisher royalties only)\"\r\n\r\n if (this.state.checkboxOptionfields.sixtysix === true)\r\n li = li + \"&SalesType=\" + \"66 Ticket Bundling\"\r\n\r\n if (this.state.checkboxOptionfields.eightynine === true)\r\n li = li + \"&SalesType=\" + \"89 Sales Type\"\r\n \r\n if (this.state.checkboxOptionfields.ninetyone === true)\r\n li = li + \"&SalesType=\" + \"91 Clean\"\r\n\r\n li = li + \"&rc:Parameters=False\"\r\n\r\n window.open(li)\r\n //this.props.history.push('/admin/home');\r\n }\r\n }\r\n\r\n setValue = (val) => {\r\n let fields = this.state.fields;\r\n fields[\"alias\"] = val;\r\n this.setState({ fields });\r\n }\r\n\r\n ValidateDate() {\r\n \r\n let formIsValid = true;\r\n let fields = this.state.fields;\r\n\r\n\r\n if (this.state.startDate === \"\" || this.state.startDate === null) {\r\n this.setState({ errMsg: \"Please enter start date\" })\r\n formIsValid = false;\r\n }\r\n else if (this.state.endDate === \"\" || this.state.endDate === null) {\r\n this.setState({ errMsg: \"Please enter end date\" })\r\n formIsValid = false;\r\n }\r\n else if (this.state.checkboxOptionfields.fiveone === false && this.state.checkboxOptionfields.fivethree === false && this.state.checkboxOptionfields.fivefourclean === false\r\n && this.state.checkboxOptionfields.fivefourmarked === false && this.state.checkboxOptionfields.fivesixclean === false && this.state.checkboxOptionfields.fivesixmarked === false \r\n && this.state.checkboxOptionfields.fivenineclean === false && this.state.checkboxOptionfields.fiveninemarked === false && this.state.checkboxOptionfields.sixtysix === false \r\n && this.state.checkboxOptionfields.eightynine === false && this.state.checkboxOptionfields.ninetyone === false) {\r\n this.setState({ errMsg: \"Please Select Sales Type\" })\r\n formIsValid = false;\r\n }\r\n else if (fields[\"alias\"] === \"\") {\r\n this.setState({ errMsg: \"Please Select Requestor\" })\r\n formIsValid = false;\r\n }\r\n return formIsValid\r\n }\r\n\r\n render() {\r\n\r\n if (this.props !== undefined) {\r\n //console.log(this.props.history.location.pathname.split(\"/\").pop());\r\n }\r\n let fields = this.state.fields;\r\n const { loading } = this.state;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

View / Print Reports

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n
\r\n \r\n {fields['subTitle']}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Requestor\r\n item.id.toLowerCase().indexOf(value.toLowerCase()) > -1}\r\n getItemValue={item => item.id}\r\n renderItem={(item, isHighlighted) =>\r\n
\r\n {item.name}\r\n
\r\n }\r\n value={this.state.fields.alias}\r\n onChange={e => this.setValue(e.target.value)}\r\n onSelect={(val) => this.setValue(val)}\r\n inputProps={{\r\n style: {\r\n height: '40px',\r\n width: '280px',\r\n background: '#f9f9f9',\r\n border: '1px solid #E3E3E3',\r\n borderRadius: '4px'\r\n },\r\n placeholder: 'Search By Alias'\r\n }}\r\n />\r\n
\r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.startDate}

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n \r\n

 {this.state.errors.endDate}

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Sales Type Of The Report\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {/* */}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n}\r\n","import React, { Component } from \"react\";\r\nimport {Container,Card,Row,Col,Form,Alert,Button,Table} from \"../../../../node_modules/react-bootstrap\";\r\nimport { CreateOrderController } from \"../../../Controllers/CreateOrderController\";\r\nimport {LoginController} from \"../../../Controllers/LoginController\"\r\nimport { Redirect } from 'react-router-dom';\r\nimport '../../../assets/css/faqPage.css';\r\n\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\n\r\n\r\n\r\n\r\n\r\nexport class SelectRole extends Component {\r\n storedResponse: any[] = [];\r\n selectedUser: any = null;\r\n constructor(props){ \r\n super(props)\r\n     const userLogin = sessionStorage.getItem(\"userLogin\")\r\n \r\n     let loggedIn = true;\r\n     if (userLogin == null){\r\n         loggedIn = false;\r\n     }\r\n     this.state = {\r\n         loggedIn,\r\n modal: {\r\n modalSpinnerShow: false, \r\n }\r\n     }\r\n\r\n // Retrieve the string from sessionStorage\r\n const storedResponseString = sessionStorage.getItem(\"profiles\")\r\n // Check if the retrieved value is not null\r\n if (storedResponseString !== null) {\r\n // Convert the string back to an array using JSON.parse\r\n this.storedResponse = JSON.parse(storedResponseString);\r\n // Now, storedResponse contains the original array\r\n } else {\r\n // Handle the case where the key is not found in sessionStorage\r\n console.error(\"No data found in sessionStorage for the key 'profiles'\");\r\n }\r\n\r\n   } \r\n\r\n\r\n handleUserClick = (user) => {\r\n let modal = this.state.modal;\r\n modal[\"modalSpinnerShow\"] = true;\r\n this.setState({modal});\r\n this.selectedUser = user;\r\n \r\n let loginController = new LoginController(user.Alias,user.pwd,user.loginFailed);\r\n \r\n loginController.authenticateUserSSO1().then((response : any) => {\r\n if (response.success){\r\n sessionStorage.setItem(\"userLogin\",\"success\"); \r\n \r\n //checking to enable side bars for FG, NT and BI\r\n           let createOrderController = new CreateOrderController();\r\n           createOrderController.getApprovalProcessValidate(user.Alias).then(response => {\r\n             \r\n             var result = (response.orderTypes === null)?'':response.orderTypes.trim();\r\n             if (result != '')\r\n             {\r\n               sessionStorage.setItem(\"orderTypeValidate\",result);\r\n             }\r\n             else\r\n             {\r\n               sessionStorage.setItem(\"orderTypeValidate\",result);\r\n             } \r\n //redirect to actual page.\r\n             if (sessionStorage.getItem(\"usertype_id\")==='A'){\r\n               this.props.history.push('/admin/order_approval_inbox');\r\n             }\r\n             else\r\n             {\r\n               this.props.history.push('/admin/home');\r\n             }\r\n           }).catch(error => {\r\n             console.error(\"There was an error getApprovalProcessValidate\")\r\n           });  \r\n }\r\n else {\r\n // this.setState({\r\n // // errMsg : response.msg,\r\n // loginFailed : response.loginFailed,\r\n // loading: false\r\n // });\r\n // if(response.changePassword){\r\n // alert(\"Your Password Has been Expired.Its Time To Change\")\r\n // this.props.history.push('/changePassword')\r\n // }\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n };\r\n\r\n\r\n\r\n\r\n\r\n\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 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

eGratis - Select User Profile

\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.storedResponse.map((user) => (\r\n \r\n \r\n {/* */}\r\n this.handleUserClick(user)}\r\n style={{color: 'blue', cursor: 'pointer', backgroundColor: user.isHovered ? 'lightgray' : 'inherit' }}\r\n>\r\n {user.Alias}\r\n \r\n \r\n\r\n \r\n \r\n \r\n ))}\r\n \r\n
AliasUser TypeLabelDepartment
this.handleUserClick(user)}>{user.UserType_Id}{user.TypeDesc}{user.Label_Name}{user.Department}
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n}\r\n\r\ninterface Istate{\r\n loggedIn:boolean;\r\n modal?:any;\r\n}\r\n \r\ninterface IProps {\r\n history: any;\r\n }\r\n\r\n// Wrap the component with withRouter to inject the history prop\r\nexport default withRouter(SelectRole);","import { ServiceProxy } from '../Common/ServiceProxy';\r\nimport { Variables } from '../Variables/Variables';\r\nimport { DateTimeFormat } from '../Common/DateTimeFormat';\r\n\r\nexport class RegisterController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n userInfo : any;\r\n dateTimeFormat : DateTimeFormat;\r\n constructor(){\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n this.dateTimeFormat = new DateTimeFormat();\r\n this.userInfo = {username:'',userTypeId:'',name:'',email:'',recordLabelId:'',department:'',addressLineOne:'',addressLineTwo:'',city:'',state:'',zip:'',phone:'',password:'',multipleSelect:'',dateOfChange:'',processName:'', businessUnit:'', customerNumber:'', shipToName:'', otherLabels:false, exceptions:false}\r\n }\r\n\r\n checkAliasEmail(username : string , email : string){\r\n var url : string = this.variables.Url + this.variables.Controller.register + this.variables.registerService.checkAliasEmail;\r\n var data : any = {\r\n username : username,\r\n email : email\r\n };\r\n return this.serviceProxy.get(url, data)\r\n .then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n getDeptProcessInfo(data){\r\n \r\n this.userInfo.username = data.username;\r\n this.userInfo.userTypeId = data.userTypeId;\r\n this.userInfo.name = data.name; \r\n this.userInfo.email = data.email;\r\n this.userInfo.recordLabelId = data.recordLabelId;\r\n this.userInfo.department = data.department;\r\n this.userInfo.addressLineOne = data.addressLineOne;\r\n this.userInfo.addressLineTwo = data.addressLineTwo;\r\n this.userInfo.city = data.city;\r\n this.userInfo.state = data.state;\r\n this.userInfo.zip = data.zip;\r\n this.userInfo.phone = data.phone;\r\n this.userInfo.password = data.password;\r\n this.userInfo.multipleSelect = data.multipleSelect;\r\n this.userInfo.dateOfChange = this.dateTimeFormat.getDateTime();\r\n var url : string = this.variables.Url + this.variables.Controller.register + this.variables.registerService.getDeptProcessInfo;\r\n var data : any = {\r\n recordLabelId : this.userInfo.recordLabelId,\r\n department : this.userInfo.department\r\n };\r\n return this.serviceProxy.post(url, data)\r\n .then(response => {\r\n \r\n if(response.success)\r\n {\r\n var res = JSON.parse(JSON.stringify(response).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n this.userInfo.processName = res.processName;\r\n this.userInfo.customerNumber = res.customerNumber;\r\n this.userInfo.businessUnit = res.businessUnit;\r\n this.userInfo.otherLabels = res.otherLabels;\r\n this.userInfo.exceptions = res.exceptions;\r\n \r\n }\r\n return this.addNewUser();\r\n }).catch(error => {\r\n return error;\r\n });\r\n }\r\n\r\n addNewUser(){\r\n var url : string = this.variables.Url + this.variables.Controller.register + this.variables.registerService.addNewUser\r\n var data = {\r\n username : this.userInfo.username,\r\n userTypeId : this.userInfo.userTypeId,\r\n processname : this.userInfo.processName,\r\n name : this.userInfo.name,\r\n email : this.userInfo.email,\r\n recordLabelId : this.userInfo.recordLabelId,\r\n department : this.userInfo.department,\r\n customerNumber : this.userInfo.customerNumber,\r\n businessUnit : this.userInfo.businessUnit,\r\n addressLineOne : this.userInfo.addressLineOne,\r\n addressLineTwo : this.userInfo.addressLineTwo,\r\n city : this.userInfo.city,\r\n state : this.userInfo.state,\r\n zip : this.userInfo.zip,\r\n phone : this.userInfo.phone,\r\n password : this.userInfo.password,\r\n multipleSelect : this.userInfo.multipleSelect,\r\n dateOfChange : this.userInfo.dateOfChange\r\n }\r\n return this.serviceProxy.post(url,data).then(response => {\r\n return this.updateSuperExecUser();\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n updateSuperExecUser(){\r\n var url = this.variables.Url + this.variables.Controller.register + this.variables.registerService.updateSuperExecUser;\r\n var data = {\r\n userTypeId : this.userInfo.username,\r\n recordLabelId : this.userInfo.recordLabelId,\r\n department : this.userInfo.department\r\n }\r\n return this.serviceProxy.put(url,data).then(response => {\r\n return this.getLabel();\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n getLabel(){\r\n var url = this.variables.Url + this.variables.Controller.common + this.variables.registerService.getLabel;\r\n var data = {\r\n recordLabelId : this.userInfo.recordLabelId\r\n }\r\n return this.serviceProxy.get(url,data).then(response => {\r\n if(response.success){\r\n this.userInfo.shipToName = response.Name.trim();\r\n }\r\n return this.insertPrivateContact();\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n insertPrivateContact(){\r\n var url = this.variables.Url + this.variables.Controller.common +this.variables.registerService.insertPrivateContact;\r\n var data = {\r\n username : this.userInfo.username,\r\n name : this.userInfo.name,\r\n shipToName : this.userInfo.shipToName,\r\n addressLineOne : this.userInfo.addressLineOne,\r\n addressLineTwo : this.userInfo.addressLineTwo,\r\n city : this.userInfo.city,\r\n state : this.userInfo.state,\r\n zip : this.userInfo.zip,\r\n country : \"USA\",\r\n phone : this.userInfo.phone,\r\n contactType : this.userInfo.contactType,\r\n recordLabelId : this.userInfo.recordLabelId\r\n }\r\n return this.serviceProxy.post(url,data).then(response => {\r\n return this.insertPermissionsExceptions();\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n insertPermissionsExceptions(){\r\n var url = this.variables.Url + this.variables.Controller.register + this.variables.registerService.insertPermissionsExceptions;\r\n var data = {\r\n username : this.userInfo.username,\r\n processName : this.userInfo.processName,\r\n otherLabels : this.userInfo.otherLabels,\r\n exceptions : this.userInfo.exceptions\r\n }\r\n return this.serviceProxy.post(url,data).then(response => {\r\n return response;\r\n }).catch(error => {\r\n return error;\r\n })\r\n }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Row,Col,Container, Card, Button, NavLink, Form, Alert} from \"react-bootstrap\";\r\nimport {LoginNavBar} from '../../CustomComponents/NabvBar/LoginNavBar';\r\nimport {FormInputs} from '../../CustomComponents/FormInput';\r\nimport {FormSelect} from '../../CustomComponents/FormSelect';\r\nimport {FormCheckBox} from '../../CustomComponents/FormCheckBox';\r\nimport {FormLabelField} from '../../CustomComponents/FormLabelField';\r\nimport \"../../../assets/css/LoginPage.css\";\r\nimport jsonState from \"../../../json/State.json\";\r\nimport {RegisterController} from '../../../Controllers/RegisterController';\r\nimport {CommonController} from '../../../Controllers/CommonController';\r\nimport {Redirect} from 'react-router-dom';\r\nimport { RegisterParameter, Istate } from \"../../../Model/Register\"; \r\nimport {FormModalSpinner} from '../../CustomComponents/FormModalSpinner';\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class CreateProfile extends Component {\r\n redBorder:string;\r\n defaultBorder:string;\r\n constructor(props:RegisterParameter){\r\n super(props)\r\n //Change Border color Red, if alert triggered in onBlur Event\r\n this.redBorder = \"1px solid #DC3545\";\r\n this.defaultBorder = \"1px solid #E3E3E3\";\r\n this.state = {\r\n fields: {uid:'',user_full_name:'',user_first_name:'',user_last_name:'',password:'',confirm:'',AddressLineOne:'',AddressLinetwo:'',city:'',zip:'',email:'',phone:'',userTypeId:'',CustomerNumber:'',BusinessUnit:''},\r\n selectfields: {recordlabelId:'',department:'',state:'',recordLabelName:'',departmentName:'',stateName:''},\r\n checkfields: {multipleSelect:false},\r\n errors: {uid:'',user_first_name:'',user_last_name:'',AddressLineOne:'',city:'',zip:'',email:'',phone:'',Process_name:'',UserTypeName:'',recordLabelName:'',department:'',stateName:'',Name:'',password:'',confirm:''},\r\n Recordlabel:[],\r\n Department:[],\r\n State:[],\r\n errMsg:'',\r\n loading:false,\r\n modal: {modalSpinnerShow: false}\r\n } \r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleSelectChange = this.handleSelectChange.bind(this);\r\n this.handleCheckChange = this.handleCheckChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n //Load operating company and state dropdown on page load...\r\n componentWillMount(){\r\n let modal = this.state.modal;\r\n modal['modalSpinnerShow']=true;\r\n this.setState({ modal });\r\n let selectfields = this.state.selectfields;\r\n selectfields[\"recordLabelName\"]=\"Select Your Operating Company\";\r\n selectfields[\"departmentName\"] = \"Select Department\";\r\n selectfields[\"state\"]=\"Select A State\";\r\n this.setState({ \r\n State : JSON.parse(JSON.stringify(jsonState.result)),\r\n selectfields\r\n });\r\n let commonController = new CommonController();\r\n commonController.getAllLabel().then(jsonLabel => {\r\n this.setState({ \r\n Recordlabel : JSON.parse(JSON.stringify(jsonLabel))\r\n });\r\n modal['modalSpinnerShow']=false;\r\n this.setState({ modal });\r\n }).catch(error => {\r\n console.error(\"There was an error loading operating company..., \" + error)\r\n });\r\n \r\n }\r\n\r\n handleChange (e:any) {\r\n let fields = this.state.fields;\r\n if (e.currentTarget.value.trim().length > 0)\r\n {\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n }\r\n else\r\n {\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n }\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n handleBlur (e:any) {\r\n \r\n //e.preventDefault();\r\n //e.stopPropagation();\r\n const target = e.currentTarget;\r\n target.style.border=this.defaultBorder;\r\n //let control = document.getElementById(e.currentTarget.id);\r\n let controls=document.getElementById(e.currentTarget.id) as HTMLElement\r\n if(e.currentTarget.name === \"uid\" && (e.currentTarget.value).length > 0){\r\n var regex = /^[A-Za-z0-9 ]+$/\r\n if((e.currentTarget.value).length < 5){\r\n alert(\"Your user name must be atleast 5 character\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n return false;\r\n }\r\n else if(!regex.test(e.currentTarget.value)){\r\n alert(\"Your user name contains illegal character-please use letters or numbers only and no space\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n else if((e.currentTarget.value).indexOf(' ') >= 0){\r\n alert(\"Your user name contains illegal character-please use letters or numbers only and no space\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n } \r\n }\r\n if(e.currentTarget.name === \"password\" && (e.currentTarget.value).length > 0){\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if((e.currentTarget.value).length < 8){\r\n alert(\"Password should contain atleast 8 character\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n else if(!regexUpper.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one upper case\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n else if(!regexLower.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one lower case\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n else if(!regexNum.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one number\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n else if(!regexSpl.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one special character\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n if(e.currentTarget.name === \"confirm\" && (e.currentTarget.value).length > 0){\r\n if((e.currentTarget.value) !== (this.state.fields.password)){\r\n alert(\"Password do not match\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n\r\n if(e.currentTarget.name === \"zip\" && (e.currentTarget.value).length > 0){\r\n var valid = \"0123456789-\";\r\n var hyphencount = 0;\r\n var field = e.currentTarget.value;\r\n\r\n if (field.length!==5 && field.length!==10) {\r\n alert(\"Please enter your 5 digit or 5+4 digit zip code.\");\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n for (var i=0; i < field.length; i++) {\r\n var temp = \"\" + field.substring(i, i+1);\r\n if (temp == \"-\") hyphencount++;\r\n if (valid.indexOf(temp) == -1) {\r\n alert(\"Invalid characters in your zip code. Please try again.\");\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n return false;\r\n }\r\n if ((hyphencount > 1) || ((field.length==10) && \"\"+field.charAt(5)!=\"-\")) {\r\n alert(\"The hyphen character should be used with a properly formatted 5 digit+four zip code; example: 12345-6789. Please try again.\");\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n return false;\r\n }\r\n }\r\n \r\n }\r\n\r\n if(e.currentTarget.name === \"email\" && (e.currentTarget.value).length > 0){\r\n var regexEmail = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if(!regexEmail.test(e.currentTarget.value)){\r\n alert(\"Plesae enter the valid email address\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n }\r\n\r\n if(e.currentTarget.name === \"phone\" && (e.currentTarget.value).length > 0){\r\n var regexPhone = /^[(][1-9][0-9][0-9][)][ ][1-9][0-9][0-9][-][0-9][0-9][0-9][0-9]$/;\r\n if(!regexPhone.test(e.currentTarget.value)){\r\n alert(\"Please enter phone number in the following format:(123) 456-7890\")\r\n target.style.border=this.redBorder;\r\n this.setFocus(target);\r\n }\r\n } \r\n }\r\n \r\n setFocus(target:any)\r\n {\r\n //setTimeout(function () { target.select(); },5);\r\n }\r\n\r\n handleSelectChange (e:any) {\r\n try{\r\n let selectfields = this.state.selectfields;\r\n selectfields[e.currentTarget.name] = e.currentTarget.value;\r\n let fields = this.state.fields;\r\n if (e.currentTarget.name === \"recordlabelId\"){ \r\n selectfields[\"recordLabelId\"] = e.currentTarget.options[e.currentTarget.selectedIndex].value; \r\n selectfields[\"recordLabelName\"] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n if(e.currentTarget.options[e.currentTarget.selectedIndex].text === \"DEPOT\"){\r\n fields[\"userTypeId\"] = \"D\";\r\n }else{\r\n fields[\"userTypeId\"] = \"R\";\r\n }\r\n let commonController = new CommonController();\r\n commonController.getAllDeptForLabel(e.currentTarget.options[e.currentTarget.selectedIndex].value).then(jsonDept => {\r\n this.setState({ \r\n Department : JSON.parse(JSON.stringify(jsonDept))\r\n });\r\n }).catch(error => {\r\n console.error(\"There was an error loading department..., \" +error )\r\n });\r\n this.setState({\r\n fields\r\n });\r\n }\r\n if (e.currentTarget.name === \"state\"){\r\n selectfields['stateName'] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n if (e.currentTarget.name === \"department\"){\r\n selectfields['departmentName'] = e.currentTarget.options[e.currentTarget.selectedIndex].text;\r\n }\r\n this.setState({ selectfields });\r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n };\r\n\r\n handleCheckChange(e:any){\r\n try {\r\n let checkfields = this.state.checkfields;\r\n checkfields[e.currentTarget.name] = !this.state.checkfields.multipleSelect\r\n this.setState({\r\n checkfields\r\n });\r\n }\r\n catch(err){\r\n console.error(err);\r\n }\r\n }\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"uid\"] = \"\";\r\n errors[\"user_first_name\"] = \"\";\r\n errors[\"user_last_name\"] = \"\";\r\n errors[\"password\"] = \"\";\r\n errors[\"confirm\"] = \"\";\r\n errors[\"AddressLineOne\"] = \"\";\r\n errors[\"city\"] = \"\";\r\n errors[\"zip\"] = \"\";\r\n errors[\"email\"] = \"\";\r\n errors[\"phone\"] = \"\";\r\n errors[\"recordLabelName\"] = \"\";\r\n errors[\"department\"] = \"\";\r\n errors[\"state\"] = \"\";\r\n this.setState({\r\n errors\r\n });\r\n }\r\n ValidateProfile(){\r\n this.clearError();\r\n let fields = this.state.fields;\r\n let selectfields = this.state.selectfields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"uid\"]) {\r\n formIsValid = false;\r\n errors[\"uid\"] = \"The Username field is empty\";\r\n }\r\n if (!fields[\"user_first_name\"]) {\r\n formIsValid = false;\r\n errors[\"user_first_name\"] = \"The First Name field is empty.\";\r\n }\r\n if (!fields[\"user_last_name\"]) {\r\n formIsValid = false;\r\n errors[\"user_last_name\"] = \"The Last Name field is empty.\";\r\n }\r\n // if (!fields[\"password\"]) {\r\n // formIsValid = false;\r\n // errors[\"password\"] = \"The Password field is empty.\";\r\n // }\r\n // if (!fields[\"confirm\"]) {\r\n // formIsValid = false;\r\n // errors[\"confirm\"] = \"The Confirm Password field is empty.\";\r\n // }\r\n if (!fields[\"AddressLineOne\"]) {\r\n formIsValid = false;\r\n errors[\"AddressLineOne\"] = \"The Address Line One field is empty.\";\r\n }\r\n if (!fields[\"city\"]) {\r\n formIsValid = false;\r\n errors[\"city\"] = \"The City field is empty.\";\r\n }\r\n if (!fields[\"zip\"]) {\r\n formIsValid = false;\r\n errors[\"zip\"] = \"The Zip field is empty.\";\r\n }\r\n if (!fields[\"email\"]) {\r\n formIsValid = false;\r\n errors[\"email\"] = \"The Work Email field is empty.\";\r\n }\r\n if (!fields[\"phone\"]) {\r\n formIsValid = false;\r\n errors[\"phone\"] = \"The Work Phone field is empty.\";\r\n }\r\n if(fields[\"recordLabelName\"] === \"Select Your Operating Company\"){\r\n formIsValid = false;\r\n errors[\"recordLabelName\"] = \"You must select an Operating Company.\";\r\n }\r\n if(selectfields[\"departmentName\"] === \"Select Department\"){\r\n formIsValid = false;\r\n errors[\"department\"] = \"You must select a Department.\";\r\n }\r\n \r\n if(selectfields[\"state\"] === \"Select A State\"){\r\n formIsValid = false;\r\n errors[\"state\"] = \"You must select a State.\";\r\n }\r\n if(formIsValid){\r\n if(fields[\"uid\"] !== undefined && fields[\"uid\"].length > 0){\r\n var regex = /^[A-Za-z0-9 ]+$/\r\n if(fields[\"uid\"].length < 5){\r\n alert(\"Your user name must be atleast 5 character\")\r\n formIsValid = false;\r\n }\r\n else if(!regex.test(fields[\"uid\"])){\r\n alert(\"Your user name contains illegal character-please use letters or numbers only and no space\")\r\n formIsValid = false;\r\n }\r\n else if(fields[\"uid\"].indexOf(' ') >= 0){\r\n alert(\"Your user name contains illegal character-please use letters or numbers only and no space\")\r\n formIsValid = false;\r\n } \r\n }\r\n // if(formIsValid && fields[\"password\"]!==undefined && fields[\"password\"].length > 0){\r\n // var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n // var regexUpper = /[A-Z]/g;\r\n // var regexLower = /[a-z]/g;\r\n // var regexNum = /[0-9]/g;\r\n // if(fields[\"password\"].trim().length < 8){\r\n // alert(\"Password should contain atleast 8 character\")\r\n // formIsValid = false;\r\n // }\r\n // else if(!regexUpper.test(fields[\"password\"])){\r\n // alert(\"Password should contain atleast one upper case\")\r\n // formIsValid = false;\r\n // }\r\n // else if(!regexLower.test(fields[\"password\"])){\r\n // alert(\"Password should contain atleast one lower case\")\r\n // formIsValid = false;\r\n // }\r\n // else if(!regexNum.test(fields[\"password\"])){\r\n // alert(\"Password should contain atleast one number\")\r\n // formIsValid = false;\r\n // }\r\n // else if(!regexSpl.test(fields[\"password\"])){\r\n // alert(\"Password should contain atleast one special character\")\r\n // formIsValid = false;\r\n // }\r\n // }\r\n // if(formIsValid && fields[\"confirm\"]!==undefined && fields[\"confirm\"].length > 0){\r\n // if(fields[\"confirm\"] !== fields[\"password\"]){\r\n // alert(\"Password do not match\")\r\n // formIsValid = false;\r\n // }\r\n // }\r\n \r\n if(formIsValid && fields[\"zip\"]!==undefined && fields[\"zip\"].length > 0){\r\n var valid = \"0123456789-\";\r\n var hyphencount = 0;\r\n var field = fields[\"zip\"];\r\n \r\n if (field.length!==5 && field.length!==10) {\r\n alert(\"Please enter your 5 digit or 5+4 digit zip code.\");\r\n formIsValid = false;\r\n }\r\n for (var i=0; i < field.length; i++) {\r\n var temp = \"\" + field.substring(i, i+1);\r\n if (temp == \"-\") hyphencount++;\r\n if (valid.indexOf(temp) == -1) {\r\n alert(\"Invalid characters in your zip code. Please try again.\");\r\n formIsValid = false;\r\n //return false;\r\n }\r\n if ((hyphencount > 1) || ((field.length==10) && \"\"+field.charAt(5)!=\"-\")) {\r\n alert(\"The hyphen character should be used with a properly formatted 5 digit+four zip code; example: 12345-6789. Please try again.\");\r\n formIsValid = false;\r\n //return false;\r\n }\r\n }\r\n \r\n }\r\n \r\n if(formIsValid && fields[\"email\"]!==undefined && fields[\"email\"].length > 0){\r\n var regexEmail = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if(!regexEmail.test(fields[\"email\"])){\r\n alert(\"Plesae enter the valid email address\")\r\n formIsValid = false;\r\n }\r\n }\r\n \r\n if(formIsValid && fields[\"phone\"]!==undefined && fields[\"phone\"].length > 0){\r\n var regexPhone = /^[(][1-9][0-9][0-9][)][ ][1-9][0-9][0-9][-][0-9][0-9][0-9][0-9]$/;\r\n if(!regexPhone.test(fields[\"phone\"])){\r\n alert(\"Please enter phone number in the following format:(123) 456-7890\")\r\n formIsValid = false;\r\n }\r\n } \r\n }\r\n if(!formIsValid)\r\n {\r\n this.setState({ loading: false });\r\n }\r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n onSubmit = (e:any) => {\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n \r\n if (this.ValidateProfile()) {\r\n \r\n let registerController = new RegisterController();\r\n registerController.checkAliasEmail(this.state.fields.uid,this.state.fields.email).then( response => {\r\n // if(response.cAlias >= 1 && response.cEmail >= 1) {\r\n // this.setState({ errMsg : \"Username and email already exists...\" });\r\n // this.setState({ loading: false });\r\n // }\r\n if(response.cAlias >= 1) {\r\n this.setState({ errMsg : \"Username already exists...\" });\r\n this.setState({ loading: false });\r\n }\r\n // else if(response.cEmail >= 1) {\r\n // this.setState({ errMsg : \"Email already exists...\" });\r\n // this.setState({ loading: false });\r\n // }\r\n else {\r\n var data = {\r\n username : this.state.fields.uid,\r\n userTypeId : this.state.fields.userTypeId,\r\n name : this.state.fields.user_first_name + \" \" + this.state.fields.user_last_name,\r\n email : this.state.fields.email,\r\n recordLabelId : this.state.selectfields.recordLabelId,\r\n department : this.state.selectfields.departmentName,\r\n addressLineOne : this.state.fields.AddressLineOne,\r\n addressLineTwo : this.state.fields.AddressLinetwo,\r\n city : this.state.fields.city,\r\n state : this.state.selectfields.state,\r\n zip : this.state.fields.zip,\r\n phone : this.state.fields.phone,\r\n password : this.state.fields.password,\r\n multipleSelect : this.state.checkfields.multipleSelect\r\n }\r\n registerController.getDeptProcessInfo(data).then(response => {\r\n if (response.success){\r\n alert(\"User profile has been created successfully\")\r\n this.props.history.push('/admin/home');\r\n this.setState({ loading: false });\r\n }\r\n }).catch(error => {\r\n this.setState({ errMsg : \"Self-Registration Failed\" });\r\n })\r\n }\r\n })\r\n } \r\n }\r\n \r\n DisplayCreateProfileButton =()=> {\r\n const {loading} = this.state;\r\n if(this.state.selectfields[\"recordLabelName\"]!==\"Select Your Operating Company\"){\r\n return
\r\n \r\n \r\n
\r\n }\r\n else\r\n {\r\n return
\r\n }\r\n }\r\n render() {\r\n const alignCardCenter = {\r\n \"margin\": \"1% 0 1% 0\"\r\n }\r\n const changebgColor = {\r\n backgroundColor:\"rgba(203, 203, 210, 0.15)\"\r\n }\r\n /*const styles = {\r\n alignCardCenter: {\r\n margin: \"1% 0 1% 0\"\r\n },\r\n changebgColor: {\r\n backgroundColor:\"rgba(203, 203, 210, 0.15)\"\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

User Profile

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Password Policy: Minimum of 8 character and max of 15. At least one Upper case and small case. At least one number. At least one special character (~, `, !, @, #, $, %, ^, &, *, (, ), +, =, \\).
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \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 note that field is limited to 30 characters to prevent address from not displaying properly on address labels.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
example: (123) 456-7890
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.DisplayCreateProfileButton()}\r\n \r\n \r\n
\r\n \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 { \r\n faHome,faPrint,faInbox,faFileInvoiceDollar,faFileAlt,faFileInvoice,faHistory,faSearch,faUserEdit,faQuestionCircle,faUsers,\r\n faFolder,faCogs,faAngleDoubleRight,faSlidersH,faUserTie,faUserPlus,faSignal,faUser,faFileSignature,faBinoculars,faUserTag,faSignOutAlt,faKey,faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons'\r\nimport {Home} from \"../Components/View/Home/Home\"\r\nimport {CreateOrder} from \"../Components/View/CreateOrder/CreateOrder\";\r\nimport {EditUser} from \"../Components/View/Register/EditUser\";\r\nimport {ResetPassword} from \"../Components/View/PasswordReset/PasswordReset\";\r\nimport {EgratisFAQ} from \"../Components/View/EgratisFAQ/EgratisFAQ\"\r\nimport { QuickProductSearch } from '../Components/View/QuickProductSearch/QuickProductSearch';\r\nimport {UserView} from \"../Components/View/UserView/UserView\";\r\nimport { CreateBillableOrder } from '../Components/View/CreateBillableOrder/CreateBillableOrder';\r\nimport { FreeGoodsOrder } from '../Components/View/FreeGoodsOrder/FreeGoodsOrder';\r\nimport {ViewOrder} from \"../Components/View/ViewOrderStatus/ViewOrder\"; \r\nimport {FreeGoodsReqForm} from '../Components/View/FreeGoodsOrder/FreeGoodsReqForm';\r\nimport {ViewApprovalInbox} from \"../Components/View/ViewOrderStatus/ViewApprovalInbox\"\r\nimport { BillableReqForm } from '../Components/View/CreateBillableOrder/BillableReqForm';\r\nimport { DepartmentMaintenance } from '../Components/View/ControlPanel/DepartmentMaintenance';\r\nimport { CreateApprovalProcess } from '../Components/View/ControlPanel/CreateApprovalProcess';\r\nimport { NonBillableTransferForm } from '../Components/View/NonBillableOrder/NonBillableTransferForm';\r\nimport { NonBillableOrder } from '../Components/View/NonBillableOrder/NonBillableOrder';\r\nimport { DepotOrderUpdate } from '../Components/View/Depot/DepotOrderUpdate';\r\nimport { DepotOrderHistory } from '../Components/View/Depot/DepotOrderHistory';\r\nimport { DepotOrderUpdateView } from '../Components/View/Depot/DepotOrderUpdateView';\r\nimport { DepotOrderHistoryView } from '../Components/View/Depot/DepotOrderHistoryView';\r\nimport { ReportView } from '../Components/View/Reports/Reports';\r\nimport { ViewApprovalProcess } from '../Components/View/ControlPanel/ViewApprovalProcess';\r\nimport { LabelMaintenance } from '../Components/View/ControlPanel/LabelMaintenance';\r\nimport { AddRemoveApprovers } from '../Components/View/ControlPanel/AddRemoveApprovers';\r\nimport { FtpHistory } from '../Components/View/FTPHistory/FtpHistory';\r\nimport { SearchOrderHistory } from '../Components/View/SearchHistory/SearchOrderHistory';\r\nimport { ApprovalOrderHistory } from '../Components/View/ApprovalHistory/ApprovalHistory';\r\nimport { ApprovalHistoryView } from '../Components/View/ApprovalHistory/ApprovalHistoryView';\r\nimport { OrdersView } from '../Components/View/OrdersView/Orders_View';\r\nimport { ApprovalProcessAdmin } from '../Components/View/ApprovalProcessAdmin/ApprovalProcessAdmin';\r\nimport { AddExecutiveUser } from '../Components/View/UserView/AutoAddExecutiveUser';\r\nimport { AppSettings } from '../Components/View/AppSettings/AppSettings';\r\nimport { ViewOrderDetails } from '../Components/View/ViewOrderStatus/ViewOrder_Details';\r\nimport { EditApprovalProcess } from '../Components/View/ControlPanel/EditApprovalProcess';\r\nimport { SearchHistory } from '../Components/View/SearchHistory/SearchHistory';\r\nimport { ReportOrderByRequestor } from '../Components/View/Reports/ReportOrderByRequestor';\r\nimport{SelectRole} from'../Components/View/Login/selectRole'\r\nimport{CreateProfile} from'../Components/View/Register/CreateProfile'\r\n/*import TableList from \"views/TableList.jsx\";\r\nimport Typography from \"views/Typography.jsx\";\r\nimport Icons from \"views/Icons.jsx\";\r\nimport Maps from \"views/Maps.jsx\";\r\nimport Notifications from \"views/Notifications.jsx\";\r\nimport Upgrade from \"views/Upgrade.jsx\";*/\r\nexport class Routes {\r\n \r\ndashboardRoutes = [\r\n {\r\n path: \"/home\",\r\n name: \"Home\",\r\n icon: faHome,\r\n component: Home,\r\n layout: \"/admin\",\r\n view:\"MNU2\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/selectRole\",\r\n name: \"Select Role\",\r\n icon: faUser,\r\n component: SelectRole,\r\n layout: \"/admin\",\r\n view:\"MNU\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/CreateProfile\",\r\n name: \"Create Profile\",\r\n icon: faUser,\r\n component: CreateProfile,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/report.menu\",\r\n name: \"View/Print Reports\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU1\",\r\n //submenu:[{path: \"/usertotals\",name: \"User Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/selectiontotals\",name: \"Selection Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/departmenttotals\",name: \"Department Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/detailorderreport\",name: \"Detail Order Report\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/shiptototals\",name: \"Ship To Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"}]\r\n submenu:[{path: \"/usertotals\",name: \"User Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/selectiontotals\",name: \"Selection Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/departmenttotals\",name: \"Department Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/detailorderreport\",name: \"Detail Order Report\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/shiptototals\",name: \"Ship To Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/orderbyrequestor\",name: \"Order By Requestor\",icon: faAngleDoubleRight,component: ReportOrderByRequestor,layout: \"/admin\"}]\r\n },\r\n {\r\n path: \"/order_approval_inbox\",\r\n name: \"My Approval InBox\",\r\n icon: faInbox,\r\n component: ViewApprovalInbox,\r\n layout: \"/admin\",\r\n view:\"MNU2\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/order_approval_history\",\r\n name: \"My Approval History\",\r\n icon: faHistory,\r\n component: ApprovalOrderHistory,\r\n layout: \"/admin\",\r\n view:\"MNU2\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/report.menu\",\r\n name: \"View/Print Reports\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU2\",\r\n //submenu:[{path: \"/usertotals\",name: \"User Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/selectiontotals\",name: \"Selection Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/departmenttotals\",name: \"Department Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/detailorderreport\",name: \"Detail Order Report\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/shiptototals\",name: \"Ship To Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"}]\r\n submenu:[{path: \"/usertotals\",name: \"User Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/selectiontotals\",name: \"Selection Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/departmenttotals\",name: \"Department Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/detailorderreport\",name: \"Detail Order Report\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/shiptototals\",name: \"Ship To Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/orderbyrequestor\",name: \"Order By Requestor\",icon: faAngleDoubleRight,component: ReportOrderByRequestor,layout: \"/admin\"}]\r\n },\r\n {\r\n path: \"/FreeGoodsOrder\",\r\n name: \"Create a Free Goods Req\",\r\n icon: faFileAlt,\r\n component: CreateOrder,\r\n layout: \"/admin\",\r\n view:\"MNU3\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/CreateBillableOrder\",\r\n name: \"Create Billable Order\",\r\n icon: faFileInvoiceDollar,\r\n component: CreateOrder,\r\n layout: \"/admin\",\r\n view:\"MNU3\",\r\n submenu:[]\r\n },\r\n {\r\n    path: \"/TransferNonBillable\",\r\n    name: \"Create NonBill Trans Order\",\r\n    icon: faFileInvoice,\r\n    component: CreateOrder,\r\n    layout: \"/admin\",\r\n    view:\"MNU4\",\r\n submenu:[]\r\n  }, \r\n {\r\n path: \"/order_status\",\r\n name: \"View Order Status\",\r\n icon: faSignal,\r\n component: ViewOrder,\r\n layout: \"/admin\",\r\n view:\"MNU5\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/order_history\",\r\n name: \"Search History\",\r\n icon: faHistory,\r\n component: SearchHistory ,\r\n layout: \"/admin\",\r\n view:\"MNU5\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/depot_pending_orders\",\r\n name: \"Depot Order Update\",\r\n icon: faFileSignature,\r\n component: DepotOrderUpdate,\r\n layout: \"/admin\",\r\n view:\"MNU6\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/depot_history\",\r\n name: \"Depot History\",\r\n icon: faHistory,\r\n component: DepotOrderHistory,\r\n layout: \"/admin\",\r\n view:\"MNU6\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/user_view\",\r\n name: \"Users View\",\r\n icon: faUsers,\r\n component: UserView,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/orders_view\",\r\n name: \"Orders View\",\r\n icon: faBinoculars,\r\n component: OrdersView,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/report.menu\",\r\n name: \"View/Print Reports\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n //submenu:[{path: \"/usertotals\",name: \"User Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/selectiontotals\",name: \"Selection Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/departmenttotals\",name: \"Department Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/detailorderreport\",name: \"Detail Order Report\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/shiptototals\",name: \"Ship To Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"}] \r\n submenu:[{path: \"/usertotals\",name: \"User Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/selectiontotals\",name: \"Selection Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/departmenttotals\",name: \"Department Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/detailorderreport\",name: \"Detail Order Report\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/shiptototals\",name: \"Ship To Totals\",icon: faAngleDoubleRight,component: ReportView,layout: \"/admin\"},{path: \"/orderbyrequestor\",name: \"Order By Requestor\",icon: faAngleDoubleRight,component: ReportOrderByRequestor,layout: \"/admin\"}]\r\n\r\n },\r\n {\r\n path: \"/ftp_order_history\",\r\n name: \"FTP History\",\r\n icon: faHistory,\r\n component: FtpHistory,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/update_app_setting\",\r\n name: \"Application Settings\",\r\n icon: faCogs,\r\n component: AppSettings,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/new_sysopProcess\",\r\n name: \"Control Panel\",\r\n icon: faSlidersH,\r\n component: Home,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[{path: \"/labelMaintenance\",name: \"Label Maintenance\",icon: faAngleDoubleRight,component: LabelMaintenance ,layout: \"/admin\"},{path: \"/deptmaintenance\",name: \"Dept Maintenance\",icon: faAngleDoubleRight,component: DepartmentMaintenance,layout: \"/admin\"},{path: \"/createapprovalprocess\",name: \"Create Approval Process\",icon: faAngleDoubleRight,component: CreateApprovalProcess,layout: \"/admin\"},{path: \"/viewapprovalprocess\",name: \"View Approval Process\",icon: faAngleDoubleRight,component: ViewApprovalProcess,layout: \"/admin\"}]\r\n },\r\n {\r\n path: \"/auto_add_exec_user_dept\",\r\n name: \"Add Exec User to Dept\",\r\n icon: faUserPlus,\r\n component: AddExecutiveUser,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/addremoveapprover\",\r\n name: \"Approval Process Admin\",\r\n icon: faUserTie,\r\n component: ApprovalProcessAdmin,\r\n layout: \"/admin\",\r\n view:\"MNU7\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/TicketBundling\",\r\n name: \"Ticket Bundling\",\r\n icon: faFileInvoiceDollar,\r\n component: CreateOrder,\r\n layout: \"/admin\",\r\n view:\"MNU8\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/order_status\",\r\n name: \"View Order Status\",\r\n icon: faSignal,\r\n component: ViewOrder,\r\n layout: \"/admin\",\r\n view:\"MNU8\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/ValidateCreateOrder\",\r\n name: \"D2C\",\r\n icon: faUserTag,\r\n component: CreateOrder,\r\n layout: \"/admin\",\r\n view:\"MNU9\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/order_status\",\r\n name: \"View Order Status\",\r\n icon: faSignal,\r\n component: EditUser,\r\n layout: \"/admin\",\r\n view:\"MNU9\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/quick_product_search\",\r\n name: \"Quick Product Search\",\r\n icon: faSearch,\r\n component: QuickProductSearch,\r\n layout: \"/admin\",\r\n view:\"MNU10\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/eGratis_FAQ\",\r\n name: \"eGratis FAQ\",\r\n icon: faQuestionCircle,\r\n component: EgratisFAQ,\r\n layout: \"/admin\",\r\n view:\"MNU10\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/EditUser\",\r\n name: \"Edit My User Profile\",\r\n icon: faUserEdit,\r\n component: EditUser,\r\n layout: \"/admin\",\r\n view:\"MNU10\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/changepassword\",\r\n name: \"Change Password\",\r\n icon: faKey,\r\n component: ResetPassword,\r\n layout: \"/admin\",\r\n view:\"M\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"https://www.umgb2b.com/Security/Login.aspx?ReturnUrl=%2f\",\r\n name: \"UMG B2B\",\r\n icon: faExternalLinkAlt,\r\n component: 'UMG B2B',\r\n layout: \"\",\r\n view:\"MNU10\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/freegoodsreqform\",\r\n name: \"Free Goods Request Form\",\r\n icon: faKey,\r\n component: FreeGoodsReqForm,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/billablereqform\",\r\n name: \"Billable Request Form\",\r\n icon: faKey,\r\n component: BillableReqForm,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/nonbillablereqform\",\r\n name: \"Billable Request Form\",\r\n icon: faKey,\r\n component: NonBillableTransferForm,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/depotorderupdateview\",\r\n name: \"Depot Order Update\",\r\n icon: faKey,\r\n component: DepotOrderUpdateView,\r\n layout: \"/admin\",\r\n view:\"MNU11\"\r\n },\r\n {\r\n path: \"/depotorderhistoryview\",\r\n name: \"Depot View Order Update\",\r\n icon: faKey,\r\n component: DepotOrderHistoryView,\r\n layout: \"/admin\",\r\n view:\"MNU11\"\r\n },\r\n {\r\n path: \"/usertotals\",\r\n name: \"User Totals\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/selectiontotals\",\r\n name: \"Selection Totals\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/departmenttotals\",\r\n name: \"Department Totals\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/detailorderreport\",\r\n name: \"Detail Order Report\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/createApprovalprocess\",\r\n name: \"Create Approval Process\",\r\n icon: faSlidersH,\r\n component: CreateApprovalProcess,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/deptmaintenance\",\r\n name: \"Dept Maintenance\",\r\n icon: faSlidersH,\r\n component: DepartmentMaintenance,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/shiptototals\",\r\n name: \"Ship To Totals\",\r\n icon: faPrint,\r\n component: ReportView,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/orderbyrequestor\",\r\n name: \"Order By Requestor\",\r\n icon: faPrint,\r\n component: ReportOrderByRequestor,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/viewapprovalprocess\",\r\n name: \"View Approval Process\",\r\n icon: faSlidersH,\r\n component: ViewApprovalProcess,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/labelMaintenance\",\r\n name: \"Label Maintenance\",\r\n icon: faSlidersH,\r\n component: LabelMaintenance,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/addRemoveApprovers\",\r\n name: \"Add Remove Approvers\",\r\n icon: faSlidersH,\r\n component: AddRemoveApprovers,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/editApprovalProcess\",\r\n name: \"Edit ApprovalProcess\",\r\n icon: faSlidersH,\r\n component: EditApprovalProcess,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/ApprovalHistoryView\",\r\n name: \"My Approval History\",\r\n icon: faHistory,\r\n component: ApprovalHistoryView,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n },\r\n {\r\n path: \"/viewOrderDetails\",\r\n name: \"My Order Details\",\r\n icon: faHistory,\r\n component: ViewOrderDetails,\r\n layout: \"/admin\",\r\n view:\"MNU11\",\r\n submenu:[]\r\n }\r\n\r\n];\r\n\r\n}\r\n","import React,{ Component } from 'react';\r\nimport {Modal, Button, Row, Col} from \"react-bootstrap\";\r\n\r\nexport class IdleTimeOutModal extends Component {\r\n render() { \r\n //\r\n const {showModal, handleClose, handleLogout} = this.props;\r\n //Clear session variables\r\n return (\r\n \r\n Session TimeOut\r\n Your Session has been timed out, Please login again\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n\r\ninterface IIdleTimeOutModal\r\n {\r\n showModal:boolean;\r\n handleClose:any;\r\n handleLogout:any;\r\n }\r\n interface IProperties\r\n {\r\n \r\n }\r\n interface Istate\r\n {\r\n\r\n }","import React, { Component } from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport { AdminNavbar } from \"../../CustomComponents/NabvBar/AdminNavBar\";\r\nimport { Footer } from \"../../CustomComponents/Footer\";\r\nimport { Sidebar } from \"../../CustomComponents/Sidebar\";\r\nimport NotificationSystem from \"react-notification-system\";\r\nimport { Routes } from \"../../../Routing/Route\";\r\nimport image from \"../../../assets/img/sidebar-3.jpg\";\r\nimport '../../../assets/css/eGratis-react.css';\r\nimport '../../../assets/css/AdminLayout.css';\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../CustomComponents/IdleTimeOutModal';\r\nimport {History, LocationState} from \"History\";\r\n\r\nexport class AdminLayout extends Component {\r\n constructor(objAdmin:IAdmin) {\r\n super(objAdmin);\r\n //idleTimer : IdleTimer | null\r\n this.state = {\r\n _notificationSystem: null,\r\n image: image,\r\n color: \"black\",\r\n hasImage: true,\r\n fixedClasses: \"dropdown show-dropdown open\",\r\n timeout: 20 * 60 * 1000,\r\n showModal: false,\r\n userLoggedIn: false,\r\n isTimedOut: false\r\n };\r\n //this.idleTimer = null\r\n this.handleOnAction = this.handleOnAction.bind(this)\r\n this.handleOnActive = this.handleOnActive.bind(this)\r\n this.handleOnIdle = this.handleOnIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleOnAction() {\r\n //console.log('user did something', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n handleOnActive() {\r\n console.log('user is active')\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n handleOnIdle() {\r\n //console.log('user is idle', e)\r\n const isTimedOut = this.state.isTimedOut\r\n this.setState({showModal: true})\r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n handleLogout() {\r\n this.setState({showModal: false})\r\n sessionStorage.clear();\r\n this.props.history.push('/')\r\n }\r\n\r\n handleNotificationClick = position => {\r\n var color = Math.floor(Math.random() * 4 + 1);\r\n var level;\r\n switch (color) {\r\n case 1:\r\n level = \"success\";\r\n break;\r\n case 2:\r\n level = \"warning\";\r\n break;\r\n case 3:\r\n level = \"error\";\r\n break;\r\n case 4:\r\n level = \"info\";\r\n break;\r\n default:\r\n break;\r\n }\r\n /*this.state._notificationSystem.addNotification({\r\n title: ,\r\n message: (\r\n
\r\n Welcome to Light Bootstrap Dashboard - a beautiful freebie for\r\n every web developer.\r\n
\r\n ),\r\n level: level,\r\n position: position,\r\n autoDismiss: 15\r\n });*/\r\n };\r\n getRoutes = (Routes: any[]) => {\r\n return Routes.map((prop, key) => {\r\n if (prop.layout === \"/admin\") {\r\n return (\r\n (\r\n \r\n )}\r\n key={key}\r\n />\r\n );\r\n } else {\r\n return null;\r\n }\r\n });\r\n };\r\n getBrandText = (routes: string | any[], path: any) => {\r\n for (let i = 0; i < routes.length; i++) {\r\n if (\r\n this.props.location.pathname.indexOf(\r\n routes[i].layout + routes[i].path\r\n ) !== -1\r\n ) {\r\n return routes[i].name;\r\n }\r\n }\r\n return \"Brand\";\r\n };\r\n handleImageClick = image => {\r\n this.setState({ image: image });\r\n };\r\n handleColorClick = color => {\r\n this.setState({ color: color });\r\n };\r\n handleHasImage = hasImage => {\r\n this.setState({ hasImage: hasImage });\r\n };\r\n handleFixedClick = () => {\r\n if (this.state.fixedClasses === \"dropdown\") {\r\n this.setState({ fixedClasses: \"dropdown show-dropdown open\" });\r\n } else {\r\n this.setState({ fixedClasses: \"dropdown\" });\r\n }\r\n };\r\n componentDidMount() {\r\n this.setState({ _notificationSystem: this.refs.notificationSystem });\r\n var _notificationSystem:any = this.refs.notificationSystem;\r\n var color = Math.floor(Math.random() * 4 + 1);\r\n var level;\r\n switch (color) {\r\n case 1:\r\n level = \"success\";\r\n break;\r\n case 2:\r\n level = \"warning\";\r\n break;\r\n case 3:\r\n level = \"error\";\r\n break;\r\n case 4:\r\n level = \"info\";\r\n break;\r\n default:\r\n break;\r\n }\r\n /*_notificationSystem.addNotification({\r\n title: ,\r\n message: (\r\n
\r\n Welcome to Light Bootstrap Dashboard - a beautiful freebie for\r\n every web developer.\r\n
\r\n ),\r\n level: level,\r\n position: \"tr\",\r\n autoDismiss: 15\r\n });*/\r\n }\r\n componentDidUpdate(e) {\r\n if (\r\n window.innerWidth < 993 &&\r\n e.history.location.pathname !== e.location.pathname &&\r\n document.documentElement.className.indexOf(\"nav-open\") !== -1\r\n ) {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n }\r\n if (e.history.action === \"PUSH\") {\r\n document.documentElement.scrollTop = 0;\r\n if(document.scrollingElement != undefined){\r\n (document.scrollingElement as HTMLElement).scrollTop = 0;\r\n }\r\n (this.refs.mainPanel as HTMLElement).scrollTop = 0;\r\n }\r\n }\r\n render() {\r\n //const { match } = this.props\r\n let routes = new Routes().dashboardRoutes;\r\n return (\r\n
\r\n {}\r\n
\r\n \r\n { this.idleTimer = ref }}\r\n timeout={this.state.timeout}\r\n onActive={this.handleOnActive}\r\n onIdle={this.handleOnIdle}\r\n //onAction={this.handleOnAction}\r\n debounce={250} />\r\n {this.getRoutes(routes)}\r\n {/*
*/}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n//AdminLayout.propTypes = {\r\n// match: PropTypes.any.isRequired,\r\n// history: PropTypes.func.isRequired\r\n// }\r\n\r\ninterface Istate{\r\n _notificationSystem?: NotificationSystem;\r\n image?: any;\r\n color?: string;\r\n hasImage?:boolean;\r\n fixedClasses?:string;\r\n mini?:string;\r\n timeout:number;\r\n showModal:boolean;\r\n userLoggedIn:boolean;\r\n isTimedOut:boolean;\r\n}\r\n\r\ninterface IAdmin{\r\n location:any;\r\n history?:History;\r\n}","import {ServiceProxy} from \"../Common/ServiceProxy\";\r\nimport {Variables} from \"../Variables/Variables\"\r\n\r\nexport class EmailPasswordController {\r\n serviceProxy: ServiceProxy;\r\n variables: Variables;\r\n response: { success: boolean; code: string; msg : string, alias: string; password: string; email: string; department: string; recordLabel: string; };\r\n constructor(){\r\n this.response = { success : true, code : '', msg : '', alias : '', password : '', email : '', department : '', recordLabel : '' }\r\n this.serviceProxy = new ServiceProxy();\r\n this.variables = new Variables();\r\n }\r\n\r\n getPasswordDetails(email : string){\r\n var url = this.variables.Url + this.variables.Controller.emailPassword + this.variables.emailPasswordService.getPasswordDetails;\r\n var data = {\r\n email : email\r\n }\r\n return this.serviceProxy.get(url, data).then(response =>{\r\n if(response.success){\r\n this.response.success = response.success;\r\n this.response.code = response.code;\r\n this.response.alias = response.alias;\r\n this.response.password = response.password;\r\n this.response.email = response.email;\r\n this.response.department = response.department;\r\n this.response.recordLabel = response.recordLabel;\r\n return this.sendEmailPassword();\r\n }\r\n else\r\n {\r\n console.log(\"Error in email password...,\" + response.message)\r\n if(response.code === 202)\r\n {\r\n this.response.success = response.success;\r\n this.response.code = response.code;\r\n this.response.msg = response.message\r\n }\r\n else{\r\n this.response.success = response.success;\r\n this.response.code = response.code;\r\n console.error(\"Error in email password...,\" + response.message)\r\n }\r\n return this.response;\r\n }\r\n }).catch(error => {\r\n console.error(\"Error in email password...,\" + error);\r\n });\r\n }\r\n\r\n sendEmailPassword(){\r\n var url = this.variables.Url + this.variables.Controller.emailPassword + this.variables.emailPasswordService.sendEmail;\r\n var data = {\r\n email : this.response.email,\r\n html : \"

Your login information for eGratis is as follows:

Label: \" + this.response.recordLabel + \"

Department: \" + this.response.department + \"

UserName: \" + this.response.alias + \"

Password: \" + this.response.password + \"

\"\r\n }\r\n return this.serviceProxy.post(url, data).then(response =>{\r\n if(response.success){\r\n this.response.success = response.success;\r\n this.response.code = response.code;\r\n this.response.msg = response.message\r\n }\r\n else{\r\n this.response.success = response.success;\r\n this.response.code = response.code;\r\n console.error(\"Error in sending email...,\" + response.message)\r\n }\r\n return this.response;\r\n }).catch(error => {\r\n console.error(\"Error in sending email...,\" + error);\r\n })\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport {History, LocationState} from \"History\";\r\nimport {Row,Col,Container, Card, Button, Form, Alert} from \"react-bootstrap\";\r\nimport {LoginNavBar} from '../../CustomComponents/NabvBar/LoginNavBar'\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport \"../../../assets/css/LoginPage.css\"\r\nimport \"../../../assets/css/Style.css\";\r\nimport {EmailPasswordController} from \"../../../Controllers/EmailPasswordController\"\r\nimport { EmailParameter, Istate } from \"../../../Model/EmailPassword\";\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class EmailPassword extends Component {\r\n redBorder:string;\r\n defaultBorder:string;\r\n constructor(props:EmailParameter){\r\n super(props)\r\n //Change Border color Red, if alert triggered in onBlur Event\r\n this.redBorder = \"1px solid #DC3545\";\r\n this.defaultBorder = \"1px solid #E3E3E3\";\r\n this.state={\r\n fields: { email:'' },\r\n errors: { email:'' },\r\n errMsg:\"\",\r\n loading: false,\r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n \r\n handleChange(e:any){\r\n let fields= this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value;\r\n this.setState({ fields });\r\n }\r\n\r\n handleBlur(e:any){\r\n e.preventDefault();\r\n const target = e.currentTarget;\r\n target.style.border=\"1px solid #E3E3E3\";\r\n if(e.currentTarget.name === \"email\" && (e.currentTarget.value).length > 0){\r\n var regexEmail = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if(!regexEmail.test(e.currentTarget.value)){\r\n alert(\"Please enter the valid email address\")\r\n target.style.border=\"1px solid #DC3545\";\r\n }\r\n }\r\n }\r\n\r\n validateForm() {\r\n let fields = this.state.fields;\r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"email\"]) {\r\n formIsValid = false;\r\n errors[\"email\"] = \"You must type an e-mail address. Please try again with a real e-mail address.\";\r\n this.setState({ loading: false });\r\n }\r\n if(fields[\"email\"] !== undefined && fields[\"email\"].length > 0 && formIsValid){\r\n var regexEmail = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if(!regexEmail.test(fields[\"email\"])){\r\n alert(\"Please enter the valid email address\")\r\n formIsValid = false;\r\n }\r\n }\r\n this.setState({ errors });\r\n return formIsValid;\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n let errors = this.state.errors;\r\n errors[\"email\"] = \"\";\r\n this.setState({ errors });\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if (this.validateForm()) {\r\n let emailPasswordController = new EmailPasswordController();\r\n emailPasswordController.getPasswordDetails(this.state.fields.email)\r\n .then((response : any) => {\r\n this.setState({errMsg : response.msg, loading:false});\r\n }).catch(error => {\r\n console.error(\"Error is email password...,\" + error);\r\n })\r\n } \r\n }\r\n handleClick() {\r\n this.props.history.push(\"/\");\r\n }\r\n \r\n render() {\r\n const { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"10% 0 19% 0\"\r\n };\r\n const changebgColor = {\r\n backgroundColor:\"rgba(203, 203, 210, 0.15)\"\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

E-mail My Password

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
Type your e-mail address in the blank above and click \"E-Mail It.\" If there is an e-mail address match for your login in our records, we will e-mail your login information to you.
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n \r\n","import React, { Component ,useState, useEffect, useRef} from \"react\";\r\nimport {Row,Col,Container,Card, Button, NavLink, Form, Alert} from \"../../../../node_modules/react-bootstrap\";\r\nimport {LoginNavBar} from '../../CustomComponents/NabvBar/LoginNavBar'\r\nimport {FormInputs} from '../../CustomComponents/FormInput'\r\nimport {History, LocationState} from \"History\";\r\nimport {PasswordResetController} from \"../../../Controllers/PasswordResetController\"\r\nimport {ErrorBoundary} from \"../../../Components/View/ErrorBoundary/ErrorBoundary\";\r\nimport { ResetPasswordParameter, Istate } from \"../../../Model/PasswordReset\"; \r\nimport '../../../assets/css/Style.css'\r\nimport {alert} from 'react-bootstrap-confirmation';\r\n\r\nexport class ChangePassword extends Component {\r\n oPwdRef:any;\r\n nPwdRef:any;\r\n cPwdRef:any;\r\n redBorder:string;\r\n defaultBorder:string;\r\n constructor(props:ResetPasswordParameter){\r\n super(props)\r\n //Change Border color Red, if alert triggered in onBlur Event\r\n this.redBorder = \"1px solid #DC3545\";\r\n this.defaultBorder = \"1px solid #E3E3E3\";\r\n this.state={\r\n fields: { opwd:'',npwd:'',cpwd:''},\r\n errors: { opwd:'',npwd:'',cpwd:'',fRef:'' },\r\n errMsg:\"\",\r\n loginFailed: 0,\r\n loading: false,\r\n }\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this); \r\n this.oPwdRef = React.createRef(); \r\n this.nPwdRef = React.createRef();\r\n this.cPwdRef = React.createRef();\r\n }\r\n\r\n componentDidMount(){\r\n //this.oPwdRef.current.focus(); \r\n this.setState({errMsg : \"Your Password Has been Expired.Its Time To Change\"}); \r\n }\r\n \r\n\r\n handleChange (e:any) {\r\n let fields = this.state.fields;\r\n fields[e.currentTarget.name] = e.currentTarget.value.trim();\r\n this.setState({\r\n fields\r\n })\r\n }\r\n\r\n handleBlur (e:any) { \r\n\t\t \r\n const target = e.currentTarget;\r\n target.style.border=this.defaultBorder;\r\n if(e.currentTarget.name === \"opwd\"){\r\n if(e.currentTarget.value != sessionStorage.getItem(\"Password\")){\r\n alert(\"Old password Incorrect\") \r\n target.style.border=this.redBorder;\r\n }\r\n }\r\n if(e.currentTarget.name === \"npwd\"){\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if (e.currentTarget.value === \"\")\r\n {\r\n alert(\"Enter The New Password\")\r\n }\r\n if((e.currentTarget.value).length < 8){\r\n alert(\"Password should contain atleast 8 character\") \r\n target.style.border=this.redBorder; \r\n }\r\n else if(!regexUpper.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one upper case\") \r\n target.style.border=this.redBorder; \r\n }\r\n else if(!regexLower.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one lower case\")\r\n target.style.border=this.redBorder; \r\n }\r\n else if(!regexNum.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one number\")\r\n target.style.border=this.redBorder; \r\n }\r\n else if(!regexSpl.test(e.currentTarget.value)){\r\n alert(\"Password should contain atleast one special character\")\r\n target.style.border=this.redBorder; \r\n } \r\n else if(e.currentTarget.value === sessionStorage.getItem(\"Password\"))\r\n {\r\n \talert(\"Old and New Password are need to be Different\");\r\n target.style.border=this.redBorder; \r\n } \r\n } \r\n if(e.currentTarget.name === \"cpwd\"){\r\n if(e.currentTarget.value != this.state.fields.npwd){\r\n alert(\"Confirm Password Not matched with New Password\") \r\n\t\t\t target.style.border=this.redBorder;\r\n }\r\n }\r\n }\r\n\r\n onSubmit = (e:any) => {\r\n \r\n let errors = this.state.errors;\r\n errors[\"opwd\"] = \"\";\r\n errors[\"npwd\"] = \"\";\r\n errors[\"cpwd\"] = \"\";\r\n errors[\"fRef\"] = \"\";\r\n this.setState({ errors });\r\n this.setState({ loading: true });\r\n e.preventDefault();\r\n if (this.validateForm()) {\r\n //if(this.state.fields.opwd === sessionStorage.getItem(\"Password\"))\r\n //{\r\n let passwordResetController = new PasswordResetController();\r\n passwordResetController.checkUserPreviousPassword(sessionStorage.getItem(\"uid\")!,this.state.fields.npwd)\r\n .then((response : any) => {\r\n if (response.success){\r\n alert(\"Password has been changed successfully\")\r\n this.props.history.push('/login'); \r\n }\r\n else {\r\n this.setState({\r\n errMsg : response.msg, \r\n loading: false\r\n });\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n //}\r\n //else\r\n //{\r\n // this.setState({errMsg : \"Old Password Incorrect\"})\r\n // this.setState({ loading: false });\r\n //} \r\n }\r\n /*else\r\n {\r\n if (errors[\"fRef\"] !=\"\")\r\n {\r\n if(errors[\"fRef\"] == \"npwd\")\r\n {\r\n this.nPwdRef.current.focus();\r\n }\r\n else if(errors[\"fRef\"] == \"cpwd\")\r\n {\r\n this.cPwdRef.current.focus();\r\n }\r\n }\r\n } */\r\n }\r\n\r\n clearError()\r\n {\r\n let errors = this.state.errors;\r\n errors[\"opwd\"] = \"\";\r\n errors[\"npwd\"] = \"\";\r\n errors[\"cpwd\"] = \"\"; \r\n errors[\"state\"] = \"\";\r\n this.setState({errMsg : \"\"})\r\n this.setState({\r\n errors\r\n });\r\n }\r\n\r\n validateForm(){\r\n this.clearError();\r\n \r\n let fields = this.state.fields; \r\n let errors = this.state.errors;\r\n let formIsValid = true;\r\n if (!fields[\"opwd\"]) {\r\n formIsValid = false;\r\n errors[\"opwd\"] = \"Please Enter Old Password\"; \r\n }\r\n if (!fields[\"npwd\"]) {\r\n formIsValid = false;\r\n errors[\"npwd\"] = \"Please Enter New Password\"; \r\n }\r\n if (!fields[\"cpwd\"]) {\r\n formIsValid = false;\r\n errors[\"cpwd\"] = \"Please Enter Confirm Password\"; \r\n }\r\n if (formIsValid && fields[\"opwd\"] !== \"\") \r\n {\r\n if(fields[\"opwd\"] != sessionStorage.getItem(\"Password\")){\r\n alert(\"Old password Incorrect\")\r\n formIsValid = false; \r\n }\r\n }\r\n if(formIsValid && fields[\"npwd\"] !== \"\"){\r\n var regexSpl = /[!`@#$%^&+\\=*?_~]/g;\r\n var regexUpper = /[A-Z]/g;\r\n var regexLower = /[a-z]/g;\r\n var regexNum = /[0-9]/g;\r\n if((fields[\"npwd\"]).length < 8){\r\n //errors[\"npwd\"] = \"Password should contain atleast 8 character\" \r\n alert(\"Password should contain atleast one upper case\");\r\n formIsValid = false; \r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexUpper.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one upper case\" \r\n alert(\"Password should contain atleast one lower case\");\r\n formIsValid = false; \r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexLower.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one lower case\"\r\n alert(\"Password should contain atleast one number\");\r\n formIsValid = false;\r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexNum.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one number\" \r\n alert(\"Password should contain atleast one number\");\r\n formIsValid = false;\r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n else if(!regexSpl.test(fields[\"npwd\"])){\r\n //errors[\"npwd\"] = \"Password should contain atleast one special character\" \r\n alert(\"Confirm Password Not matched with New Password\");\r\n formIsValid = false;\r\n //errors[\"fRef\"] = \"npwd\" \r\n } \r\n }\r\n if(formIsValid && fields[\"npwd\"] !== fields[\"cpwd\"])\r\n {\r\n \talert(\"Confirm Password Not matched with New Password\");\r\n formIsValid = false;\r\n //errors[\"cpwd\"] = \"Confirm Password Not matched with New Password\"; \r\n //errors[\"fRef\"] = \"cpwd\" \r\n }\r\n if(formIsValid && fields[\"npwd\"] === sessionStorage.getItem(\"Password\"))\r\n {\r\n \talert(\"Old and New Password are need to be Different\");\r\n formIsValid = false;\r\n /*errors[\"cpwd\"] = \"Old and New Password are need to be Different\"; */\r\n //this.setState({errMsg : \"Old and New Password are need to be Different\"})\r\n //errors[\"fRef\"] = \"npwd\" \r\n }\r\n \r\n if(!formIsValid)\r\n {\r\n this.setState({ loading: false });\r\n }\r\n this.setState({\r\n errors\r\n });\r\n return formIsValid;\r\n }\r\n\r\n ChkPreviousPassword()\r\n {\r\n let formIsValid = true;\r\n let fields = this.state.fields; \r\n let errors = this.state.errors;\r\n let passwordResetController = new PasswordResetController();\r\n return passwordResetController.checkUserPreviousPassword(sessionStorage.getItem(\"uid\")!,this.state.fields.npwd)\r\n .then((response : any) => {\r\n const parsedResponse = JSON.parse(response);\r\n if (response.success){\r\n formIsValid = true;\r\n return formIsValid;\r\n }\r\n else {\r\n this.setState({ loading: false });\r\n this.setState({errMsg : \"Password should not be similar to the last 13 passwords\"})\r\n formIsValid = false;\r\n return formIsValid;\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n }) \r\n }\r\n\r\n DisplayChangePasswordButton =()=> {\r\n const {loading} = this.state; \r\n return \r\n }\r\n\r\n\r\n render() {\r\n const { loading } = this.state;\r\n const alignCardCenter = {\r\n \"margin\": \"10% 0 19% 0\"\r\n };\r\n const changebgColor = {\r\n backgroundColor:\"rgba(203, 203, 210, 0.15)\"\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

Change Password

\r\n
\r\n {this.state.errMsg}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Password Policy:
Minimum of 8 character and max of 15.
At least one upper case, one lower case and one number.
At least one special character (~, `, !, @, #, $, %, ^, &, *, (, ), +, =, \\).
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \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 ReactDOM from 'react-dom';\nimport { BrowserRouter, Route, Switch, Redirect } from \"react-router-dom\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\n//import \"./assets/css/animate.min.css\";\nimport \"./assets/sass/eGratis-react.scss?v=1.3.0\";\n//import \"./assets/css/demo.css\";\n//import \"./assets/css/pe-icon-7-stroke.css\";\n//import App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport {Login} from '../src/Components/View/Login/Login'\nimport {AdminLayout} from '../src/Components/View/Layout/AdminLayout';\nimport {CreateProfile} from '../src/Components/View/Register/CreateProfile';\nimport {EmailPassword} from '../src/Components/View/EmailPassword/EmailPassword'; \nimport {ChangePassword} from '../src/Components/View/PasswordReset/PasswordResetLogin';\n\nReactDOM.render(\n \n \n } />\n } />\n \n } />\n } />\n  } />\n  } />\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"],"sourceRoot":""}